a

arm-mcp

@arm/arm-mcp
1 Stars 29 次浏览 arm 更新于 2026-08-23

Official Arm MCP server for code migration, optimization, and Arm architecture guidance

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "docker.io/armlimited/arm-mcp": {
      "args": [
        "run",
        "-i",
        "--rm",
        "docker.io/armlimited/arm-mcp:1.0.1"
      ],
      "command": "docker"
    }
  }
}

可用工具 (5 个)

该服务在 MCP 协议中暴露的工具,AI 可按需调用

tavily_search 14 个参数 需填 1 项

Search the web for current information on any topic. Use for news, facts, or data beyond your knowledge cutoff. Returns snippets and source URLs.

必填参数:query

tavily_extract 6 个参数 需填 1 项

Extract content from URLs. Returns raw page content in markdown or text format.

必填参数:urls

tavily_crawl 11 个参数 需填 1 项

Crawl a website starting from a URL. Extracts content from pages with configurable depth and breadth.

必填参数:url

tavily_map 8 个参数 需填 1 项

Map a website's structure. Returns a list of URLs found starting from the base URL.

必填参数:url

tavily_research 2 个参数 需填 1 项

Perform comprehensive research on a given topic or question. Use this tool when you need to gather information from multiple sources to answer a question or complete a task. Returns a detailed response based on the research findings.

必填参数:input

服务介绍

Arm MCP Server

An Model Context Protocol (MCP) server providing AI assistants with tools and knowledge for Arm architecture development, migration, and optimization.

# Features

This MCP server equips AI assistants with specialized tools for Arm development:

  • Knowledge Base Search: Semantic search across Arm documentation, learning resources, intrinsics, and software compatibility information
  • Code Migration Analysis: Scan codebases for Arm compatibility using migrate-ease (supports C++, Python, Go, JavaScript, Java)
  • Container Architecture Inspection: Check Docker image architecture support using integrated Skopeo and check-image tools.
  • Assembly Performance Analysis: Analyze assembly code performance using LLVM-MCA
  • System Information: Instructions for gathering detailed system architecture information via sysreport

# Pre-Built Image

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

# Prerequisites

  • Docker (with buildx support for multi-arch builds)
  • An MCP-compatible AI assistant client (e.g. GitHub Copilot, Kiro CLI, Codex CLI, Claude Code, etc)

# Quick Start

# # 1. Build the Docker Image

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 . - -load

# # 2. Configure Your MCP Client

Choose the configuration that matches your MCP client:

# # # Claude Code

Add to .mcp.json in your project:

{
  "mcpServers": {
    "arm-mcp": {
      "command": "docker",
      "args": [
        "run",
        "- -rm",
        "-i",
        "-v", "/path/to/your/workspace:/workspace",
        "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",
        "-v", "/path/to/your/workspace:/workspace",
        "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",
        "-v", "/path/to/your/workspace:/workspace",
        "- -name", "arm-mcp",
        "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",
        "-v", "/path/to/your/workspace:/workspace",
        "armlimited/arm-mcp"
      ]
    }
  }
}

# # # MCP Clients using TOML format (e.g. Codex CLI)

[mcp_servers.arm-mcp]
command = "docker"
args = [
  "run",
  "- -rm",
  "-i",
  "-v", "/path/to/your/workspace:/workspace",
  "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.

# # 3. Restart Your MCP Client

After updating the configuration, restart your MCP client to load the Arm MCP server.

# Repository Structure

  • mcp-local/: The MCP server implementation
    • server.py: Main FastMCP server with tool definitions
    • utils/: Helper modules for each tool
    • data/: Pre-built knowledge base (embeddings and metadata)
    • Dockerfile: Multi-stage Docker build
  • embedding-generation/: Scripts for regenerating the knowledge base from source documents

# Integration Testing

# # Pre-requisites

  • Build the mcp server docker image
  • Install the required test packages using - pip install -r tests/requirements.txt within the mcp_local directory.

# # Testing Steps

  • Run the test script - python -m pytest -s tests/test_mcp.py
  • Check if following 2 docker containers have started - mcp server & testcontainer
  • All tests should pass without any errors. Warnings can be ignored.

# Troubleshooting

# # Accessing the Container Shell

To debug or explore the container environment:

docker run - -rm -it - -entrypoint /bin/bash armlimited/arm-mcp

# # Common Issues

  • Timeout errors during migration scans: Increase the timeout value in your MCP client configuration (e.g., "timeout": 120000 for 2 minutes)
  • Empty workspace: Ensure your volume mount path is correct and the directory exists
  • Architecture mismatches: If you encounter platform-specific issues, rebuild for your specific platform using - -platform linux/amd64 or - -platform linux/arm64

# Contributing

Contributions are welcome! Please feel free to submit issues or pull requests.

When contributing:

  • Follow PEP 8 style guidelines for Python code
  • Update documentation for any new features or changes
  • Ensure the Docker image builds successfully before submitting

# License

Copyright © 2025, Arm Limited and Contributors. All rights reserved.

Licensed under the Apache License, Version 2.0. See LICENSE for details.

相关 MCP 服务