ARM MCP Server
The ARM MCP Server provides a Model Context Protocol interface to AutoRABIT ARM Developer APIs with 27 dedicated tools for CI/CD, deployment reporting, and SIEM audit log management.
CI Jobs: List, trigger, poll, abort, and rollback standard CI jobs and nCino-specific CI jobs. Retrieve history, latest results, build summaries, and update baseline revisions. Includes quick deploy and rollback operations.
Deployment Reporting: List deployments with filters (status, date range, destination org), retrieve details, component-level changes, Jira story traceability, promotion logs, and Apex test/code coverage.
SIEM Audit Logs: Retrieve CEF-formatted audit logs with event type and time filters, download ZIP archives (max 90 days), and list known event types locally.
Generic API Tool (optional): Access unmodeled endpoints via a single generic tool, disabled by default.
Security: Credentials from environment variables, header restrictions, timeout/retry configuration, and secure file downloads.
Additional resources: internal documentation links and guided prompts for common workflows.
Allows retrieval of Jira stories and commit traceability associated with deployments in AutoRABIT ARM.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ARM MCP Serverlist my CI jobs"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ARM MCP Server
Model Context Protocol (MCP) server for AutoRABIT ARM Developer APIs. It provides 27 dedicated tools for CI Jobs, nCino CI Jobs, deployment reporting, and SIEM audit logs, plus resources and guided prompts for common workflows.
Requirements
Node.js 22 or newer
An AutoRABIT ARM API token
A separate audit API token only when using SIEM audit tools
Related MCP server: arx-mcp-server
Quick Start
git clone https://github.com/AutoRABIT-AI/ARM-MCP-Server.git
cd ARM-MCP-Server
npm ci
npm run buildSet the required environment variables:
export ARM_BASE_URL="https://pilot.autorabit.com"
export ARM_API_TOKEN="YOUR_ARM_API_TOKEN"Run the stdio server:
npm startAfter the package is published to npm, it can also be run with:
npx -y @autorabit-ai/arm-mcp-serverQuick Start Cookbooks
Connect the server to Codex or Claude Code, then run copy-paste-ready workflows for PR readiness, daily deployment reporting, CI failure triage, nCino build health, audit review, and controlled build/deploy actions:
MCP Client Configuration
Use the built server from a source checkout:
{
"mcpServers": {
"autorabit-arm": {
"command": "node",
"args": ["/absolute/path/to/ARM-MCP-Server/dist/index.js"],
"env": {
"ARM_BASE_URL": "https://pilot.autorabit.com",
"ARM_API_TOKEN": "YOUR_ARM_API_TOKEN"
}
}
}
}For npm-based execution, use npx as the command and ["-y", "@autorabit-ai/arm-mcp-server"] as the arguments.
Configuration
Variable | Required | Default | Purpose |
| For ARM tools | None | ARM tenant URL. HTTPS is required for non-loopback hosts. |
| For ARM tools | None | Token sent in the ARM |
| No |
| ARM request timeout from 1,000 to 300,000 ms. |
| No |
| Read-request retry count from 0 to 10. |
| No |
| Exposes the generic |
| No |
| Allows HTTP for non-loopback ARM hosts. Intended only for controlled development. |
| For audit tools | None | Audit API host. |
| For audit tools | None | Bearer token for the audit API. |
| No |
| Audit request timeout from 1,000 to 300,000 ms. |
| No |
| Audit read-request retry count from 0 to 10. |
| No | OS temp directory | Local destination for audit ZIP downloads. |
| No |
| Maximum accepted audit ZIP size. |
Credentials are read from the process environment and are never accepted as tool arguments. Custom request headers cannot override token, authorization, host, or content-length.
Tools
CI Jobs v1
Tool | ARM endpoint |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CI read tools send path and query parameters without GET request bodies. Mutation tools do not retry automatically.
nCino CI Jobs v1
Tool | ARM endpoint |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Trigger and monitor an nCino build:
{
"name": "arm_ncino_trigger_build",
"arguments": {
"jobName": "nCino Feature Migration",
"title": "Release 26.3",
"deploy": true,
"commitFeature": false,
"note": "Triggered from MCP",
"rollbackEnabled": true,
"deployedSFOrg": "Production",
"projectType": "SalesForceFeature"
}
}{
"name": "arm_ncino_poll_build_status",
"arguments": {
"jobName": "nCino Feature Migration",
"buildNumber": 42
}
}Deployment Reporting v1
Tool | ARM endpoint |
|
|
|
|
|
|
|
|
|
|
|
|
{
"name": "arm_list_deployments",
"arguments": {
"status": "Successful",
"fromDate": "2026-07-01",
"toDate": "2026-07-31",
"destSfOrg": "production@example.com",
"limit": 25
}
}SIEM Audit Logs
Tool | Audit endpoint |
|
|
|
|
| Local reference, no API call |
Audit downloads enforce a configurable byte limit, write files with owner-only permissions, and return an MCP resource_link to the local ZIP. Download ranges cannot exceed 90 days.
Optional Generic Tool
arm_call_api supports additional same-origin /api/ endpoints. It is hidden and blocked by default because it expands the server's action surface. Set ARM_ENABLE_GENERIC_TOOL=true only when the MCP client needs unmodeled endpoints.
Resources
arm://docs/overviewarm://docs/cijobs-v1arm://docs/ncino-cijobs-v1arm://docs/deployments-v1arm://docs/autharm://docs/audit-logs
Prompts
arm_quick_deploy_guidearm_rollback_guidearm_trigger_build_guidearm_poll_status_guidearm_deployment_report_guidearm_ncino_build_and_monitor_guidearm_ncino_build_report_guidearm_audit_logs_guide
Docker
docker build -t arm-mcp-server .
docker run -i --rm \
-e ARM_BASE_URL \
-e ARM_API_TOKEN \
arm-mcp-serverFor Docker Compose:
cp .env.example .env
docker compose run --rm arm-mcp-serverDevelopment
npm ci
npm run typecheck
npm test
npm audit
npm pack --dry-runContract tests launch the compiled MCP server over stdio and verify tool discovery, resources, prompts, authentication headers, HTTP methods, paths, payloads, error signaling, and security controls against a local mock server.
See CONTRIBUTING.md for contribution requirements, SECURITY.md for private vulnerability reporting, and SUPPORT.md for support channels.
API Sources
License
Available Tools
21 toolsarm_abort_ci_jobB
PUT /api/cijobs/v1/abort/{ciJobName}/{buildNumber?}. Aborts ongoing CI job.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | CI job build label | |
| headers | No | Optional extra headers | |
| ciJobName | Yes | Case-sensitive CI job name | |
| buildNumber | No | Optional build number. If omitted, latest build is used. | |
| projectName | Yes | Case-sensitive CI job project name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description bears full responsibility. It only states the action without disclosing that aborting is likely irreversible, may require specific permissions, or that the buildNumber parameter defaults to the latest build. The word 'ongoing' hints it only affects running jobs, but side effects remain unclear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with the endpoint and action, efficiently front-loaded. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite clear purpose and schema-documented parameters, the description lacks essential context for a mutating/destructive operation: no warning about irreversibility, no behavior when the job is not running, and no relationship to other CI tools. With no annotations or output schema, this is insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All five parameters are documented in the schema with 100% coverage. The description adds no extra semantic value beyond the endpoint pattern, which mirrors the parameter names. Since schema coverage is high, the baseline is 3, and no additional context is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool aborts an ongoing CI job, using a specific verb and resource. It distinguishes from sibling tools like arm_trigger_build (creates builds) and arm_poll_job_status (checks status). The endpoint format also clarifies the operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used to stop a running CI job, but provides no explicit guidance on when to choose it over alternatives, nor any exclusion scenarios (e.g., if the job is already finished). No mention of when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arm_audit_download_logsA
GET /logs/audit_logs/download. Downloads SIEM audit logs as a ZIP file for a date range (max 90 days). Returns the constructed download URL and request metadata.
| Name | Required | Description | Default |
|---|---|---|---|
| endTime | No | End date in ISO 8601 format (YYYY-MM-DDThh:mm:ss). Optional; defaults to current day. Range must be within 90 days of startTime. | |
| startTime | Yes | Start date in ISO 8601 format (YYYY-MM-DDThh:mm:ss). Required. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must carry the full burden. It discloses a 90-day max range and that it returns a download URL and metadata. However, the phrasing creates ambiguity: 'Downloads... ZIP file' versus 'Returns the constructed download URL' could mislead about the actual operation. It does not clarify async behavior or required authentication.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the endpoint and then the operation. Every sentence contributes: it states the verb, resource, format, date range limit, and response contents. No unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description should explain return values more thoroughly. It states 'Returns the constructed download URL and request metadata' but leaves metadata structure vague and does not clarify the practical flow (e.g., whether the tool triggers a download or just creates a URL). The tool has only 2 params, but the behavioral ambiguity warrants more context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters already described including format and range constraints. The description's 'max 90 days' repeats what the schema's endTime description already states, adding no new meaning. Baseline of 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Downloads SIEM audit logs as a ZIP file for a date range (max 90 days).' It also specifies the HTTP endpoint. The ZIP format distinguishes it from the sibling arm_audit_get_logs, providing a clear purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when a ZIP download of audit logs is needed within a date range, but it does not explicitly mention when to use this tool over alternatives like arm_audit_get_logs, nor does it provide exclusion criteria or alternative suggestions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arm_audit_get_logsA
GET /logs/audit_logs. Retrieves SIEM audit logs from AutoRABIT with optional filters. Returns CEF-formatted log entries.
| Name | Required | Description | Default |
|---|---|---|---|
| eventType | No | Comma-separated event types to filter. Valid values: LOGIN, DEPLOYMENT, CIBUILD, DATALOADER, FEATUREDEPLOYMENT, DATARETRIEVALMIGRATION, FEATURECREATION, DATALOADERPRO, DATALOADERCONFIGURATION, TESTENVIRONMENTSETUP, EZCOMMIT, MERGE. If omitted, all events are returned. | |
| startTime | No | Start time in ISO 8601 format (YYYY-MM-DDThh:mm:ss). Defaults to current day if omitted. | |
| maxResults | No | Maximum number of results to return. Default is 1000. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that the tool returns CEF-formatted log entries and that filters are optional, but does not mention pagination, rate limits, or authentication. This adds some behavioral context beyond the schema, but is not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, using three short segments: HTTP method/path, a clear action verb, and the return format. Every sentence earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple retrieval nature, 3 optional parameters fully documented in the schema, and no output schema, the description provides sufficient context including return format. It could mention relationships with sibling tools, but the essential details are present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of the parameters with descriptions, valid values, and defaults. The description's 'optional filters' references the eventType parameter, but adds no meaning beyond what the schema already provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves SIEM audit logs from AutoRABIT, specifying the HTTP endpoint and return format (CEF). This distinguishes it from sibling tools like arm_audit_download_logs (which likely downloads files) and arm_audit_list_event_types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates usage for retrieving audit logs with optional filters, providing clear context. It does not explicitly state when not to use it or mention alternatives, but the context is sufficient for most cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arm_audit_list_event_typesA
Returns the 12 known ARM SIEM audit event types with their associated modules and descriptions. No API call is made; this is a local reference.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that no API call is made, which is a significant behavioral trait distinguishing it from likely network-bound siblings. It also specifies exactly 12 event types and that modules and descriptions are included, providing clarity about the output scope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, both purposeful. The first states the core function, the second clarifies a key behavior (local reference). No wasted words or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters, no output schema, and a simple static reference purpose, the description is complete. It tells the user exactly what to expect (12 items with modules and descriptions) and that no network call is made. This suffices for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and schema coverage is 100%, so the baseline is 4. The description adds value by explaining what the returned data includes (types, modules, descriptions), which compensates for the lack of an output schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns a specific set of data (12 ARM SIEM audit event types) with associated modules and descriptions. It distinguishes from sibling tools like arm_audit_get_logs and arm_audit_download_logs by focusing on the reference list rather than log retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by noting 'No API call is made; this is a local reference,' suggesting it's a quick lookup. However, it does not explicitly state when to use this tool versus alternatives like arm_audit_get_logs, nor does it mention exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arm_call_apiB
Generic ARM API request tool for additional endpoints not yet modeled as dedicated tools.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | ||
| path | Yes | Endpoint path starting with /api/... | |
| query | No | ||
| method | Yes | ||
| headers | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only says 'Generic ARM API request tool' without detailing authentication requirements, rate limiting, error handling, response format, or side effects. Since it is a generic passthrough, some behavior is implied, but the lack of any explicit behavioral information is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The entire description is a single, front-loaded sentence that directly states the tool's purpose. It avoids unnecessary words and is appropriately sized for a generic fallback tool. However, it is so brief that it leaves important details on the table, so it earns a 4 rather than a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's generic nature (arbitrary endpoints, methods, bodies) and the sparse schema coverage with no output schema, the description is not complete enough. It does not explain how responses are returned, how errors are represented, or how query/body/headers should be structured. This is a critical gap for an agent needing to invoke the tool correctly across diverse ARM API endpoints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides no parameter information. The input schema has only 20% coverage (path has a description, method has an enum), leaving body, query, and headers undocumented. The description does not compensate for this low coverage, so the agent must infer parameter semantics from names alone, which is insufficient for robust tool selection and invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a generic ARM API request tool for endpoints not yet modeled as dedicated tools. It specifies the action (making API requests) and the resource (ARM API), and explicitly distinguishes its scope from the many sibling tools that handle specific endpoints, making it clear this is the catch-all fallback.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states when to use the tool: for additional endpoints not yet modeled as dedicated tools. This implies it should be used only when no sibling tool applies, providing clear context. It does not explicitly list alternatives or when-not-to-use cases, but the sibling tool set makes the distinction obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arm_ci_job_historyC
GET /api/cijobs/v1/history/{ciJobName}. Retrieves CI job build history.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End index for history range. Defaults to -1 (all). | |
| from | No | Start index for history range. Defaults to -1 (all). | |
| title | Yes | CI job build label | |
| headers | No | Optional extra headers | |
| ciJobName | Yes | Case-sensitive CI job name | |
| projectName | Yes | Case-sensitive CI job project name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. While 'Retrieves' implies a read operation, the description does not mention potential safety, pagination behavior, default ranges, or what response format to expect. It adds minimal context beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that includes the HTTP method, endpoint, and purpose. It is efficient and front-loaded, but it is slightly under-specified, which prevents a 5. Still, every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description should explain the return value or response structure, but it simply says 'build history.' It also lacks usage guidance and context about the range parameters. This makes it incomplete for an agent trying to understand what the tool returns and when to use it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all six parameters. The description adds no additional parameter meaning beyond the schema, so a baseline score of 3 applies. It does not clarify the relationship between from/to or the meaning of -1 defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool retrieves CI job build history, using a GET endpoint with a path parameter. It distinguishes itself from sibling tools like arm_list_ci_jobs by focusing on history rather than job listing, though it does not explicitly name alternatives. The verb 'Retrieves' is specific and the resource is clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as arm_latest_results or arm_poll_job_status. It lacks any context about scenarios where history retrieval is appropriate or prerequisites like needing a job name and project name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arm_get_deploymentA
GET /rabit/api/deployments/v1/{label}. Retrieves deployment-level details for a deployment label.
| Name | Required | Description | Default |
|---|---|---|---|
| label | Yes | Deployment label name | |
| headers | No | Optional extra headers |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does reveal that this is a GET (read-only) operation via the HTTP method and 'Retrieves', which signals a non-destructive call. However, it does not mention response format, error behavior, authentication needs, or rate limits, though these may be less critical for a simple fetch.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that includes the HTTP method and path, making it immediately scannable. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read operation with one required parameter and a well-described schema, the description is mostly sufficient. It lacks an explicit return-value description and does not enumerate what 'deployment-level details' includes, but the endpoint path and sibling names provide enough context for an agent to select the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already has descriptions for both parameters (100% coverage). The description adds value by showing that 'label' is a path parameter in the URL template, which is information not present in the schema. It does not elaborate on headers, but the schema covers that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Retrieves'), a specific resource ('deployment-level details for a deployment label'), and includes the REST endpoint. This clearly distinguishes it from sibling tools like arm_list_deployments and arm_get_deployment_components.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or alternative comparisons are provided; the usage is implied by the endpoint and the phrase 'deployment-level details'. There are no exclusions or prerequisites, so the guidance is minimal but not misleading.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arm_get_deployment_componentsA
GET /rabit/api/deployments/v1/{label}/components. Retrieves component-level changes for a deployment.
| Name | Required | Description | Default |
|---|---|---|---|
| label | Yes | Deployment label name | |
| headers | No | Optional extra headers |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses only that it is an HTTP GET (implying read-only) and that it retrieves components. There is no mention of response format, pagination, authentication, or error behavior. This is minimal beyond the HTTP method.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the endpoint and then states the purpose. It is appropriately sized, with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with only two parameters and no output schema. However, 'component-level changes' is vague and does not clarify what the response contains. The description is adequate for basic understanding but lacks detail about return structure or behavior, which is needed since no output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides descriptions for both parameters (label and headers), giving 100% coverage. The description does not add any parameter-specific meaning beyond what the schema already offers, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'retrieves' and the resource 'component-level changes for a deployment'. It includes the HTTP endpoint, which adds specificity, and distinguishes it from sibling tools like arm_get_deployment and arm_get_deployment_stories.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when one needs component-level changes for a deployment, but it does not explicitly state when to use this tool versus alternatives, nor does it mention any exclusions or alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arm_get_deployment_promotion_logA
GET /rabit/api/deployments/v1/{label}/logs/{iterationNumber}. Retrieves the plain-text promotion log for a deployment iteration.
| Name | Required | Description | Default |
|---|---|---|---|
| label | Yes | Deployment label name | |
| headers | No | Optional extra headers | |
| iterationNumber | Yes | Deployment iteration number |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral transparency. It indicates a read-only operation through 'GET' and 'Retrieves', and specifies the output type as 'plain-text'. However, it does not disclose potential error conditions, authentication requirements, or any side effects beyond the obvious read nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, information-dense sentence. It includes the endpoint path for clarity and states the purpose in a straightforward manner. No unnecessary words or repetition, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (a read-only GET request with two required path parameters and one optional header), the description is adequate but minimal. It states the return format as plain-text but does not explain what the log contains, error handling, or any prerequisites. There is no output schema, so the description should carry more weight in explaining the response, but it only offers a brief mention of 'plain-text'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with descriptions for label and iterationNumber. The description text does not add any additional meaning beyond the schema; it references the path parameters but does not elaborate on formats, constraints, or examples. The optional headers parameter is entirely absent from the description. Thus, it meets the baseline for high schema coverage but adds no extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Retrieves the plain-text promotion log for a deployment iteration.' The verb 'Retrieves' and resource 'promotion log' are specific, and the endpoint path further clarifies the resource. It distinguishes from sibling tools like arm_get_deployment_components or arm_audit_get_logs by focusing on the promotion log.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention any prerequisites, exclusions, or relationship to sibling tools. The user must infer usage solely from the tool name and endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arm_get_deployment_storiesA
GET /rabit/api/deployments/v1/{label}/stories. Retrieves Jira stories and commit traceability for a deployment, optionally scoped to an iteration.
| Name | Required | Description | Default |
|---|---|---|---|
| label | Yes | Deployment label name | |
| headers | No | Optional extra headers | |
| iterationNumber | No | Optional deployment iteration number |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It mentions the HTTP GET method (implying read-only) and the optional iteration scoping, but does not disclose potential response format, pagination, or permission requirements. It adds some context but is not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact: two short sentences, front-loaded with the endpoint and then the purpose. Every word earns its place, with no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only GET with full parameter schema coverage, the description covers the essential purpose and optional scoping. It does not describe the return structure (e.g., list shape), but given no output schema and low complexity, this is a minor gap. It is adequate for an agent to select and call the tool confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds a small nuance by linking the iterationNumber parameter to the 'optionally scoped to an iteration' phrase, but this is largely redundant with the schema's 'Optional deployment iteration number'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Retrieves') and a clear resource ('Jira stories and commit traceability for a deployment'), distinguishing it from sibling tools like arm_get_deployment_components or arm_get_deployment_test_coverage. The optional iteration scoping further clarifies its scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool (when deployment stories/traceability are needed) but does not explicitly state when not to use it or mention alternative tools. The sibling list provides context but the description itself offers no exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arm_get_deployment_test_coverageA
GET /rabit/api/deployments/v1/{label}/coverage/{iterationNumber}. Retrieves Apex test and code coverage details for a deployment iteration.
| Name | Required | Description | Default |
|---|---|---|---|
| label | Yes | Deployment label name | |
| headers | No | Optional extra headers | |
| iterationNumber | Yes | Deployment iteration number |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description includes 'GET' and 'Retrieves', implying a read-only operation. However, with no annotations, it does not explicitly state side-effect-freedom, authentication needs, or response behavior. It adds minimal context beyond the name and endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that directly states the HTTP method, endpoint, and purpose. Every element adds value with no redundant wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple GET retrieval with fully described parameters, the description adequately conveys the tool's purpose and return type at a high level. Although no output schema exists, the phrase 'Apex test and code coverage details' gives sufficient orientation for an agent to select and invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with both required parameters fully described in the schema. The description's endpoint template ({label}, {iterationNumber}) adds no new meaning beyond what the schema provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the resource (Apex test and code coverage details) and the action (Retrieves) for a deployment iteration. The endpoint template further specifies the resource. It is distinct from sibling tools like arm_get_deployment_components, which focus on other aspects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when needing test coverage details for a deployment iteration. While it doesn't explicitly name alternatives or exclusions, the specialized purpose is clear enough to guide tool selection among the sibling getters.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arm_latest_resultsC
GET /api/cijobs/v1/latestresults/{ciJobName}. Retrieves detailed latest results for a CI job.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | CI job build label | |
| headers | No | Optional extra headers | |
| ciJobName | Yes | Case-sensitive CI job name | |
| projectName | Yes | Case-sensitive CI job project name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It does indicate a read-only GET operation, but lacks details on error behavior, response structure, or any special conditions. This is minimal transparency for a tool with no other safety signals.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the HTTP method and path, followed by a clear purpose statement. Every word contributes meaning with no unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and ambiguous sibling tools, the description is incomplete. It does not clarify what 'detailed latest results' includes, what the output format is, or how the required parameters interact. The agent would likely need to infer usage from the schema and sibling names alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides descriptions for all parameters (100% coverage), so the description adds little beyond the path variable ciJobName. The tool description does not explain the relationship between required parameters like title and projectName, but the schema suffices as a baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves detailed latest results for a CI job, with the HTTP method and path. However, it does not explicitly differentiate it from sibling tools like arm_ci_job_history or arm_poll_job_status, which may also involve retrieving CI job data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It simply states what it does without mentioning prerequisites, exclusions, or comparisons to other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arm_list_ci_jobsC
GET /api/cijobs/v1/listcijobs. Lists all CI jobs configured in ARM.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | CI job build label | |
| headers | No | Optional extra headers | |
| projectName | Yes | Case-sensitive CI job project name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for transparency. It mentions the HTTP GET method (implying read-only) but does not disclose authentication needs, pagination, or how the required params affect behavior. The description's claim of listing 'all' jobs conflicts with the required projectName and title, which is a transparency gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise: two sentences, no fluff, and it front-loads the HTTP endpoint. It is appropriately sized for a straightforward list tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description leaves significant gaps. It does not explain return format, parameter interplay, or usage context. The required projectName and title are not mentioned in the description, despite being required, making the tool less complete than it should be.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents each parameter. The description adds no extra meaning beyond what the schema provides. Baseline 3 applies because the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool's purpose clearly: 'Lists all CI jobs configured in ARM.' This is a specific verb+resource and distinguishes it from sibling tools like arm_ci_job_history or arm_trigger_build, though it does not explicitly mention alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives like arm_ci_job_history or arm_latest_results. The description only states what it does, not when it should be chosen or what prerequisites exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arm_list_deploymentsA
GET /rabit/api/deployments/v1/list. Lists deployments with optional status, date range, label, destination org, and limit filters.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Optional maximum number of deployments to return. Maximum 100. | |
| status | No | Optional deployment status filter | |
| toDate | No | Optional end date filter in YYYY-MM-DD format | |
| headers | No | Optional extra headers | |
| fromDate | No | Optional start date filter in YYYY-MM-DD format | |
| destSfOrg | No | Optional destination Salesforce org filter | |
| labelName | No | Optional deployment label name filter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden of behavioral disclosure. It reveals that this is a GET request (read-only) and lists deployments, but it does not describe response structure, pagination, ordering, or any side effects. This is a significant gap for a tool with no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that front-loads the HTTP method and endpoint, then succinctly lists capabilities. There is no redundancy or extraneous content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description is too sparse. It fails to explain what the returned list looks like, whether results are paginated, what fields are present, or any usage caveats. For a tool with 7 optional parameters, this is insufficient for an agent to fully understand the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameter descriptions already provide full semantics. The tool description adds no new information beyond summarizing the filter types, which does not go beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'Lists deployments' with specific filter types (status, date range, label, destination org, limit). This clearly identifies the tool's function and distinguishes it from sibling tools like arm_get_deployment, which would fetch a single deployment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool (when you need to list deployments using optional filters) and mentions the available filters. However, it does not explicitly contrast with alternatives or state what not to use it for, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arm_poll_job_statusA
GET /api/cijobs/v1/pollstatus/{ciJobName}/{buildNumber?}. Polls the current status of a CI job build.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | CI job build label | |
| headers | No | Optional extra headers | |
| ciJobName | Yes | Case-sensitive CI job name | |
| buildNumber | No | Optional build number. If omitted, latest build is used. | |
| projectName | Yes | Case-sensitive CI job project name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavior. The 'GET' method explicitly signals a read-only, non-destructive operation, which is a valuable behavioral trait. However, it does not mention authentication, rate limits, or response format details, but the GET method and 'poll' wording provide sufficient transparency for a safe read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence preceded by the endpoint path. It is front-loaded with the most important information (HTTP method and resource) and contains no filler. Every word contributes to understanding the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, but the description does not explain what the response contains beyond 'current status'. It fails to describe the return value's format (e.g., a string, enum, or object), which is a significant gap given the absence of both annotations and an output schema. The parameter schema is complete, but the lack of response details makes the description incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides descriptions for all five parameters, achieving 100% coverage. The description adds no additional parameter meaning beyond indicating that `buildNumber` is optional in the endpoint path, which the schema also states. Therefore, it meets the baseline for a fully schema-covered tool without adding extra semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Polls the current status of a CI job build,' with the specific HTTP GET endpoint. This distinguishes it from sibling tools like arm_abort_ci_job or arm_trigger_build, as it is explicitly for status polling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The usage context is implied by the word 'polls' but the description does not explicitly state when to use this tool over alternatives like arm_ci_job_history or arm_latest_results. No exclusions or alternative tools are mentioned, leaving the agent to infer from the tool name and endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arm_quick_deployC
POST /api/cijobs/v1/triggerquickdeploy/{ciJobName}/{buildNumber?}. Triggers quick deploy.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | CI job build label | |
| headers | No | Optional extra headers | |
| ciJobName | Yes | Case-sensitive CI job name | |
| buildNumber | No | Optional build number. If omitted, latest build is used. | |
| projectName | Yes | Case-sensitive CI job project name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only states 'Triggers quick deploy' without describing whether the operation is asynchronous, what the return value is, or whether it has destructive side effects. This is minimal for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is succinct at one sentence plus the endpoint, with no wasted words. It is front-loaded with the HTTP method and path. However, it could be slightly more informative without becoming verbose, so not a perfect 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters, no annotations, and no output schema, the description is too terse. It fails to explain return values, side effects, or how to interpret the response, which is critical for a trigger operation. The tool likely returns a job ID or status, but this is omitted.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description itself adds no parameter information, but the schema descriptions are clear (e.g., buildNumber optional and means latest build). This meets the minimum viability threshold.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('Triggers quick deploy') and provides the exact HTTP endpoint, making the resource explicit. However, it does not distinguish 'quick deploy' from sibling operations like arm_trigger_build or arm_start_rollback, so it lacks full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description simply states the action without mentioning prerequisites, use cases, or exclusions. With numerous sibling CI/CD tools, this is a clear gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arm_rollback_detailsC
GET /api/cijobs/v1/rollback/{ciJobName}. Retrieves complete rollback information for a CI job.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | CI job build label | |
| headers | No | Optional extra headers | |
| ciJobName | Yes | Case-sensitive CI job name | |
| projectName | Yes | Case-sensitive CI job project name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states that it retrieves information, with no mention of response format, authentication requirements, side effects, rate limits, or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the HTTP path and action. It is concise, direct, and contains no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even though this is a simple GET tool, the absence of an output schema and annotations means the vague phrase 'complete rollback information' does not fully clarify what the agent should expect in response. There is no mention of return structure or failure modes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the structured schema already documents all four parameters. The description adds no additional parameter semantics, matching the baseline score of 3 for high-coverage schemas.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Retrieves') and names the resource ('complete rollback information for a CI job'), making the tool's purpose clear. It does not explicitly distinguish this from the sibling arm_rollback_history, but the scope is still unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. The description does not explain when to use this tool versus arm_rollback_history or arm_start_rollback, nor does it mention any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arm_rollback_historyB
GET /api/cijobs/v1/rollback/history/{ciJobName}/{buildNumber?}. Fetches rollback history for a CI job build.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | CI job build label | |
| headers | No | Optional extra headers | |
| ciJobName | Yes | Case-sensitive CI job name | |
| buildNumber | No | Optional build number. If omitted, latest build is used. | |
| projectName | Yes | Case-sensitive CI job project name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description itself discloses a read-only behavior via the GET method and 'Fetches' verb. However, it lacks details on response format, pagination, or permissions, leaving the full burden partially unmet.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, information-dense sentence that leads with the endpoint and function. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotation, the description does not explain what the rollback history contains, the shape of the response, or how it differs from rollback details. This is incomplete for a tool with 5 parameters and no additional structured context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by showing the URL template with {ciJobName} and {buildNumber?}, indicating these are path parameters, which the schema does not convey.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches rollback history for a CI job build, with a specific HTTP GET endpoint. It distinguishes itself as a history-focused tool, though it doesn't explicitly contrast with sibling arm_rollback_details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like arm_rollback_details or arm_ci_job_history. The description simply states the function without usage context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arm_start_rollbackB
POST /api/cijobs/v1/rollback. Initiates rollback operation for CI job.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | CI job build label | |
| headers | No | Optional extra headers | |
| projectName | Yes | Case-sensitive CI job project name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose side effects, permissions, idempotency, and return behavior. It only says 'Initiates rollback operation' without any details about whether the action is asynchronous, reversible, or what happens on failure. This is minimal behavioral disclosure for a state-changing operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the endpoint, followed by a clear one-line purpose. It contains no filler, though the endpoint line could be considered redundant given the tool name, but it still contributes to clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description should explain what the rollback operation returns or how it behaves, but it does not. For a potentially impactful action like a rollback, this omission makes the description incomplete for an agent to use effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% coverage with descriptions for all three parameters (title, headers, projectName). The description adds no additional parameter context, but the schema already provides sufficient meaning, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Initiates rollback operation for CI job', specifying the verb (initiates), resource (rollback), and target (CI job). This distinguishes it from sibling tools like arm_rollback_history and arm_rollback_details, which are read/history-oriented.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as arm_quick_deploy, arm_abort_ci_job, or arm_rollback_history. There is no mention of prerequisites, use cases, or exclusions, leaving the agent to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arm_trigger_buildB
POST /api/cijobs/v1/trigger. Triggers a new build for a CI job.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | CI job build label | |
| headers | No | Optional extra headers | |
| projectName | Yes | Case-sensitive CI job project name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries the full burden. It only says 'triggers a new build' without disclosing side effects, authentication requirements, response format, or that it initiates an asynchronous job. This leaves significant ambiguity for an agent deciding to invoke it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that front-loads the endpoint and action. There is no unnecessary verbiage; every word contributes to identifying the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and no annotations, yet the description gives only a one-line summary. It fails to mention what response the agent can expect, whether the build triggers asynchronously, or how it relates to sibling tools like 'arm_poll_job_status'. Given the tool's role in a CI pipeline, this context is important.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides complete descriptions for all three parameters (coverage 100%), including notes like 'Case-sensitive' and 'Optional extra headers'. The description adds no additional param meaning, so it meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Triggers a new build') and the resource ('a CI job'), with the HTTP endpoint for precision. It distinguishes itself from sibling tools like 'arm_abort_ci_job' and 'arm_list_ci_jobs' by specifying the trigger action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no mention of prerequisites, and no exclusions. The description simply states what it does without contextualizing its use within the CI workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arm_update_baseline_revisionB
POST /api/cijobs/v1/update/baselinerevision. Updates the baseline revision for a CI job.
| Name | Required | Description | Default |
|---|---|---|---|
| headers | No | Optional extra headers | |
| projectName | Yes | Case-sensitive CI job project name | |
| baseLineRevision | Yes | Baseline revision number/hash for the CI job |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, and the description only says 'Updates the baseline revision' without disclosing potential side effects, permission requirements, idempotency, or failure behavior. For a mutation operation, this is a significant disclosure gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, front-loading the HTTP method and endpoint, then the action. Every word earns its place without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotations, and a minimal description, the tool's full behavioral context is under-specified. It doesn't cover what the response looks like, error conditions, or special cases, making it incomplete for an agent to fully anticipate the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents both parameters with clear descriptions (100% coverage). The description adds no additional semantic meaning or usage details beyond the endpoint prefix, so the schema carries the load.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool updates the baseline revision for a CI job, using a specific HTTP endpoint. This distinguishes it from sibling tools like arm_trigger_build or arm_abort_ci_job.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives, nor any prerequisites or conditions. It merely states what it does, leaving usage context implied at best.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
21 tool updates
v0.3.0- First observed
arm_abort_ci_job - First observed
arm_audit_download_logs - First observed
arm_audit_get_logs - First observed
arm_audit_list_event_types - First observed
arm_call_api - First observed
arm_ci_job_history - First observed
arm_get_deployment - First observed
arm_get_deployment_components - First observed
arm_get_deployment_promotion_log - First observed
arm_get_deployment_stories - First observed
arm_get_deployment_test_coverage - First observed
arm_latest_results - First observed
arm_list_ci_jobs - First observed
arm_list_deployments - First observed
arm_poll_job_status - First observed
arm_quick_deploy - First observed
arm_rollback_details - First observed
arm_rollback_history - First observed
arm_start_rollback - First observed
arm_trigger_build - First observed
arm_update_baseline_revision
TDQS
Most tools target distinct resources and actions (CI jobs, deployments, audit logs), but there is some overlap among status/history tools like arm_latest_results, arm_ci_job_history, and arm_poll_job_status, which could cause misselection though descriptions help clarify.
All tools share the 'arm_' prefix and use snake_case, generally following a verb_noun pattern. Minor deviations like arm_ci_job_history (missing a verb) and arm_latest_results (noun-like) break full consistency, but the pattern is predictable overall.
With 21 tools, the server is slightly heavy but still well-scoped for a CI/CD and deployment platform. The generic arm_call_api tool adds flexibility, though the count approaches the upper boundary of what feels necessary.
The tool set covers the major workflows for CI jobs, deployments, and audit logs, including triggers, status checks, rollback, and detailed retrieval. Missing operations like creating or updating CI jobs are likely handled externally, and the generic arm_call_api fills gaps, making the surface fairly complete.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for Appcircle mobile CI/CD platform.
The MCP server for Azure DevOps, bringing the power of Azure DevOps directly to your agents.
Authenticated MCP server for ClearPolicy policy and compliance workflows.
MCP server for AI access to Swagger by SmartBear.
Related MCP Servers
- AlicenseBqualityCmaintenanceMCP server to interact with the QMetry for Jira API, enabling management of test cases, test cycles, test plans, and more through well-defined tools.9328Apache 2.0
- AlicenseNot gradedqualityDmaintenanceMCP server that integrates with ARXsec.io API to execute security scans, compliance checks, secrets management, and remediation actions with policy enforcement, audit logging, and human approval workflows.MIT
- FlicenseNot gradedqualityDmaintenanceMCP server for making API calls with authentication support. Allows configuring multiple API endpoints and performing GET, POST, PUT, DELETE requests, including form data and file uploads.-
- AlicenseCqualityCmaintenanceMCP server for ArmorCode security platform enabling finding triage, scans, exceptions, risk scores, and release gate checks via natural language.3716MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/AutoRABIT-AI/ARM-MCP-Server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server