{
  "markdown": "[![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/arm/mcp/badge)](https://scorecard.dev/viewer/?uri=github.com/arm/mcp)\n[![SLSA Build Level 3](https://slsa.dev/images/gh-badge-level3.svg)](docs/slsa-build-level-3.md)\n\n# Arm MCP Server\n\nAn [MCP](https://modelcontextprotocol.io/) server providing AI assistants with tools and knowledge for Arm architecture development, migration, and optimization.\n\n## Using the Arm MCP Server\n\nIf your goal is to migrate an application from x86 to Arm as quickly as possible, start here:\n\n[Automate x86-to-Arm application migration using Arm MCP Server](https://learn.arm.com/learning-paths/servers-and-cloud-computing/arm-mcp-server/)\n\n## Features\n\nThis MCP server equips AI assistants with specialized tools for Arm development:\n\n- **Knowledge Base Search**: Semantic search across Arm documentation, learning resources, intrinsics, and software compatibility information\n- **Code Migration Analysis**: Scan codebases for Arm compatibility using [migrate-ease](https://github.com/migrate-ease/migrate-ease) (supports C++, Python, Go, JavaScript, Java)\n- **Container Architecture Inspection**: Check Docker image architecture support using integrated [Skopeo](https://github.com/containers/skopeo) and check-image tools.\n- **Assembly Performance Analysis**: Analyze assembly code performance using LLVM-MCA\n\n## Pre-Built Image\n\nIf you would prefer to use a pre-built, multi-arch image, the official image can be found in Docker Hub here: `armlimited/arm-mcp:latest`\n\n## Prerequisites\n\n- Docker with Buildx support\n- An MCP-compatible AI assistant client (e.g. GitHub Copilot, Kiro CLI, Codex CLI, Claude Code, etc)\n\n## Quick Start\n\n### 1. Build the Docker Image\n\nFrom the root of this repository:\n\n```bash\ndocker buildx build -f mcp-local/Dockerfile -t armlimited/arm-mcp . --load\n```\n\nThis builds for the Docker host's native architecture. The release workflow is\nresponsible for explicit multi-architecture builds.\n\n### 2. Configure Your MCP Client\n\nChoose the configuration that matches your MCP client:\n\n#### Claude Code\n\nAdd to `.mcp.json` in your project:\n\n```json\n{\n  \"mcpServers\": {\n    \"arm-mcp\": {\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\",\n        \"--rm\",\n        \"-i\",\n        \"--pull=always\",\n        \"-v\", \"/path/to/your/workspace:/workspace\",\n        \"armlimited/arm-mcp\"\n      ]\n    }\n  }\n}\n```\n\n#### GitHub Copilot (VS Code)\n\nAdd to `.vscode/mcp.json` in your project, or globally at `~/Library/Application Support/Code/User/mcp.json` (macOS):\n\n```json\n{\n  \"servers\": {\n    \"arm-mcp\": {\n      \"type\": \"stdio\",\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\",\n        \"--rm\",\n        \"-i\",\n        \"--pull=always\",\n        \"-v\", \"/path/to/your/workspace:/workspace\",\n        \"armlimited/arm-mcp\"\n      ]\n    }\n  }\n}\n```\n\nThe easiest way to open this file in VS Code for editing is command+shift+p and search for\n\nMCP: Open User Configuration\n\n#### AWS Kiro CLI\n\nAdd to `~/.kiro/settings/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"arm-mcp\": {\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\",\n        \"--rm\",\n        \"-i\",\n        \"--pull=always\",\n        \"-v\", \"/path/to/your/workspace:/workspace\",\n        \"armlimited/arm-mcp\"\n      ],\n      \"timeout\": 60000\n    }\n  }\n}\n```\n\n#### Gemini CLI\n\nIt is recommended to use a project-local configuration file to ensure the relevant workspace is mounted.\n\nAdd to `.gemini/settings.json` in your project root:\n\n```json\n{\n  \"mcpServers\": {\n    \"arm-mcp\": {\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\",\n        \"--rm\",\n        \"-i\",\n        \"--pull=always\",\n        \"-v\", \"/path/to/your/workspace:/workspace\",\n        \"armlimited/arm-mcp\"\n      ]\n    }\n  }\n}\n```\n\n#### MCP Clients using TOML format (e.g. Codex CLI)\n\n```toml\n[mcp_servers.arm-mcp]\ncommand = \"docker\"\nargs = [\n  \"run\",\n  \"--rm\",\n  \"-i\",\n  \"--pull=always\",\n  \"-v\", \"/path/to/your/workspace:/workspace\",\n  \"armlimited/arm-mcp\"\n]\n```\n\n**Note**: Replace `/path/to/your/workspace` with the actual path to your project directory that you want the MCP server to access.\n\n### 3. Restart Your MCP Client\n\nAfter updating the configuration, restart your MCP client to load the Arm MCP server.\n\n## Logging\n\nDepending on usage, the server may write two log files under `/workspace`. With the\nconfiguration examples above, these files appear in the project directory on\nyour computer:\n\n- `mcp-traffic.jsonl` records when tools are used, the inputs provided, and the\n  reason for each tool call. It also records results from knowledge base\n  searches.\n- `error_logging.yaml` records details about errors encountered by the server.\n  This information can help with troubleshooting.\n\nThese logs may contain information from your project and tool requests. Review\ntheir contents before sharing them.\n\n## Development and contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for repository structure, integration\ntesting, reproducible build inputs, runtime-egress validation, dependency\nupdates, and release workflows.\n\n## Troubleshooting\n\n### Accessing the Container Shell\n\nTo debug or explore the container environment:\n\n```bash\ndocker run --rm -it --entrypoint /bin/bash armlimited/arm-mcp\n```\n\n### Common Issues\n\n- **Timeout errors during migration scans**: Increase the `timeout` value in your MCP client configuration (e.g., `\"timeout\": 120000` for 2 minutes)\n- **Empty workspace**: Ensure your volume mount path is correct and the directory exists\n- **Architecture mismatches**: Confirm that the local image matches the Docker host's native architecture; use the release workflow for explicit cross-platform builds.\n\n## License\n\nCopyright © 2026, Arm Limited and Contributors. All rights reserved.\n\nLicensed under the Apache License, Version 2.0. See [LICENSE](LICENSE) for details.\n",
  "bytes": 5792,
  "sha": "44356089ceaab140d4ad08c878e64888b19f9255f9fabaffca9aa90cc66a38af",
  "repo_slug": "arm/mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_arm_arm_mcp_efb8767c/readme"
}