LabStore
← All labs

Arm

by docker ✓ verified ✓ Packaged by Docker

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.

MCP server installable network: on runtime: sysbox

Development MCP Servers

Arm MCP Server

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.

What is an MCP Server?

MCP Info

Attribute Details
Docker Image armlimited/arm-mcp:2.4.0
Author arm
Repository https://github.com/arm/mcp

Image Building Info

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

Available Tools (7)

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.

Tools Details

If 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

Tool: check_image

Check 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

Tool: 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. 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

Tool: 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. 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

Tool: apx_recipe_run

Run 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

Tool: skopeo

IMPORTANT: 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

Tool: mca

Assembly 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

Use this MCP Server

{
  "mcpServers": {
    "arm-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-v",
        "/local-directory:/local-directory",
        "armlimited/arm-mcp:2.4.0"
      ]
    }
  }
}

Why is it safer to run MCP Servers with Docker?