← Back to directory
A

Arm MCP Server

Official
Arm's official MCP server for architecture migration and optimization
GitHub source repository ↗
★ 91 Stars Category · Dev Tools Popular Source revision 7beb2a4ebf6a
61FMRS · C
Reliability
9/20
Security and permissions
11/20
Maintenance
13/20
Documentation
15/20
Setup experience
13/20

An officially maintained Arm server focused on x86-to-Arm migration analysis, container architecture inspection, and assembly performance analysis, distributed via Docker over stdio, requiring a local workspace mount with optional SSH configuration for Arm Performix remote performance capture.

Read the FMRS scoring method →

Arm MCP Server is Arm's officially maintained Model Context Protocol server, giving AI assistants tools and knowledge for Arm architecture development, migration, and optimization. It integrates migrate-ease code compatibility scanning (C++, Python, Go, JavaScript, Java), Skopeo-based container image architecture inspection, LLVM-MCA assembly performance analysis, semantic search across Arm documentation and compatibility data, and Arm Performix (APX) recipe workflows that run over SSH against a remote target device to capture and analyze workload performance. The server ships as a Docker image, communicates over stdio, and requires a local workspace directory mount (plus optional SSH keys for Arm Performix remote access).

Tools

The tool list has not been reviewed yet.

Setup

  1. Install Docker with buildx support; 2. Build the image from the repo root with docker buildx build -f mcp-local/Dockerfile -t armlimited/arm-mcp ., or use the official pre-built image armlimited/arm-mcp:latest from Docker Hub; 3. Add a docker run --rm -i entry to your MCP client's config (e.g. Claude Code's .mcp.json, VS Code's .vscode/mcp.json, Kiro's ~/.kiro/settings/mcp.json, Gemini CLI's .gemini/settings.json, or a TOML config for Codex CLI), mounting -v /path/to/your/workspace:/workspace; 4. If using Arm Performix remote execution, also mount your SSH private key and known_hosts file; 5. Restart your MCP client to load the server.
claude_desktop_config.json
{"mcpServers":{"arm-mcp":{"command":"docker","args":["run","--rm","-i","--pull=always","-v","/path/to/your/workspace:/workspace","-v","/path/to/your/ssh/private_key:/run/keys/ssh-key.pem:ro","-v","/path/to/your/ssh/known_hosts:/run/keys/known_hosts:ro","armlimited/arm-mcp"]}}}

Fit and risk

Best for

  • Teams planning or executing an x86-to-Arm application migration
  • DevOps engineers verifying multi-architecture support in container images
  • Systems and embedded developers tuning performance on Arm platforms

Not for

  • General development tasks unrelated to Arm architecture, migration, or performance
  • Environments that can't run Docker or don't allow mounting the local filesystem
  • Users unwilling to review locally generated log files that may contain project details before sharing them

Required permissions

  • Requires mounting a local workspace directory into the container at /workspace, giving it read access to project code
  • Optionally mounts an SSH private key and known_hosts file for Arm Performix remote target access
  • Requires Docker execution rights to pull and run the container image

Risks and side effects

  • Generated log files (mcp-traffic.jsonl and error_logging.yaml) may contain project code snippets and tool call content — review before sharing
  • Mounting an SSH private key for remote access could expose credentials if misconfigured
  • The container needs local filesystem access via the workspace mount, which carries some path-exposure risk

Troubleshooting

  1. Timeout errors during migration scans: increase the timeout value in your MCP client config (e.g. 120000 ms)
  2. Empty workspace: verify the volume mount path is correct and the directory exists
  3. Architecture mismatches: rebuild for your specific platform using --platform linux/amd64 or linux/arm64
  4. Docker Hub tag semantics: `latest` and semantic version tags (e.g. 2.3.0) are production, dated tags (YYYY-MM-DD-<run_number>) are staging, and locally built images are dev-only

Use cases

Scan an existing codebase to assess x86-to-Arm migration compatibility
Check whether Docker images support multiple architectures, including Arm64
Analyze assembly code performance characteristics on Arm architecture
Run performance capture and analysis workflows on a remote Arm target device over SSH
Search Arm documentation, intrinsics, and software compatibility knowledge

Supported clients

Claude CodeFull support
GitHub Copilot (VS Code)Full support
AWS Kiro CLIFull support
Gemini CLIFull support
Codex CLIFull support