CPU Performance Engineering MCP

MCP-сервер cpu-perf: агент отвечает на вопросы об оптимизации под CPU по статьям, мануалам и бенчмаркам с цитатами.

  • 1 159 ★ репозитория
  • Последний коммит
  • MIT
MCP-сервер

Минимальный доступ

Почему такой уровень

  • Инструменты только читают, но сервер скачивает документы по ссылкам списка и хранит их индекс на диске.
Все причины и проверки

usamahz/cpu-performance-engineering

Установка

В терминале, через SkillFoxx CLI

npx skillfoxx add mcp/cpu-performance-engineering-mcp

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Минимальный доступИнструмент ничего не запускает и не ходит в сеть.

  • Инструменты только читают, но сервер скачивает документы по ссылкам списка и хранит их индекс на диске.

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Репозиторий CPU Performance Engineering хранит упорядоченный список источников по быстрым программам на x86 и Arm: от одной инструкции до запуска модели на процессоре. Папка `misc/mcp` превращает этот список в MCP-сервер `cpu-perf`, который знает две вещи. Первая: сам репозиторий, то есть записи с обоснованием, список отклоненных кандидатов с правилом отказа, четырнадцать бенчмарков с кодом и сырым выводом. Вторая: тексты самих источников. При первом запуске сервер скачивает документы по ссылкам списка и строит локальный индекс с полнотекстовым и семантическим поиском. Главный инструмент `ask` принимает вопрос и вывод, который вставил пользователь: `perf stat`, `top-down`, замечания `gcc -fopt-info` и `clang -Rpass`, дизассемблер. Второй инструмент `read_source` раскрывает найденный фрагмент полностью. Ответы возвращают цитаты с номерами страниц и помечают, какие источники прочитаны, а какие нет.

Для кого. Инженерам по производительности и системным программистам, которые разбирают вывод `perf` и замечания компилятора и ищут первоисточник со ссылкой.

Подходит, если

  • Многопоточный счетчик перестал масштабироваться после двух потоков, и нужны причины со ссылками.
  • Вывод `perf stat` вставляется в запрос, чтобы увидеть долю простоя и показатели промахов кеша.
  • gcc пишет «not vectorized: complicated access pattern», и надо понять, что менять в цикле.
  • Нужен план чтения про NUMA, который заканчивается запускаемым бенчмарком.

Не подходит, если

  • Нужна оптимизация под языковой рантайм или внутренности баз данных: список охватывает процессорный уровень.
  • Клиент работает в Claude.ai, мобильных приложениях или ChatGPT в вебе: сервер запускается только локально.
  • Нет диска под библиотеку источников на несколько сотен мегабайт.

Пример запроса к агенту

Вот вывод perf stat моей программы: куда уходит время, и что в списке источников говорит про промахи кеша L3?

MCP

Транспорт
stdio
Авторизация
не нужна

Переменные окружения

CPU_PERF_DATA_DIR
Каталог локальной библиотеки источников, по умолчанию каталог данных ОС.

Ограничения

Для запуска нужен `uv`. Первый старт скачивает зависимости, а индекс источников собирается от нескольких минут до четверти часа и занимает до нескольких сотен мегабайт. Для Claude Desktop нужен полный путь к `uvx`. Часть издателей вроде ACM и IEEE отказывает автоматическим клиентам, такие источники помечаются как заблокированные или частичные. Сервер работает только на вашей машине: Claude.ai, мобильные приложения и ChatGPT в вебе его не видят.

Как отключить. Удалите запись cpu-perf из MCP-конфигурации (`claude mcp remove cpu-perf`). Библиотека источников лежит в каталоге данных (`~/.local/share/cpu-perf` в Linux), ее удаляют вручную.

Частые вопросы

Как подключить cpu-perf к Claude Code и Codex?

Для Claude Code выполните `claude mcp add --scope user cpu-perf -- uvx cpu-perf`, для Codex `codex mcp add cpu-perf -- uvx cpu-perf`. Для Cursor и VS Code добавьте запись с командой `uvx` и аргументом `cpu-perf` в конфигурацию.

Что разбирает инструмент `ask` из вставленного вывода?

Вывод `perf stat` в форматах `plain`, `-x` и `-j` с расчетом IPC и долей промахов, `top-down` первого и второго уровня, ошибки самого perf, замечания `gcc` и `clang` по векторизации, а также ассемблер из `objdump`, `gdb` и `perf annotate`.

Как строится индекс источников?

Сервер читает ссылки списка, достает текст документов с номерами страниц и строит локальный индекс. Построить его с прогрессом можно командой `cpu-perf index`, состояние источников покажет `cpu-perf status --detail`.

Можно ли доверять цитатам?

Сервер сообщает, какие источники прочитаны, какие нет и почему. Утверждение приписывается источнику только через выданный фрагмент, а непрочитанный источник выдается как дальнейшее чтение.

Какие клиенты не поддерживаются?

Claude.ai, мобильные приложения Claude и ChatGPT в вебе. Они подключаются только к серверам в интернете, а этот запускается как программа на вашем компьютере.

Обсуждение

Вопросов и отзывов пока нет.

MCP-серверы
Официальный

MCP-сервер Ref: поиск по документации API и библиотек, который отдает агенту только нужные куски страниц

MCP-серверРасширенный доступ1,2 тыс.Звезды репозитория

Учебный MCP-сервер на Python: поиск по Hacker News, сведения о репозиториях GitHub и примеры запросов семплинга к модели

MCP-серверРасширенный доступ327Звезды репозитория

MCP-сервер, который один раз строит граф кода проекта и отдает агенту готовые ответы вместо повторного перечитывания файлов

MCP-серверРасширенный доступ203Звезды репозитория

Прозрачный прокси между ИИ-клиентом и MCP-сервером: показывает каждый кадр JSON-RPC в терминале, проверяет запись в CI и экспортирует спаны

CLIШирокий доступ368Звезды репозитория
Официальный

Справочники по прошивкам для агента: регистры, Modbus и SCPI с цитатой и страницей, а при отсутствии данных отказ без выдумки

MCP-серверМинимальный доступ26Звезды репозитория
Официальный

Официальный MCP-сервер Arm: документация архитектуры, проверка кода и образов Docker на совместимость с Arm, анализ ассемблера

MCP-серверРасширенный доступ95Звезды репозитория

Коротко о README

Все инструменты помечены как только чтение, поэтому клиенты не просят подтверждения на каждый вызов. Ответы пишутся размеченным текстом для модели, а повторные вопросы берутся из кеша, пока библиотека не изменилась.

Бейдж для README

Сообщить о проблеме