MCP server for AutoRABIT ARM APIs, covering CI Jobs v1 endpoints, Deployment Reporting v1 endpoints, and SIEM Audit Logs.
GET /api/cijobs/v1/listcijobsGET /api/cijobs/v1/history/{ciJobName}GET /api/cijobs/v1/latestresults/{ciJobName}GET /api/cijobs/v1/pollstatus/{ciJobName}/{buildNumber?}GET /api/cijobs/v1/rollback/history/{ciJobName}/{buildNumber?}GET /api/cijobs/v1/rollback/{ciJobName}POST /api/cijobs/v1/triggerPOST /api/cijobs/v1/update/baselinerevisionPOST /api/cijobs/v1/triggerquickdeploy/{ciJobName}/{buildNumber?}POST /api/cijobs/v1/rollbackPUT /api/cijobs/v1/abort/{ciJobName}/{buildNumber?}
GET /rabit/api/deployments/v1/listGET /rabit/api/deployments/v1/{label}GET /rabit/api/deployments/v1/{label}/componentsGET /rabit/api/deployments/v1/{label}/storiesGET /rabit/api/deployments/v1/{label}/logs/{iterationNumber}GET /rabit/api/deployments/v1/{label}/coverage/{iterationNumber}
GET /logs/audit_logs— query audit logs with optional filtersGET /logs/audit_logs/download— download audit logs as ZIP (max 90-day range)
arm_list_ci_jobs— list all CI jobsarm_ci_job_history— retrieve CI job build historyarm_latest_results— get latest results for a CI jobarm_poll_job_status— poll current build statusarm_rollback_history— fetch rollback historyarm_rollback_details— view rollback informationarm_trigger_build— trigger a new CI buildarm_update_baseline_revision— update baseline revisionarm_quick_deploy— trigger quick deploymentarm_start_rollback— initiate rollbackarm_abort_ci_job— abort an ongoing CI jobarm_call_api— generic fallback for any ARM endpoint
arm_list_deployments— list deployments with optional status, date, label, destination org, and limit filtersarm_get_deployment— retrieve deployment summary and iteration metadataarm_get_deployment_components— retrieve component-level deployment changesarm_get_deployment_stories— retrieve Jira stories and commit traceabilityarm_get_deployment_promotion_log— retrieve the plain-text promotion log for an iterationarm_get_deployment_test_coverage— retrieve Apex test and code coverage for an iteration
arm_audit_get_logs— query SIEM audit logs with optional time, count, and event type filtersarm_audit_download_logs— download audit logs as ZIP for a date rangearm_audit_list_event_types— list the 12 known event types with descriptions (local, no API call)
arm://docs/overviewarm://docs/cijobs-v1arm://docs/deployments-v1arm://docs/autharm://docs/audit-logs
arm_quick_deploy_guidearm_rollback_guidearm_trigger_build_guidearm_poll_status_guidearm_deployment_report_guidearm_audit_logs_guide
ARM expects an API token in a token header.
Required env vars:
ARM_BASE_URL(example:pilot.autorabit.comorhttps://pilot.autorabit.com)ARM_API_TOKEN
Optional env vars:
ARM_TIMEOUT_MS(default30000)ARM_MAX_RETRIES(default2)
Deployment tools call /rabit/api/deployments/v1/... on the same ARM host and use the same ARM_API_TOKEN.
The audit logs API uses a separate base URL and Bearer token (not shared with CI Jobs).
Required env vars:
ARM_AUDIT_BASE_URL(example:auditlogs.autorabit.com)ARM_AUDIT_API_TOKEN— sent asAuthorization: Bearer <token>
Optional env vars:
ARM_AUDIT_TIMEOUT_MS(default30000)ARM_AUDIT_MAX_RETRIES(default2)
npm install
cp .env.example .env
# edit .env
npm run buildnpm run devor production:
npm run build
npm start{
"mcpServers": {
"arm": {
"command": "node",
"args": ["/absolute/path/to/arm-mcp-server/dist/index.js"],
"env": {
"ARM_BASE_URL": "pilot.autorabit.com",
"ARM_API_TOKEN": "YOUR_CI_JOBS_TOKEN",
"ARM_AUDIT_BASE_URL": "auditlogs.autorabit.com",
"ARM_AUDIT_API_TOKEN": "YOUR_AUDIT_BEARER_TOKEN"
}
}
}
}docker build -t arm-mcp-server .docker run -i --rm \
-e ARM_BASE_URL=pilot.autorabit.com \
-e ARM_API_TOKEN=YOUR_CI_JOBS_TOKEN \
-e ARM_AUDIT_BASE_URL=auditlogs.autorabit.com \
-e ARM_AUDIT_API_TOKEN=YOUR_AUDIT_BEARER_TOKEN \
arm-mcp-server{
"mcpServers": {
"arm": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "ARM_BASE_URL",
"-e", "ARM_API_TOKEN",
"-e", "ARM_AUDIT_BASE_URL",
"-e", "ARM_AUDIT_API_TOKEN",
"arm-mcp-server"
],
"env": {
"ARM_BASE_URL": "pilot.autorabit.com",
"ARM_API_TOKEN": "YOUR_CI_JOBS_TOKEN",
"ARM_AUDIT_BASE_URL": "auditlogs.autorabit.com",
"ARM_AUDIT_API_TOKEN": "YOUR_AUDIT_BEARER_TOKEN"
}
}
}
}cp .env.example .env
# edit .env with your credentials
docker compose run --rm arm-mcp-server{
"projectName": "MyProject",
"title": "Release 1.2.3"
}{
"ciJobName": "BuildOnCommitNoRevision",
"projectName": "MyProject",
"title": "Release 1.2.3",
"from": -1,
"to": -1
}{
"ciJobName": "BuildOnCommitNoRevision",
"projectName": "MyProject",
"title": "Release 1.2.3"
}{
"ciJobName": "BuildOnCommitNoRevision",
"buildNumber": 7,
"projectName": "MyProject",
"title": "Release 1.2.3"
}{
"ciJobName": "BuildOnCommitNoRevision",
"buildNumber": 7,
"projectName": "MyProject",
"title": "Release 1.2.3"
}{
"ciJobName": "BuildOnCommitNoRevision",
"projectName": "MyProject",
"title": "Release 1.2.3"
}{
"projectName": "MyProject",
"title": "Release 1.2.3"
}{
"projectName": "MyProject",
"baseLineRevision": "26cXXX"
}{
"ciJobName": "BuildOnCommitNoRevision",
"buildNumber": 7,
"projectName": "MyProject",
"title": "Release 1.2.3"
}{
"projectName": "MyProject",
"title": "Release 1.2.3"
}{
"ciJobName": "BuildOnCommitNoRevision",
"buildNumber": 7,
"projectName": "MyProject",
"title": "Release 1.2.3"
}{
"status": "Successful",
"fromDate": "2025-01-01",
"toDate": "2025-06-30",
"labelName": "hotfix",
"destSfOrg": "prod@company.com",
"limit": 25
}{
"label": "Deploy-March-Release-v1"
}{
"label": "Deploy-March-Release-v1"
}{
"label": "Deploy-March-Release-v1",
"iterationNumber": 1
}{
"label": "Deploy-March-Release-v1",
"iterationNumber": 1
}{
"label": "Deploy-March-Release-v1",
"iterationNumber": 1
}{
"startTime": "2024-01-15T00:00:00",
"maxResults": 500,
"eventType": "LOGIN,DEPLOYMENT"
}{
"startTime": "2024-01-01T00:00:00",
"endTime": "2024-03-01T00:00:00"
}{}