ARM MCP Server
The server exposes AutoRABIT ARM workflows via MCP tools, resources, and prompts, mainly for CI jobs, deployments, audit logs, and optional generic API access.
Manage CI Jobs v1: list jobs, view history/latest results, poll status, trigger builds, quick deploy, abort jobs, update baseline revisions, and inspect/start rollbacks.
Report on deployments: list/filter deployments and retrieve details, components, Jira stories, promotion logs, and Apex test coverage by label/iteration.
Work with SIEM audit logs: query CEF logs with filters, download ZIPs within a 90-day range, and list known event types locally.
Optionally call other same-origin ARM
/api/endpoints througharm_call_apiwhen explicitly enabled.Access MCP documentation resources and guided prompts for common deploy, rollback, build, nCino, deployment-report, and audit workflows.
README also advertises nCino CI job and branch/PR-from-manifest tools, but those tools are not present in the provided server schema.
Allows retrieval of Jira stories and commit traceability associated with deployments in AutoRABIT ARM.
Click on "Deploy 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 Server list 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 29 dedicated tools for CI Jobs, nCino CI Jobs, deployment reporting, version control branch and pull request automation, 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
}
}Version Control Branch and Pull Request
Tool | ARM endpoint |
|
|
|
|
arm_create_branch_pr_from_manifest starts an asynchronous request and returns a requestId. ARM creates a branch from baseBranch, retrieves the metadata listed in packageManifest from the target org, commits it to the new branch, updates the Jira story when jiraKey is sent, and creates a pull request. Poll arm_get_branch_pr_status for per-step progress, the branch, the commit, the Jira update, the pull request URL, and any error with partial results. If a step fails after ARM created the branch, ARM deletes that branch and reports it in the status response. To commit onto a branch that already exists in the repository, set useExistingBranch to true and send its branchName: the branch need not be registered in ARM (ARM registers it if needed), and it is never deleted, even on failure. Existing-branch commits and new-branch commits both appear in ARM Commit History. For DX (source format) repositories, send sfdxFolderName to choose the package directory when the repository has more than one. The create tool does not retry automatically.
{
"name": "arm_create_branch_pr_from_manifest",
"arguments": {
"packageManifest": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><Package xmlns=\"http://soap.sforce.com/2006/04/metadata\"><types><members>*</members><name>ApexClass</name></types><version>66.0</version></Package>",
"orgName": "Dev Sandbox",
"repoName": "salesforce-repo",
"baseBranch": "main",
"jiraKey": "AR-12345"
}
}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.
Inputs: title (required), ciJobName (required), projectName (required), headers, +1 more.
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.
Inputs: startTime (required), endTime.
arm_audit_get_logsA
GET /logs/audit_logs. Retrieves SIEM audit logs from AutoRABIT with optional filters. Returns CEF-formatted log entries.
Inputs: eventType, startTime, maxResults.
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.
Inputs: no named parameters.
arm_call_apiB
Generic ARM API request tool for additional endpoints not yet modeled as dedicated tools.
Inputs: path (required), method (required), body, query, +1 more.
arm_ci_job_historyC
GET /api/cijobs/v1/history/{ciJobName}. Retrieves CI job build history.
Inputs: title (required), ciJobName (required), projectName (required), to, +2 more.
arm_get_deploymentA
GET /rabit/api/deployments/v1/{label}. Retrieves deployment-level details for a deployment label.
Inputs: label (required), headers.
arm_get_deployment_componentsA
GET /rabit/api/deployments/v1/{label}/components. Retrieves component-level changes for a deployment.
Inputs: label (required), headers.
arm_get_deployment_promotion_logA
GET /rabit/api/deployments/v1/{label}/logs/{iterationNumber}. Retrieves the plain-text promotion log for a deployment iteration.
Inputs: label (required), iterationNumber (required), headers.
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.
Inputs: label (required), headers, iterationNumber.
arm_get_deployment_test_coverageA
GET /rabit/api/deployments/v1/{label}/coverage/{iterationNumber}. Retrieves Apex test and code coverage details for a deployment iteration.
Inputs: label (required), iterationNumber (required), headers.
arm_latest_resultsC
GET /api/cijobs/v1/latestresults/{ciJobName}. Retrieves detailed latest results for a CI job.
Inputs: title (required), ciJobName (required), projectName (required), headers.
arm_list_ci_jobsC
GET /api/cijobs/v1/listcijobs. Lists all CI jobs configured in ARM.
Inputs: title (required), projectName (required), headers.
arm_list_deploymentsA
GET /rabit/api/deployments/v1/list. Lists deployments with optional status, date range, label, destination org, and limit filters.
Inputs: limit, status, toDate, headers, +3 more.
arm_poll_job_statusA
GET /api/cijobs/v1/pollstatus/{ciJobName}/{buildNumber?}. Polls the current status of a CI job build.
Inputs: title (required), ciJobName (required), projectName (required), headers, +1 more.
arm_quick_deployC
POST /api/cijobs/v1/triggerquickdeploy/{ciJobName}/{buildNumber?}. Triggers quick deploy.
Inputs: title (required), ciJobName (required), projectName (required), headers, +1 more.
arm_rollback_detailsC
GET /api/cijobs/v1/rollback/{ciJobName}. Retrieves complete rollback information for a CI job.
Inputs: title (required), ciJobName (required), projectName (required), headers.
arm_rollback_historyB
GET /api/cijobs/v1/rollback/history/{ciJobName}/{buildNumber?}. Fetches rollback history for a CI job build.
Inputs: title (required), ciJobName (required), projectName (required), headers, +1 more.
arm_start_rollbackB
POST /api/cijobs/v1/rollback. Initiates rollback operation for CI job.
Inputs: title (required), projectName (required), headers.
arm_trigger_buildB
POST /api/cijobs/v1/trigger. Triggers a new build for a CI job.
Inputs: title (required), projectName (required), headers.
arm_update_baseline_revisionB
POST /api/cijobs/v1/update/baselinerevision. Updates the baseline revision for a CI job.
Inputs: projectName (required), baseLineRevision (required), headers.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 21 tools
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
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
- AlicenseBqualityDmaintenanceMCP server to interact with the QMetry for Jira API, enabling management of test cases, test cycles, test plans, and more through well-defined tools.9375 npmApache 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.16 PyPIMIT
- 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.-
- AlicenseCqualityDmaintenanceMCP server for ArmorCode security platform enabling finding triage, scans, exceptions, risk scores, and release gate checks via natural language.37242 npmMIT