Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
An MCP server providing AI assistants with tools and knowledge for Arm architecture development, migration, and optimization.
If your goal is to migrate an application from x86 to Arm as quickly as possible, start here:
Automate x86-to-Arm application migration using Arm MCP Server
This MCP server equips AI assistants with specialized tools for Arm development:
If 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
From the root of this repository:
docker buildx build --platform linux/arm64,linux/amd64 -f mcp-local/Dockerfile -t armlimited/arm-mcp .For a single-platform build (faster):
docker buildx build -f mcp-local/Dockerfile -t armlimited/arm-mcp . --loadChoose the configuration that matches your MCP client:
The examples below include the optional Docker arguments required for Arm Performix. These SSH-related settings are only needed when you want the MCP server to run remote commands on a target device through Arm Performix. If you are not using Arm Performix, you can omit the SSH -v lines.
#### Claude Code
Add to .mcp.json in your project:
{
"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"
]
}
}
}#### GitHub Copilot (VS Code)
Add to .vscode/mcp.json in your project, or globally at ~/Library/Application Support/Code/User/mcp.json (macOS):
{
"servers": {
"arm-mcp": {
"type": "stdio",
"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"
]
}
}
}The easiest way to open this file in VS Code for editing is command+shift+p and search for
MCP: Open User Configuration
#### AWS Kiro CLI
Add to ~/.kiro/settings/mcp.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"
],
"timeout": 60000
}
}
}#### Gemini CLI
It is recommended to use a project-local configuration file to ensure the relevant workspace is mounted.
Add to .gemini/settings.json in your project root:
{
"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"
]
}
}
}#### MCP Clients using TOML format (e.g. Codex CLI)
[mcp_servers.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"
]Note: Replace /path/to/your/workspace with the actual path to your project directory that you want the MCP server to access. If you are enabling Arm Performix, also replace the /path/to/your/ssh/private_key and /path/to/your/ssh/known_hosts paths with your local files. The MCP container auto-discovers files mounted under /run/keys, as shown in the configs above.
After updating the configuration, restart your MCP client to load the Arm MCP server.
server.py: Main FastMCP server with tool definitionsutils/: Helper modules for each tooldata/: Pre-built knowledge base (embeddings and metadata)Dockerfile: Multi-stage Docker buildpip install -r tests/requirements.txt within the mcp_local directory.python -m pytest -s tests/test_mcp.pyTo debug or explore the container environment:
docker run --rm -it --entrypoint /bin/bash armlimited/arm-mcptimeout value in your MCP client configuration (e.g., "timeout": 120000 for 2 minutes)--platform linux/amd64 or --platform linux/arm64Contributions are welcome! Please feel free to submit issues or pull requests.
When contributing:
Copyright © 2025, Arm Limited and Contributors. All rights reserved.
Licensed under the Apache License, Version 2.0. See LICENSE for details.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.