Skip to main content
Glama

ARM MCP Server

CI npm Node.js 22+ License: MIT

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 build

Set 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 start

After the package is published to npm, it can also be run with:

npx -y @autorabit-ai/arm-mcp-server

Quick 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

ARM_BASE_URL

For ARM tools

None

ARM tenant URL. HTTPS is required for non-loopback hosts.

ARM_API_TOKEN

For ARM tools

None

Token sent in the ARM token header.

ARM_TIMEOUT_MS

No

30000

ARM request timeout from 1,000 to 300,000 ms.

ARM_MAX_RETRIES

No

2

Read-request retry count from 0 to 10.

ARM_ENABLE_GENERIC_TOOL

No

false

Exposes the generic arm_call_api tool when set to true.

ARM_ALLOW_INSECURE_HTTP

No

false

Allows HTTP for non-loopback ARM hosts. Intended only for controlled development.

ARM_AUDIT_BASE_URL

For audit tools

None

Audit API host.

ARM_AUDIT_API_TOKEN

For audit tools

None

Bearer token for the audit API.

ARM_AUDIT_TIMEOUT_MS

No

30000

Audit request timeout from 1,000 to 300,000 ms.

ARM_AUDIT_MAX_RETRIES

No

2

Audit read-request retry count from 0 to 10.

ARM_AUDIT_DOWNLOAD_DIR

No

OS temp directory

Local destination for audit ZIP downloads.

ARM_AUDIT_MAX_DOWNLOAD_BYTES

No

52428800

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

arm_list_ci_jobs

GET /api/cijobs/v1/listcijobs

arm_ci_job_history

GET /api/cijobs/v1/history/{ciJobName}

arm_latest_results

GET /api/cijobs/v1/latestresults/{ciJobName}

arm_poll_job_status

GET /api/cijobs/v1/pollstatus/{ciJobName}/{buildNumber?}

arm_rollback_history

GET /api/cijobs/v1/rollback/history/{ciJobName}/{buildNumber?}

arm_rollback_details

GET /api/cijobs/v1/rollback/{ciJobName}

arm_trigger_build

POST /api/cijobs/v1/trigger

arm_update_baseline_revision

POST /api/cijobs/v1/update/baselinerevision

arm_quick_deploy

POST /api/cijobs/v1/triggerquickdeploy/{ciJobName}/{buildNumber?}

arm_start_rollback

POST /api/cijobs/v1/rollback

arm_abort_ci_job

PUT /api/cijobs/v1/abort/{ciJobName}/{buildNumber?}

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

arm_ncino_list_ci_jobs

GET /api/cijobs/v1/ncino/getalljobs

arm_ncino_list_job_history

GET /api/cijobs/v1/ncino/gethistory

arm_ncino_trigger_build

POST /api/cijobs/v1/ncino/trigger

arm_ncino_get_build_summary

POST /api/cijobs/v1/ncino/getcijobsummary

arm_ncino_get_latest_build

POST /api/cijobs/v1/ncino/getcijobinfo

arm_ncino_get_build_history

POST /api/cijobs/v1/ncino/getcijobbuildhistory

arm_ncino_poll_build_status

POST /api/cijobs/v1/ncino/pollstatus

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

arm_list_deployments

GET /api/deployments/v1/list

arm_get_deployment

GET /api/deployments/v1/{label}

arm_get_deployment_components

GET /api/deployments/v1/{label}/components

arm_get_deployment_stories

GET /api/deployments/v1/{label}/stories

arm_get_deployment_promotion_log

GET /api/deployments/v1/{label}/logs/{iterationNumber}

arm_get_deployment_test_coverage

GET /api/deployments/v1/{label}/coverage/{iterationNumber}

{
  "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

arm_audit_get_logs

GET /logs/audit_logs

arm_audit_download_logs

GET /logs/audit_logs/download

arm_audit_list_event_types

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/overview

  • arm://docs/cijobs-v1

  • arm://docs/ncino-cijobs-v1

  • arm://docs/deployments-v1

  • arm://docs/auth

  • arm://docs/audit-logs

Prompts

  • arm_quick_deploy_guide

  • arm_rollback_guide

  • arm_trigger_build_guide

  • arm_poll_status_guide

  • arm_deployment_report_guide

  • arm_ncino_build_and_monitor_guide

  • arm_ncino_build_report_guide

  • arm_audit_logs_guide

Docker

docker build -t arm-mcp-server .
docker run -i --rm \
  -e ARM_BASE_URL \
  -e ARM_API_TOKEN \
  arm-mcp-server

For Docker Compose:

cp .env.example .env
docker compose run --rm arm-mcp-server

Development

npm ci
npm run typecheck
npm test
npm audit
npm pack --dry-run

Contract 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

MIT

Available Tools

21 tools
arm_abort_ci_jobB

PUT /api/cijobs/v1/abort/{ciJobName}/{buildNumber?}. Aborts ongoing CI job.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesCI job build label
headersNoOptional extra headers
ciJobNameYesCase-sensitive CI job name
buildNumberNoOptional build number. If omitted, latest build is used.
projectNameYesCase-sensitive CI job project name

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
endTimeNoEnd date in ISO 8601 format (YYYY-MM-DDThh:mm:ss). Optional; defaults to current day. Range must be within 90 days of startTime.
startTimeYesStart date in ISO 8601 format (YYYY-MM-DDThh:mm:ss). Required.

TDQS

A3.7/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
eventTypeNoComma-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.
startTimeNoStart time in ISO 8601 format (YYYY-MM-DDThh:mm:ss). Defaults to current day if omitted.
maxResultsNoMaximum number of results to return. Default is 1000.

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNo
pathYesEndpoint path starting with /api/...
queryNo
methodYes
headersNo

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoEnd index for history range. Defaults to -1 (all).
fromNoStart index for history range. Defaults to -1 (all).
titleYesCI job build label
headersNoOptional extra headers
ciJobNameYesCase-sensitive CI job name
projectNameYesCase-sensitive CI job project name

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
labelYesDeployment label name
headersNoOptional extra headers

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
labelYesDeployment label name
headersNoOptional extra headers

TDQS

A3.5/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
labelYesDeployment label name
headersNoOptional extra headers
iterationNumberYesDeployment iteration number

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
labelYesDeployment label name
headersNoOptional extra headers
iterationNumberNoOptional deployment iteration number

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
labelYesDeployment label name
headersNoOptional extra headers
iterationNumberYesDeployment iteration number

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesCI job build label
headersNoOptional extra headers
ciJobNameYesCase-sensitive CI job name
projectNameYesCase-sensitive CI job project name

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesCI job build label
headersNoOptional extra headers
projectNameYesCase-sensitive CI job project name

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoOptional maximum number of deployments to return. Maximum 100.
statusNoOptional deployment status filter
toDateNoOptional end date filter in YYYY-MM-DD format
headersNoOptional extra headers
fromDateNoOptional start date filter in YYYY-MM-DD format
destSfOrgNoOptional destination Salesforce org filter
labelNameNoOptional deployment label name filter

TDQS

A3.6/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesCI job build label
headersNoOptional extra headers
ciJobNameYesCase-sensitive CI job name
buildNumberNoOptional build number. If omitted, latest build is used.
projectNameYesCase-sensitive CI job project name

TDQS

A3.8/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesCI job build label
headersNoOptional extra headers
ciJobNameYesCase-sensitive CI job name
buildNumberNoOptional build number. If omitted, latest build is used.
projectNameYesCase-sensitive CI job project name

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesCI job build label
headersNoOptional extra headers
ciJobNameYesCase-sensitive CI job name
projectNameYesCase-sensitive CI job project name

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesCI job build label
headersNoOptional extra headers
ciJobNameYesCase-sensitive CI job name
buildNumberNoOptional build number. If omitted, latest build is used.
projectNameYesCase-sensitive CI job project name

TDQS

B3.3/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesCI job build label
headersNoOptional extra headers
projectNameYesCase-sensitive CI job project name

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesCI job build label
headersNoOptional extra headers
projectNameYesCase-sensitive CI job project name

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
headersNoOptional extra headers
projectNameYesCase-sensitive CI job project name
baseLineRevisionYesBaseline revision number/hash for the CI job

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

  1. 21 tool updatesv0.3.0
    • First observedarm_abort_ci_job
    • First observedarm_audit_download_logs
    • First observedarm_audit_get_logs
    • First observedarm_audit_list_event_types
    • First observedarm_call_api
    • First observedarm_ci_job_history
    • First observedarm_get_deployment
    • First observedarm_get_deployment_components
    • First observedarm_get_deployment_promotion_log
    • First observedarm_get_deployment_stories
    • First observedarm_get_deployment_test_coverage
    • First observedarm_latest_results
    • First observedarm_list_ci_jobs
    • First observedarm_list_deployments
    • First observedarm_poll_job_status
    • First observedarm_quick_deploy
    • First observedarm_rollback_details
    • First observedarm_rollback_history
    • First observedarm_start_rollback
    • First observedarm_trigger_build
    • First observedarm_update_baseline_revision

TDQS

B3.4/5.0
Disambiguation4/5

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.

Naming Consistency4/5

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.

Tool Count4/5

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.

Completeness4/5

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

ActivityMaintained
ResponsivenessSyncing

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

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP 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
  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP 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.
    -
  • A
    license
    C
    quality
    C
    maintenance
    MCP server for ArmorCode security platform enabling finding triage, scans, exceptions, risk scores, and release gate checks via natural language.
    37
    16
    MIT

Latest Blog Posts

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