
Arm Code Mcp
io.github.jean-johnson-zwixPublished by GitHub account jean-johnson-zwixv0.1.0Updated Oct 25, 2026
MCP server for Arm64 Linux performance: parse perf output, suggest NEON intrinsics, audit deps.
Overview
Local MCP server that helps an assistant optimize Linux workloads on Arm64 by parsing perf output, suggesting NEON intrinsics and auditing dependency manifests.
- What you can do
- Parse perf report output into a ranked list of hot symbols with overhead percentages and warnings, filtered by top count and minimum overhead threshold. Recommend NEON SIMD intrinsics for a described hot loop from a curated knowledge base of 110 entries, filtered by target architecture. Scan requirements.txt, pyproject.toml or Dockerfile contents for packages lacking arm64 wheels, with error, warning and info severities. All three tools run offline and return structured results.
- When to use it
- Useful when profiling or porting Linux software to Arm64 and you want an assistant to interpret perf reports, pick NEON intrinsics for hot loops, or check whether Python dependencies have arm64 wheels before a build.
- Requirements
- Runs as a local stdio process, typically via the published Docker image, so Docker is needed; an MCP-compatible client such as Claude Code, GitHub Copilot or Codex. No authentication or API keys. Optional environment variables ARM_CODE_MCP_LOG_LEVEL, ARM_CODE_MCP_KB_PATH and ARM_CODE_MCP_CACHE_DIR; the server works with no configuration.
Installation
In SourceWeft
- Open Arm Code Mcp in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
arm-code-mcp
An MCP server that helps AI assistants optimize Linux workloads on Arm64.
It parses perf report output, recommends NEON SIMD intrinsics for hot loops,
and audits Python dependency manifests for arm64 wheel availability —
all offline, all structured, all callable from Claude Code, GitHub Copilot, and Codex.
What's inside
analyze_perf_output— parseperf report --stdiointo a ranked list of hot symbolssuggest_neon_intrinsic— semantic + keyword search over 110 curated NEON intrinsicscheck_arm64_deps— flag packages inrequirements.txt,pyproject.toml, orDockerfilethat lack arm64 wheels or require special handling
Prerequisites
- Docker
- An MCP-compatible AI assistant (Claude Code, GitHub Copilot, Codex)
Quick start
Add to your MCP client config (e.g. ~/.claude/mcp.json):
Restart your client. All three tools are now available.
Tools
analyze_perf_output
Parse raw perf report --stdio output and return the top hot symbols, ranked by overhead.
Example response:
suggest_neon_intrinsic
Recommend NEON intrinsics for a hot loop using hybrid semantic + exact-name retrieval over a curated knowledge base of 110 intrinsics.
Example response:
check_arm64_deps
Scan a dependency manifest and flag packages with known arm64 compatibility issues. Fully offline — no network calls, fast, deterministic.
Example response:
Severity levels:
Configuration
All env vars are optional. The server works with no configuration.
Pass env vars to the container:
Evaluation
suggest_neon_intrinsic is evaluated against 15 hand-curated (query, expected intrinsic) pairs
using the real all-MiniLM-L6-v2 embedding model. Current baseline:
The regression guard exits non-zero if hit@3 drops below 0.70.
Run the eval harness locally:
See eval/README.md for methodology and known limitations.
Development
Makefile targets:
Multi-arch images (linux/amd64 + linux/arm64) are built and pushed automatically
by .github/workflows/release.yml on v*.*.* tags.
Knowledge base maintenance
The NEON intrinsics knowledge base lives in src/arm_code_mcp/kb/data/neon_intrinsics.jsonl
(110 entries). To add intrinsics or refresh after a model upgrade, see docs/kb-refresh.md.
Roadmap
Tools
parse_flamegraph— extract hot paths from Linux perf flamegraph SVGsuggest_sve2_intrinsic— extend retrieval to SVE2 intrinsics (Neoverse V2, Cortex-X4)
Eval
- Multi-query paraphrase expansion for each gold pair
- Reranking pass over semantic candidates
- Larger gold set (50+ queries) for lower metric variance
Demo
Coming soon.
Contributing
Stars, forks, and issues are welcome. Open a PR or file an issue on GitHub.
Good first issues:
- Add more NEON intrinsic entries to
kb/data/neon_intrinsics.jsonl - Add gold eval queries for SVE2 intrinsics
- Add
parse_flamegraphtool for Linux perf flamegraph SVG files
License
Apache 2.0 — same as arm/mcp.
Source: README.md at commit ead6db8
Tools
0Version history
1- v0.1.0LatestSep 16, 2026
Score
40% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Declare a license in the repository or the registry entry.