PlugWiki
CPU Performance Engineering logo

CPU Performance Engineering MCP Server: Setup for Claude, Cursor and Other Apps

CommunityLocal

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.

Install CPU Performance Engineering MCP

Claude Code

  1. 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. 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 · ask

  • Searches 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 · lookup

  • Finds 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 · search

  • Opens 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 · fetch

  • Shows 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_section

  • Explains 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_entry

  • Gives 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_path

  • Shows 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_benchmark

  • Shows 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_record

  • Checks 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_evidence

  • Reads 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_source

  • Opens 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_file

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

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-onlyEvery 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 toThe 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 keysNo account or API key. A GitHub token is not needed.
Data retentionThe 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

WebsiteGitHubPyPIOfficial MCP RegistryChangelogIssues

Sources

Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.

Show all 4
  1. github.com · github.com
  2. github.com · github.com
  3. github.com · github.com
  4. pypi.org · pypi.org

Facts from the official MCP registry, GitHub, npm, PyPI and the Docker catalog. Updated Nov 2, 2026.