arm-mcp
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 implementationserver.py: Main FastMCP server with tool definitionsutils/: Helper modules for each tooldata/: 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.txtwithin themcp_localdirectory.
# # 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
timeoutvalue in your MCP client configuration (e.g.,"timeout": 120000for 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/amd64or- -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.