
CPU Performance Engineering MCP Server: Setup for Claude, Cursor and Other Apps
Lets Claude, Cursor and other assistants answer CPU performance questions from a vetted reading list, its benchmarks and the linked papers and manuals.
This server gives your assistant the CPU Performance Engineering reading list as something it can search, plus the text of the papers and manuals the list links to. Ask a question, paste perf stat output or compiler remarks, and the assistant answers from the passages it gets back, with page numbers. It runs on your computer and needs no account or API key. On first run it builds a local library of the linked sources in the background, which takes a few minutes to about a quarter of an hour.
Good for
- Engineers tuning code who want answers quoted from manuals and papers
- Anyone pasting perf stat output or compiler remarks and asking what it means
- Students who want a reading order for caches, SIMD, NUMA or tail latency
- Reviewers who want to check whether a benchmark claim gives enough detail
Works in
12 should work
Tap an app to see how to set it up and any known problems.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Client does not support this transport.
Client does not support this transport.
Install CPU Performance Engineering MCP
Claude Code
- 1
Copy this prompt.
Add the CPU Performance Engineering MCP server to Claude Code. Run this command: claude mcp add cpu-performance-engineering -- uvx cpu-perf Then check that it loaded and tell me if I need to sign in or restart.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires uv (Python).
Built from the package data we hold. Not yet tested by us.
Tools
Finds the best evidence for a CPU performance question, with page numbers
Searches the reading list, the benchmarks and the text of the linked papers and manuals, then returns the best passages with their sources. You can paste perf stat output, compiler remarks or assembly alongside the question and it reads the numbers for you.
Try: “Here is my perf stat output. Where is the time going?”
Read ·
askSearches the list, its notes, its benchmarks or the linked sources
Ranks matches for a few words across entries, sections, benchmarks, rejected candidates, notes and benchmark code. Switch the scope to sources to search inside the linked papers and manuals instead.
Try: “Look up everything about store forwarding in the linked sources.”
Read ·
lookupFinds documents by keyword and returns ids you can open
A plain document search that returns titles, ids and links for entries, sections, benchmarks and source passages. It is the search tool ChatGPT deep research looks for.
Try: “Search for documents about false sharing.”
Read ·
searchOpens one document found by search in full
Takes an id from search, such as an entry or a source passage, and returns its full text with a link you can cite. Passage text comes from outside sources and is marked as untrusted.
Try: “Fetch the document entry:4.3.5.”
Read ·
fetchShows the table of contents, or one section in reading order
With no argument it returns the map of the 16 sections. Give it a number or title and it returns that section's entries in dependency order, with its benchmarks and, for the watchlist, what would promote each item.
Try: “Show me the NUMA section.”
Read ·
get_sectionExplains why one source is listed and what to read around it
Returns one listed source with the reason it earned a place, what to read before and after, other places it appears, and any numbers or link notes tied to it. It also says whether the source text is in your local library.
Try: “Tell me why Drepper's memory paper is on the list and what to read next.”
Read ·
get_entryGives an ordered reading plan for a topic
Builds a study order from the list for a topic such as NUMA or branch prediction, ending with the benchmark that reproduces it. With no topic it returns the list's own starting path.
Try: “Give me a reading path for branch prediction, ending with something I can run.”
Read ·
reading_pathShows a runnable benchmark: claim, machine, results and code
Returns one of the repository's C benchmarks with the claim it tests, the machine it ran on, results, analysis, limits, source code and raw output. With no name it lists them all.
Try: “Show me the false sharing benchmark and how to run it.”
Read ·
get_benchmarkShows why a source or number was kept out of the list
Looks up rejected candidates and the rule each failed, performance claims with their verdicts, and link-check notes. Filter by rule, verdict or section.
Try: “Why is cppreference not in the list?”
Read ·
editorial_recordChecks a performance claim against the list's seven-field rule
Compares a claim with the rule that a number counts only with CPU model, core count, frequency and SMT state, compiler flags, workload, baseline and method. It says what is missing and how the list judged similar numbers. The check is heuristic.
Try: “Is "AVX-512 gives 2x on Zen 5" a claim the list would quote?”
Read ·
check_evidenceReads the text of one linked paper, manual or page
Returns the text of a source the list links, from your local library or fetched live if it is not indexed yet. You can ask for matching passages, a PDF page or one passage in full.
Try: “Read what the Intel optimisation manual says about store forwarding.”
Network ·
read_sourceOpens a file from the repository bundled with the server
Returns a repository file the server carries, such as the README, notes, benchmark source, build and run scripts or raw results. With no path it lists the available files.
Try: “Show me the build script for the cache latency benchmark.”
Read ·
read_fileShows how much of the linked material is indexed
Reports which copy of the list is being served, whether the daily update worked, how many sources are indexed, and which are blocked and why. Ask for detail to see every source.
Try: “How much of the source library has been indexed yet?”
Read ·
library_status
Read from the source code
Permissions
low risk · 4 things to watch
Low risk
The tools only read the list and linked documents, but the server stores a source library on your disk and fetches web pages to build it. Run it on a machine with a few hundred megabytes free, and turn off the daily update if you want a fixed copy of the list.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only modeHow to turn it on
Watch out for
Builds a library on your disk on first run
It downloads the linked sources in the background and stores their text, which can take up to a quarter of an hour and a few hundred megabytes. Set the data folder with CPU_PERF_DATA_DIR or turn this off with CPU_PERF_AUTO_INDEX=0. github.com
Fetches web pages and updates itself daily
It reads only URLs that appear in the list, over public addresses, and checks GitHub once a day for a newer list. Set CPU_PERF_AUTO_UPDATE=0 to stop the daily check and CPU_PERF_LIVE_FETCH=0 to stop live reads. github.com
Source passages are untrusted text
Passages come from outside documents and could contain instructions aimed at the assistant. The server labels them as untrusted data, but treat unexpected behaviour after a long answer with suspicion. github.com
Optional HTTP mode has no sign-in
Your client normally starts the server locally. If you run the shared HTTP instance, anyone with its address can call the tools, which only read. github.com
Security advisories
No published security advisories as of Nov 1, 2026.
Technical details
| Turning on read-only | Every tool is marked read-only in the server, so no extra switch is needed. Setting CPU_PERF_LIBRARY=0 limits it to the bundled list and stops it from building the source library. |
|---|---|
| Talks to | The public URLs the list links (papers, manuals, vendor pages). GitHub, once a day, to check for a newer copy of the list. Hugging Face, once, to download a small search model |
| Sign-in and keys | No account or API key. A GitHub token is not needed. |
| Data retention | The source library is a local SQLite file on your machine (a few hundred megabytes at most). Downloaded files themselves are not kept. |
Questions
Is it official?
No. It is a community project by the GitHub user usamahz, and it is not made by Intel, AMD, Arm or any CPU vendor. The server ships from the same repository as the reading list it serves.
Is it free?
Yes. It is MIT licensed, runs on your machine and needs no account or API key. The package includes the license file.
Does it work in ChatGPT or Claude.ai on the web?
No. The web versions connect only to servers on the internet, and this one starts on your computer. It works in Claude Code, Claude Desktop, Codex (including the ChatGPT desktop app), Cursor and VS Code.
Why is the first start slow?
The first run downloads its Python dependencies, which can take longer than some clients wait. Run the version check from the README once in a terminal first, and later starts take about a second.
Where does it store data, and how big is it?
In a local library folder: ~/.local/share/cpu-perf on Linux, ~/Library/Application Support/cpu-perf on macOS, %LOCALAPPDATA%\cpu-perf on Windows. It is a few hundred megabytes at most, and CPU_PERF_DATA_DIR changes the location.
Can it change or delete my files?
No. All 13 tools are marked read-only. They read the list and linked sources, and the only thing it writes is its own data folder.
Can I turn off the daily update?
Yes. Set CPU_PERF_AUTO_UPDATE=0 and it serves the installed copy of the list without checking GitHub.
What does it offer besides tools?
Reference documents such as the README, contents and watchlist, plus six prompts including a study plan and a diagnosis guide that follows the list's own method.
Information
updated Nov 2, 2026
- Publisher
- Community
- Package
cpu-perf- Registry
- PyPI
- Transport
- stdio
- Auth
- None
- Version
- 0.1.1
- License
- MIT
- Last commit
- Oct 8, 2026
- Open issues
- 0
- Listed in
- Official MCP registry
Sources
Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.
Show all 4Hide
- github.com · github.com
- github.com · github.com
- github.com · github.com
- pypi.org · pypi.org