ARM MCP Server

ARM MCP Server

MCP server for AutoRABIT ARM APIs, covering CI Jobs v1 endpoints, Deployment Reporting v1 endpoints, and SIEM Audit Logs.

Category
Visit Server

README

ARM MCP Server

CI

MCP server for AutoRABIT ARM APIs, covering CI Jobs v1 endpoints, Deployment Reporting v1 endpoints, and SIEM Audit Logs.

Modeled APIs

CI Jobs v1

  • GET /api/cijobs/v1/listcijobs
  • GET /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/trigger
  • POST /api/cijobs/v1/update/baselinerevision
  • POST /api/cijobs/v1/triggerquickdeploy/{ciJobName}/{buildNumber?}
  • POST /api/cijobs/v1/rollback
  • PUT /api/cijobs/v1/abort/{ciJobName}/{buildNumber?}

Deployment Reporting v1

  • GET /rabit/api/deployments/v1/list
  • GET /rabit/api/deployments/v1/{label}
  • GET /rabit/api/deployments/v1/{label}/components
  • GET /rabit/api/deployments/v1/{label}/stories
  • GET /rabit/api/deployments/v1/{label}/logs/{iterationNumber}
  • GET /rabit/api/deployments/v1/{label}/coverage/{iterationNumber}

SIEM Audit Logs

  • GET /logs/audit_logs — query audit logs with optional filters
  • GET /logs/audit_logs/download — download audit logs as ZIP (max 90-day range)

MCP Tools

CI Jobs

  • arm_list_ci_jobs — list all CI jobs
  • arm_ci_job_history — retrieve CI job build history
  • arm_latest_results — get latest results for a CI job
  • arm_poll_job_status — poll current build status
  • arm_rollback_history — fetch rollback history
  • arm_rollback_details — view rollback information
  • arm_trigger_build — trigger a new CI build
  • arm_update_baseline_revision — update baseline revision
  • arm_quick_deploy — trigger quick deployment
  • arm_start_rollback — initiate rollback
  • arm_abort_ci_job — abort an ongoing CI job
  • arm_call_api — generic fallback for any ARM endpoint

Deployments

  • arm_list_deployments — list deployments with optional status, date, label, destination org, and limit filters
  • arm_get_deployment — retrieve deployment summary and iteration metadata
  • arm_get_deployment_components — retrieve component-level deployment changes
  • arm_get_deployment_stories — retrieve Jira stories and commit traceability
  • arm_get_deployment_promotion_log — retrieve the plain-text promotion log for an iteration
  • arm_get_deployment_test_coverage — retrieve Apex test and code coverage for an iteration

Audit Logs

  • arm_audit_get_logs — query SIEM audit logs with optional time, count, and event type filters
  • arm_audit_download_logs — download audit logs as ZIP for a date range
  • arm_audit_list_event_types — list the 12 known event types with descriptions (local, no API call)

MCP Resources

  • arm://docs/overview
  • arm://docs/cijobs-v1
  • arm://docs/deployments-v1
  • arm://docs/auth
  • arm://docs/audit-logs

MCP Prompts

  • arm_quick_deploy_guide
  • arm_rollback_guide
  • arm_trigger_build_guide
  • arm_poll_status_guide
  • arm_deployment_report_guide
  • arm_audit_logs_guide

Authentication

CI Jobs and Deployment APIs

ARM expects an API token in a token header.

Required env vars:

  • ARM_BASE_URL (example: pilot.autorabit.com or https://pilot.autorabit.com)
  • ARM_API_TOKEN

Optional env vars:

  • ARM_TIMEOUT_MS (default 30000)
  • ARM_MAX_RETRIES (default 2)

Deployment tools call /rabit/api/deployments/v1/... on the same ARM host and use the same ARM_API_TOKEN.

SIEM Audit Logs API

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 as Authorization: Bearer <token>

Optional env vars:

  • ARM_AUDIT_TIMEOUT_MS (default 30000)
  • ARM_AUDIT_MAX_RETRIES (default 2)

Setup

npm install
cp .env.example .env
# edit .env
npm run build

Run

npm run dev

or production:

npm run build
npm start

MCP client config (stdio)

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

docker build -t arm-mcp-server .

Run interactively

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

MCP client config (Docker)

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

docker-compose

cp .env.example .env
# edit .env with your credentials
docker compose run --rm arm-mcp-server

Tool payloads

arm_list_ci_jobs

{
  "projectName": "MyProject",
  "title": "Release 1.2.3"
}

arm_ci_job_history

{
  "ciJobName": "BuildOnCommitNoRevision",
  "projectName": "MyProject",
  "title": "Release 1.2.3",
  "from": -1,
  "to": -1
}

arm_latest_results

{
  "ciJobName": "BuildOnCommitNoRevision",
  "projectName": "MyProject",
  "title": "Release 1.2.3"
}

arm_poll_job_status

{
  "ciJobName": "BuildOnCommitNoRevision",
  "buildNumber": 7,
  "projectName": "MyProject",
  "title": "Release 1.2.3"
}

arm_rollback_history

{
  "ciJobName": "BuildOnCommitNoRevision",
  "buildNumber": 7,
  "projectName": "MyProject",
  "title": "Release 1.2.3"
}

arm_rollback_details

{
  "ciJobName": "BuildOnCommitNoRevision",
  "projectName": "MyProject",
  "title": "Release 1.2.3"
}

arm_trigger_build

{
  "projectName": "MyProject",
  "title": "Release 1.2.3"
}

arm_update_baseline_revision

{
  "projectName": "MyProject",
  "baseLineRevision": "26cXXX"
}

arm_quick_deploy

{
  "ciJobName": "BuildOnCommitNoRevision",
  "buildNumber": 7,
  "projectName": "MyProject",
  "title": "Release 1.2.3"
}

arm_start_rollback

{
  "projectName": "MyProject",
  "title": "Release 1.2.3"
}

arm_abort_ci_job

{
  "ciJobName": "BuildOnCommitNoRevision",
  "buildNumber": 7,
  "projectName": "MyProject",
  "title": "Release 1.2.3"
}

arm_list_deployments

{
  "status": "Successful",
  "fromDate": "2025-01-01",
  "toDate": "2025-06-30",
  "labelName": "hotfix",
  "destSfOrg": "prod@company.com",
  "limit": 25
}

arm_get_deployment

{
  "label": "Deploy-March-Release-v1"
}

arm_get_deployment_components

{
  "label": "Deploy-March-Release-v1"
}

arm_get_deployment_stories

{
  "label": "Deploy-March-Release-v1",
  "iterationNumber": 1
}

arm_get_deployment_promotion_log

{
  "label": "Deploy-March-Release-v1",
  "iterationNumber": 1
}

arm_get_deployment_test_coverage

{
  "label": "Deploy-March-Release-v1",
  "iterationNumber": 1
}

arm_audit_get_logs

{
  "startTime": "2024-01-15T00:00:00",
  "maxResults": 500,
  "eventType": "LOGIN,DEPLOYMENT"
}

arm_audit_download_logs

{
  "startTime": "2024-01-01T00:00:00",
  "endTime": "2024-03-01T00:00:00"
}

arm_audit_list_event_types

{}

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured