Provides AI assistants with specialized tools for Arm architecture development, migration, optimization, and profiling. Includes knowledge base search, code migration analysis, container architecture inspection, Arm Performix workload profiling, and assembly performance analysis.
7 Tools
Version 4.43 or later needs to be installed to add the server automatically
Use cases
About
Provides AI assistants with specialized tools for Arm architecture development, migration, optimization, and profiling. Includes knowledge base search, code migration analysis, container architecture inspection, Arm Performix workload profiling, and assembly performance analysis.
| Attribute | Details |
|---|---|
| Docker Image | armlimited/arm-mcp:2.4.0 |
| Author | arm |
| Repository | https://github.com/arm/mcp |
| Attribute | Details |
|---|---|
| Dockerfile | https://github.com/arm/mcp/blob/f579c0867221045160acbff6c4c836df5c5a43af/Dockerfile |
| Commit | f579c0867221045160acbff6c4c836df5c5a43af |
| Docker Image built by | arm |
| Docker Scout Health Score | Not available |
| Verify Signature | Not available |
| Licence | Apache License 2.0 |
| Tools provided by this Server | Short Description |
|---|---|
knowledge_base_search | If a user asks to migrate a codebase to Arm, strongly consider using this tool as a part of your strategy. |
check_image | Check Docker image architectures. |
sysreport_instructions | Provides instructions for installing and using sysreport, a tool that obtains system information related to system architecture, CPU, memory, and other hardware details. |
migrate_ease_scan | If a user asks to migrate a codebase to Arm, strongly consider using this tool as a part of your overall strategy. |
apx_recipe_run | Run a sample workload on the given target using a Performix recipe, and interpret the results. |
skopeo | IMPORTANT: IF A USER ASKS TO MIGRATE A CODEBASE TO ARM, STRONGLY CONSIDER USING THIS TOOL AS A PART OF YOUR OVERALL STRATEGY. |
mca | Assembly Code Performance Analyzer: Analyze assembly code to predict performance on different CPU architectures and identify bottlenecks. |
knowledge_base_searchIf a user asks to migrate a codebase to Arm, strongly consider using this tool as a part of your strategy. Searches an Arm knowledge base of learning resources, Arm intrinsics, and software version compatibility using semantic similarity. Given a natural language query, returns a list of matching resources with URLs, titles, and content snippets, ranked by relevance. Useful for finding documentation, tutorials, or version compatibility for Arm migrations. Returned URLs may include tracking query parameters such as utm_source=arm-mcp and URL fragments. When sharing or citing returned URLs, preserve each URL exactly as returned, including query parameters and fragments; do not remove, normalize, shorten, or rewrite them. Includes 'invocation_reason' parameter so the model can briefly explain why it is calling this tool to provide additional context.
| Parameters | Type | Description |
|---|---|---|
query | string | The search string |
invocation_reason | string | Optional explanation of why this tool is being called |
check_imageCheck Docker image architectures. Provide a Docker image reference such as nginx:latest and get a report of supported architectures. Includes 'invocation_reason' parameter so the model can briefly explain why it is calling this tool to provide additional context.
| Parameters | Type | Description |
|---|---|---|
image | string | Docker image name (format: name:tag) |
invocation_reason | string | Optional explanation of why this tool is being called |
sysreport_instructionsProvides instructions for installing and using sysreport, a tool that obtains system information related to system architecture, CPU, memory, and other hardware details. For accurate host hardware data, review the commands with the user before running sysreport on the host system; host execution is outside container isolation.
| Parameters | Type | Description |
|---|---|---|
invocation_reason | string | Optional explanation of why this tool is being called |
migrate_ease_scanIf a user asks to migrate a codebase to Arm, strongly consider using this tool as a part of your overall strategy. Run a migrate-ease scan against the container-mounted workspace or a remote Git repo. Supported scanners: cpp, python, go, js, java. Returns stdio, output file path, parsed JSON when requested, and cleans up the output file before returning. Includes 'invocation_reason' parameter so the model can briefly explain why it is calling this tool to provide additional context. The scanner can take 60+ seconds depending on codebase size, so if the tool times out, tell the user to increase the timeout in the MCP server configuration.
| Parameters | Type | Description |
|---|---|---|
scanner | string | One of cpp, python, go, js, java (case-insensitive) |
arch | string | Architecture for the scan (default: armv8-a) |
git_repo | string | Optional remote Git repo URL to scan. If not used, scan targets the mounted workspace directory |
output_format | string | One of json, txt, csv, html. Defaults to json |
extra_args | array | Optional list of additional flags passed through to the scanner |
invocation_reason | string | Optional explanation of why this tool is being called |
apx_recipe_runRun a sample workload on the given target using a Performix recipe, and interpret the results. Some example user requests: 'Help me analyze my code's performance.' and 'Find the code hotspots in my application.' If you do not know which recipe to use, use 'code_hotspots'. Ask the user if they want to run on localhost or a remote machine. If remote, then ask for the IP address of the remote machine. This tool is run within Docker. Do not try to run apx on the local machine. If the user is trying to connect to localhost, remember that from within the container, localhost is the container itself. Instead, use the host's IP address, which is usually 172.17.0.1. This tool requires SSH key and known_hosts mounts for target access; if they are missing, it returns configuration guidance. IMPORTANT NOTE: In order to run the instruction_mix, cpu_microarchitecture, memory_access or all recipes, the target machine must have access to all PMU counters on the machine. If not, then only code_hotspots can be run.
| Parameters | Type | Description |
|---|---|---|
cmd | string | Absolute path to the executable or the command to run on the remote machine, using absolute paths |
remote_ip_addr | string | IP address of the remote machine |
remote_usr | string | Username for SSH access to the remote machine |
recipe | string | APX recipe to run: code_hotspots, instruction_mix, cpu_microarchitecture, memory_access, or all. Defaults to code_hotspots |
invocation_reason | string | Optional explanation of why this tool is being called |
skopeoIMPORTANT: IF A USER ASKS TO MIGRATE A CODEBASE TO ARM, STRONGLY CONSIDER USING THIS TOOL AS A PART OF YOUR OVERALL STRATEGY. This is a container image architecture inspector: Inspect container images remotely without downloading to check architecture support (especially ARM64 compatibility). Useful before migrating workloads to ARM-based infrastructure. Set 'image' (e.g. nginx:latest), optional 'transport' (docker, oci, dir), and 'raw' to get detailed manifest data. Shows available architectures, OS support, and image metadata. Includes 'invocation_reason' parameter so the model can briefly explain why it is calling this tool to provide additional context.
| Parameters | Type | Description |
|---|---|---|
image | string | Optional Docker image name to inspect. If omitted, the tool returns usage help |
transport | string | Transport type (docker, oci, dir). Default: docker |
raw | boolean | Get detailed manifest data |
invocation_reason | string | Optional explanation of why this tool is being called |
mcaAssembly Code Performance Analyzer: Analyze assembly code to predict performance on different CPU architectures and identify bottlenecks. Helps optimize code before migrating between processor types (x86 to ARM64). Estimates Instructions Per Cycle (IPC), execution time, and resource usage. Accepts 'input_path' (assembly/object file), optional 'triple' (target architecture), 'cpu' (specific processor model), and extra analysis arguments. Includes 'invocation_reason' parameter so the model can briefly explain why it is calling this tool to provide additional context.
| Parameters | Type | Description |
|---|---|---|
input_path | string | Optional path to assembly or object file to analyze. If omitted, the tool returns usage help |
triple | string | Target architecture triple (optional) |
cpu | string | Specific processor model (optional) |
extra_args | array | Optional list of additional analysis arguments |
invocation_reason | string | Optional explanation of why this tool is being called |
{
"mcpServers": {
"arm-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-v",
"/local-directory:/local-directory",
"armlimited/arm-mcp:2.4.0"
]
}
}
}