Skip to main content
Glama
robinafaruqia

ai-backend-performance-mcp

ai-backend-performance-mcp

Статический анализ MCP-сервера для проблем производительности Node.js backend. AI-агенты могут проверять проект на анти-паттерны запросов к базе данных, узкие места асинхронности, ошибки пула соединений и проблемы гигиены зависимостей — без изменения вашего кода.

Зачем этот проект?

Проблемы производительности backend часто скрыты на виду: N+1 запросы в циклах, клиенты, создаваемые на каждый запрос, последовательные await, которые можно выполнять параллельно, или зависимости, неправильно классифицированные в package.json. Этот MCP-сервер выявляет эти паттерны как структурированные, подтверждённые доказательствами находки, которые AI-ассистенты могут анализировать.

Что он делает

  • Статический анализ исходных файлов JavaScript/TypeScript только для чтения

  • Шесть специализированных MCP-инструментов для распространённых категорий производительности backend

  • Структурированные находки с серьёзностью, уверенностью, фрагментами кода и рекомендациями

  • Различает подтверждённые доказательства и потенциальные проблемы

Чего он не делает

  • Не выполняет ваш код приложения или репозитория

  • Не изменяет файлы, не устанавливает пакеты и не меняет индексы

  • Не заменяет профилирование, нагрузочное тестирование или анализ EXPLAIN базы данных

Related MCP server: DepHealth MCP

Архитектура

flowchart TD
  Client[MCP Client / AI Agent]
  Server[MCP Server]
  Tools[MCP Tools]
  Engine[Analysis Engine]
  Analyzers[Individual Analyzers]
  Findings[Structured Findings]

  Client --> Server
  Server --> Tools
  Tools --> Engine
  Engine --> Analyzers
  Analyzers --> Findings
  Findings --> Tools
  Tools --> Server
  Server --> Client

Подробности слоёв см. в docs/architecture.md.

Анализаторы

Анализатор

Обнаруживает

Запросы к базе данных

Паттерны N+1, неограниченные find/query

Индексы MongoDB

Поля фильтрации/сортировки без соответствующего createIndex

Асинхронные паттерны

await в циклах, последовательные await, блокирующие синхронные операции

Пул соединений

Создание клиента/пула в обработчиках или циклах

Зависимости

Неиспользуемые зависимости, неправильная классификация dev/prod, статистика lockfile

MCP-инструменты

Инструмент

Описание

analyze_project

Полное сканирование с группированными находками и сводкой

analyze_database_queries

Паттерны запросов MongoDB/PostgreSQL

analyze_indexes

Эвристики покрытия индексов MongoDB

analyze_async_patterns

Паттерны производительности async/await

analyze_connection_pooling

Анти-паттерны жизненного цикла соединений

analyze_dependencies

Гигиена package.json / lockfile

Справочник инструментов: docs/tools.md

Установка

npm install ai-backend-performance-mcp

Или запустите напрямую:

npx ai-backend-performance-mcp

Конфигурация MCP

Добавьте в конфигурацию вашего MCP-клиента (пример для Cursor / Claude Desktop):

{
  "mcpServers": {
    "backend-performance": {
      "command": "npx",
      "args": ["-y", "ai-backend-performance-mcp"],
      "env": {}
    }
  }
}

Для локальной разработки:

{
  "mcpServers": {
    "backend-performance": {
      "command": "node",
      "args": ["/absolute/path/to/ai-backend-performance-mcp/dist/index.js"]
    }
  }
}

Использование

Вызовите любой инструмент с projectPath, указывающим на репозиторий Node.js backend:

{
  "projectPath": "/path/to/your/api"
}

Пример вывода (сокращённый)

{
  "projectPath": "/app/examples/sample-node-api",
  "technologies": ["express", "mongodb"],
  "metadata": {
    "packageName": "sample-node-api",
    "packageVersion": "1.0.0",
    "sourceFileCount": 4
  },
  "findings": [
    {
      "category": "pooling",
      "severity": "critical",
      "title": "Connection or client created in request handler",
      "evidence": {
        "kind": "confirmed",
        "snippet": "const client = await MongoClient.connect(...)"
      },
      "confidence": 0.9,
      "recommendation": "Create a shared client/pool at module scope and reuse it."
    }
  ],
  "summary": {
    "totalFindings": 6,
    "confirmedCount": 3,
    "potentialCount": 3
  }
}

Попробуйте включённый демонстрационный проект в examples/sample-node-api.

Безопасность

  • Только чтение: никогда не записывает в анализируемые проекты

  • Проверка путей: предотвращает выход за пределы projectPath

  • Без выполнения кода: анализирует только текст исходников; не запускает код репозитория

  • Недоверенный ввод: считайте анализируемые репозитории недоверенными

Ограничения

  • Только статический анализ; находки, зависящие от состояния кластера, остаются potential

  • Динамические require() / запросы, генерируемые во время выполнения, отслеживаются не полностью

  • Анализ индексов сравнивает только вызовы createIndex внутри репозитория (не индексы Atlas/ops-managed) и молчит, если в репозитории их нет

  • Array.find, пакетные $in/ANY(), поиск по _id и клиенты БД на уровне модуля не считаются проблемами

  • Последовательные await помечаются только если они не используют предыдущие привязки; Promise.all никогда не сообщается как находка

  • Обнаружение неиспользуемых зависимостей основано на сканировании импортов

  • Специфические правила для Redis запланированы, но не реализованы в v0.1.0

Разработка

git clone https://github.com/robinafaruqia/ai-backend-performance-mcp.git
cd ai-backend-performance-mcp
npm install
npm run typecheck
npm run lint
npm test
npm run build

См. docs/development.md.

Тестирование

npm test

Фикстурные проекты в tests/fixtures/ объединяют проблемный и валидный код для N+1 запросов, индексов, асинхронности, пулов и зависимостей, чтобы анализаторы не срабатывали на каждый await, запрос, цикл или соединение.

Дорожная карта

  • Анализатор Redis/кэша

  • Специфические правила запросов для Prisma/TypeORM

  • Кэширование ProjectContext

  • Экспорт отчётов SARIF/JSON

  • Настраиваемые пороги серьёзности

Вклад в проект

Вклад приветствуется! См. CONTRIBUTING.md и CODE_OF_CONDUCT.md.

Лицензия

MIT — см. LICENSE.

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI assistants to perform sophisticated static code analysis using Joern's Code Property Graph technology. Supports multi-language analysis, security vulnerability detection, and code quality assessment through isolated Docker environments.
    151
    GPL 3.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables MCP-compatible clients to inspect Next.js codebases, analyze App Router and Pages Router structure, discover API routes, and audit build performance through controlled tools.
    8
    MIT

View all related MCP servers

Related MCP Connectors

  • Provide AI-powered real-time analysis and intelligence on NPM packages, including security, depend…

  • Package intelligence for AI agents across npm, PyPI, crates.io and deps.dev. No API keys.

  • Lints + auto-fixes how AI coding agents discover any new product. 24 rules, 6 tools, score 0-100.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/robinafaruqia/ai-backend-performance-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server