Tools available through the CloudBees CI MCP Router fall into two categories: a small set of tools specific to the CloudBees CI MCP Router itself, and a larger set forwarded dynamically from the MCP Server plugin running on each controller you can access.
|
Your MCP agent lists CloudBees CI MCP Router-specific tools and tools forwarded from the MCP Server plugin together, with no distinction between them. For the tools forwarded from the MCP Server plugin, refer to MCP Server plugin - Available Tools. |
How tools work
When you ask your MCP agent a question, it determines which tools to call and with what parameters. You do not need to know the exact tool names. Ask in natural language.
For example:
- "List the controllers I can access"
-
MCP agent calls
listControllers. - "How many jobs are there?"
-
MCP agent calls
getJobs. - "Who am I?"
-
MCP agent calls
whoAmI, which reports the identity the CloudBees CI MCP Router is using for each controller it reaches. This can be useful for troubleshooting the OAuth or token authentication chain.
CloudBees CI MCP Router-specific tools
These tools are unique to the CloudBees CI MCP Router and are not part of the MCP Server plugin.
listControllers-
Lists the controllers this operations center manages, so you can map a deployment’s topology and check controller availability before calling other tools. For each controller, it returns its name and full path, display name and description, its page in the operations center UI (
url), its own base URL (endpoint), its last known Jenkins version, its lifecycle state, and a status of online, offline, or hibernated. It accepts an optionalnamesarray to filter by exact short name or full path (for example,ctrl-aorteam-a/ctrl-a). A folder name alone matches nothing, and omitting the array returns every accessible controller.
Tool access and permissions
Access to CloudBees CI MCP Router tools depends on which controllers your credentials grant access to. When a call targets multiple controllers, each controller succeeds or fails independently, so a controller you do not have permission to access returns its own access-denied result without affecting the other controllers.