# Arm MCP Server

Gives an AI assistant tools to move code from x86 to Arm, search Arm documentation, and inspect container architectures.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 94
- Author: arm
- License: Apache-2.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/arm/mcp
- Updated: 2026-10-23
- HTML: https://affpapa.org/en/nevibecode/mcp/arm-mcp-server

## What it does

The server plugs into your assistant and adds four tools. Knowledge base search is semantic and covers Arm documentation, learning resources, intrinsics, and software compatibility data. Migration analysis scans a codebase through migrate-ease and handles C++, Python, Go, JavaScript, and Java. A third tool checks Docker image architecture support using Skopeo and check-image. The fourth analyzes assembly performance with LLVM-MCA.

Everything runs in a container. You need Docker with Buildx support and an MCP-compatible client. A pre-built multi-arch image sits on Docker Hub as `armlimited/arm-mcp:latest`, so building it yourself is optional. In the client config, swap `/path/to/your/workspace` for your actual project folder — that is what the server sees inside the container. Get the volume mount wrong and the tools look at an empty workspace.

The server writes two logs under `/workspace`: `mcp-traffic.jsonl` with tool calls and knowledge base results, and `error_logging.yaml` with errors. Both can contain project data, so read them before passing the files along. If a migration scan times out, raise the `timeout` value in your client settings.

## Requirements
- Needs: Docker

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add arm-mcp-server -- docker run -i --rm docker.io/armlimited/arm-mcp:2.4.0
```

### Codex

**Platform CLI**
```bash
codex mcp add arm-mcp-server -- docker run -i --rm docker.io/armlimited/arm-mcp:2.4.0
```

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "arm-mcp-server": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "docker.io/armlimited/arm-mcp:2.4.0"
            ]
        }
    }
}
```

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "arm-mcp-server": {
            "type": "stdio",
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "docker.io/armlimited/arm-mcp:2.4.0"
            ]
        }
    }
}
```

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add arm-mcp-server docker run -i --rm docker.io/armlimited/arm-mcp:2.4.0
```

## When to use it
- port an application from x86 to Arm
- find the right page in Arm documentation
- check which architectures a Docker image supports
- measure assembly performance on a hot loop
- scan a repository for Arm compatibility

## Example prompts
- Scan this project for Arm compatibility and list the problem spots
- Look up how these intrinsics behave in the Arm documentation
- Check the architectures of the `myapp:latest` image

## Similar
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33918
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81115
- [Oh My Posh Validator](https://affpapa.org/en/nevibecode/mcp/oh-my-posh-validator.md) — MCP server · ★ 23643
- [Keploy](https://affpapa.org/en/nevibecode/mcp/keploy.md) — MCP server · ★ 18727
- [Coder](https://affpapa.org/en/nevibecode/mcp/coder.md) — MCP server · ★ 17160
- [mcp](https://affpapa.org/en/nevibecode/mcp/kubeshark-mcp.md) — MCP server · ★ 12109

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
