high-performance-mcp-server
Высокопроизводительный MCP-сервер
Высокопроизводительный, модульный сервер Model Context Protocol (MCP), написанный на TypeScript с использованием современного MCP v2 SDK (@modelcontextprotocol/server). Особенности: безопасные по умолчанию профили безопасности, зависящие от профиля инструкции сервера, модульные MCP-промпты, доступ к рабочей области только для чтения с поиском и защитой конфиденциальности путей хоста, Streamable HTTP, транспорт Stdio, переиспользуемый пул рабочих потоков, производственное LRU-кэширование с защитой от лавинообразных запросов (single-flight) и структурированная телеметрия.
Статус проекта: публичная предварительная версия (v0.1.0)
[!NOTE] Статус:
0.1.0— публичная предварительная версия. Этот пакет предоставляет безопасные по умолчанию MCP-инструменты, инспекцию рабочей области только для чтения и высокопроизводительное выполнение в рабочих потоках. Требуется Node.js >= 22.0.0.
Related MCP server: VSCode LSP MCP Server
Возможности
Современная архитектура MCP v2: Нативно построен на
@modelcontextprotocol/serverсо стандартной валидацией JSON Schema draft 2020-12 и полной поддержкой протокола 2026-07-28.Поддержка двух транспортов: Бесшовная работа через стандартный ввод/вывод (
stdio) или современный Streamable HTTP (node:http+/mcp).Зависящие от профиля инструкции сервера: Динамические инструкции сервера, которые направляют подключённые LLM по рекомендуемым рабочим процессам, последовательности инструментов и границам безопасности в зависимости от активного профиля.
Модульные MCP-промпты: Переиспользуемые промпты для задач (
explore_workspace,find_and_explain,review_file,trace_symbol), доступные исключительно в профиляхworkspaceиall.Безопасные по умолчанию профили инструментов: Профиль
safeпо умолчанию не предоставляет никакого доступа к файловой системе или аппаратному обеспечению. Явное согласие требуется дляworkspace,diagnostics,benchmark,adminилиall.Рабочая область только для чтения и защита конфиденциальности путей хоста: Безопасный доступ к разрешённым каталогам с защитой от обхода путей и символьных ссылок, логическое сопоставление корней (
root-1,root-2), жёсткие лимиты 1 МиБ и защита от бинарных файлов без раскрытия абсолютных путей хоста клиентам или моделям.Поиск по рабочей области v1: Быстрый, ограниченный поиск файлов и текста (
search_files,search_text) с игнорируемыми по умолчанию каталогами, ограниченным параллелизмом, сопоставлением координат и отменой со стороны клиента.Пул рабочих потоков: Выгрузка ресурсоёмких задач из цикла событий Node.js с автоматическим восстановлением жизненного цикла и инвариантами без дрейфа.
Производственное LRU-кэширование: Кэш с ограничением памяти, поддержкой TTL и объединением запросов (single-flight) для устранения лавинообразных запросов.
Внутреннее структурированное логирование: Безопасное для stdio JSON-логирование исключительно в
stderr.
Быстрый старт
Конфигурация MCP-клиента (Claude Desktop, Cursor и т.д.)
Добавьте в вашу MCP-конфигурацию (например, claude_desktop_config.json):
Профиль Safe по умолчанию (Stdio)
{
"mcpServers": {
"high-performance-mcp": {
"command": "npx",
"args": [
"-y",
"high-performance-mcp-server"
]
}
}
}Профиль рабочей области только для чтения
{
"mcpServers": {
"workspace-mcp": {
"command": "npx",
"args": [
"-y",
"high-performance-mcp-server",
"--profile=workspace",
"--root=/path/to/project"
]
}
}
}Локальная разработка / выполнение из исходников
# Clone and build
git clone https://github.com/eminyilmz/high-performance-mcp-server.git
cd high-performance-mcp-server
npm install
npm run build
# Run default safe profile
node dist/index.js
# Run workspace profile with allowlisted root
node dist/index.js --profile=workspace --root=.Безопасные по умолчанию профили
Для защиты хост-машин и предотвращения непреднамеренного потребления ресурсов или утечки метаданных инструменты, ресурсы, инструкции и промпты разделены на профили безопасности:
Профиль | Включённые категории | Доступные инструменты | Промпты | Вариант использования |
|
|
| (нет) | Ноль инспекции хоста, ноль доступа к файловой системе, ноль изменений. Безопасно для публичного доступа. |
|
|
|
| Инспекция файлов и каталогов только для чтения, строго ограниченная разрешёнными каталогами |
|
|
| (нет) | Наблюдаемость процесса и системы для мониторинга здоровья и задержки цикла событий. |
|
|
| (нет) | Ресурсоёмкие тесты вычисления простых чисел и тесты пула рабочих потоков. |
|
|
| (нет) | Наблюдаемость с административным изменением состояния выполнения (очистка кэша, сброс метрик). |
|
| Все 17 зарегистрированных инструментов | Все 4 промпта рабочей области | Полный каталог инструментов и промптов. |
Инструкции сервера и промпты
Зависящие от профиля инструкции сервера
При подключении MCP-клиента сервер передаёт краткие инструкции, адаптированные под профиль, через протокол MCP:
safe: Указывает модели, что инспекция файловой системы и аппаратного обеспечения недоступна.workspace: Описывает рекомендуемую последовательность исследования (workspace_roots->search_files/search_text->file_info->read_text_file), подчёркивает ограничения только для чтения и акцентирует использование путей относительно корня.diagnosticsиbenchmark: Направляет на интерпретацию наблюдательных метрик и предупреждает о ненужных вызовах ресурсоёмких вычислений.admin: Отмечает, что операции изменения затрагивают только локальные для процесса кэши и состояние телеметрии.
Модульные MCP-промпты
При работе в профиле workspace или all сервер предоставляет модульные промпты, обеспечивающие структурированные рабочие процессы для типовых инженерных задач:
Промпт | Аргументы | Назначение |
|
| Направляет модель на структурированное исследование разрешённого корня рабочей области с помощью поиска и инспекции файлов. |
|
| Находит соответствующий код или конфигурацию с помощью буквального текстового поиска и читает определяющие файлы для создания объяснения. |
|
| Формулирует структурированный, только для чтения обзор указанного текстового файла в рабочей области. |
|
| Прослеживает объявления, ссылки и места использования символа по всей рабочей области. |
[!NOTE] Аргументы промптов рассматриваются как ограниченные данные задач и экранируются перед вставкой в переиспользуемые шаблоны MCP-промптов. Промпты не выполняют прямой ввод-вывод файловой системы; фактическое чтение файлов и поиск выполняются моделью с использованием стандартных MCP-инструментов и ресурсов под строгим контролем разрешённых корней.
Доступ к рабочей области только для чтения
Доступ к файловой системе отключён по умолчанию. Чтобы включить доступ к рабочей области только для чтения, явно укажите --profile=workspace (или --profile=all) и хотя бы один разрешённый каталог --root:
# POSIX / macOS / Linux
npx high-performance-mcp-server --profile=workspace --root=/home/user/my-project
# Windows
npx high-performance-mcp-server --profile=workspace --root="C:\Projects\app"
# Multiple roots
npx high-performance-mcp-server --profile=workspace --root=./packages/core --root=./packages/cliГарантии безопасности и ограничения
Конфиденциальность путей хоста: Настроенные абсолютные пути файловой системы остаются внутренними для сервера. Инструмент
workspace_rootsи ресурсworkspace://rootsвозвращают логические идентификаторы корней (id: "root-1",name: "my-project") вместо абсолютных путей хоста:{ "roots": [ { "id": "root-1", "name": "my-project" } ] }Строгий список разрешённых: Доступны только явно переданные каталоги
--root. Максимум 16 уникальных корней (и максимум 64 исходных пути до дедупликации).Только для чтения: В кодовой базе сервера нет функций изменения файловой системы (
writeFile,unlink,rm,mkdir,renameи т.д.).Защита от обхода и символьных ссылок: Целевые пути канонизируются с помощью
fs.realpathи строго проверяются на невозможность выхода за границы корней.Очищенные ошибки: Ответы об ошибках ссылаются только на логические идентификаторы корней, имена корней и запрошенные относительные пути, что гарантирует отсутствие утечки внутренней структуры каталогов.
Лимиты чтения файлов: Лимит чтения текста по умолчанию — 256 КиБ; жёсткий верхний предел — 1 МиБ (
MAX_TEXT_READ_BYTES).Обнаружение бинарных файлов: Файлы, содержащие NUL-байты (
\0), отклоняются инструментомread_text_fileдля предотвращения загрязнения контекста.MCP-ресурсы: Предоставляет
workspace://roots(статический список корней) иworkspace://file/{rootId}{?path}(динамический читатель текста).
Поиск по рабочей области
Профиль workspace предоставляет ограниченные инструменты поиска только для чтения:
search_files:Ищет имена файлов и каталогов с помощью буквального сопоставления подстрок.
Фильтрует по типу (
file,directory,all), учёту регистра и начальному пути.По умолчанию пропускает распространённые каталоги сборки/зависимостей (
.git,node_modules,.next,dist,build,targetи т.д.). ПередайтеincludeIgnored: true, чтобы искать в них.Никогда не переходит в каталоги символьных ссылок/соединений, чтобы предотвратить циклы рекурсии и выходы.
search_text:Ищет в UTF-8 текстовых файлах с помощью ограниченного буквального сопоставления с фиксированным параллелизмом (8 рабочих потоков).
Возвращает 1-индексированные строки, столбцы и обрезанные фрагменты предпросмотра (до 300 символов).
Поддерживает фильтры по расширениям файлов (например,
extensions: [".ts", ".md"]илиextensions: ["ts", "md"]).Автоматически пропускает бинарные файлы (NUL-байты) и файлы размером более 1 МиБ (
MAX_SEARCH_FILE_BYTES).Лимиты: жёсткие значения по умолчанию (
maxResults: 100[макс. 500],maxFiles: 5000[макс. 50000],timeoutMs: 10000[макс. 30000]).Полностью отменяем через
AbortSignalклиента.
Интерфейс командной строки (CLI)
Usage:
high-performance-mcp-server [options]
Options:
--transport=<stdio|http> Transport protocol to run (default: stdio)
--port=<number> HTTP server port (default: 3000, only for http transport)
--profile=<profile> Security tool profile (default: safe)
--root=<path> Allowlisted read-only workspace root (repeatable, max 16)
--list-tools Display available tools for the active profile and exit
--help, -h Show this help message and exit
--version, -v Show version and exitПримеры
# Start default safe server on stdio
high-performance-mcp-server
# List tools available under the workspace profile
high-performance-mcp-server --profile=workspace --list-tools
# Run Streamable HTTP transport on port 8080 with workspace profile
high-performance-mcp-server --transport=http --port=8080 --profile=workspace --root=./projectДетали HTTP-транспорта
При запуске с --transport=http сервер запускает транспорт Streamable HTTP с использованием встроенного node:http:
Конечная точка:
http://127.0.0.1:<port>/mcpБезопасность: Сервер привязывается строго к
127.0.0.1и проверяет заголовкиHostиOriginдля защиты от DNS-реббиндинга и межсайтовой подделки запросов.Предупреждение: Не открывайте HTTP-транспорт напрямую в ненадёжные сети без аутентифицирующего обратного прокси или шлюза.
Переменные окружения
Переменная | Тип | По умолчанию | Описание |
|
|
| Переопределение профиля инструментов по умолчанию ( |
|
|
| Переопределение HTTP-порта по умолчанию (строгое целое число 1–65535) |
|
| (нет) | JSON-массив корневых каталогов рабочей области (например, |
|
|
| Количество рабочих потоков, создаваемых в пуле (от 1 до 16) |
|
|
| Максимальное количество записей в LRU-кэше (от 1 до 10000) |
|
|
| Время жизни записи LRU-кэша в миллисекундах (5 минут) |
Разработка
# Install dependencies
npm install
# Run code generator and TypeScript typecheck
npm run typecheck
# Execute unit, security, search, and modern protocol integration test suites
npm test
# Build production bundle
npm run build
# Validate npm package payload without publishing
npm run pack:check
# Run package payload security & privacy scan
npm run security:package
# Run end-to-end tarball installation smoke test
npm run smoke:packageАрхитектура
MCP Clients (Claude Desktop, Cursor, Custom SDK Clients)
│
┌───────────────┴───────────────┐
▼ ▼
Stdio Transport Streamable HTTP Transport
(process.stdin / stdout) (127.0.0.1:3000/mcp)
│ │
└───────────────┬───────────────┘
▼
McpServer Instance
(Profile-Aware Server Instructions)
│
┌───────────────┴───────────────┐
▼ ▼
Tool & Prompt Profiles Internal Telemetry
(safe, workspace, diag, ...) (Metrics & Stderr Logger)
│ │
├──────► Read-Only Workspace, Search, Resources & Prompts (Allowlisted Roots, Host Privacy)
│
├──────► In-Memory LRU Cache (Single-Flight Stampede Protection)
│
└──────► Reusable Worker Thread Pool (CPU Offloading)Безопасность
Профиль безопасности по умолчанию (
safe) гарантирует, что проверка файловой системы или оборудования не будет доступна без явного согласия.Доступ к рабочей области только для чтения строго изолирует доступ к файлам в настроенных каталогах
--root, не раскрывая абсолютные пути файловой системы хоста.Инструкции и подсказки сервера усиливают безопасную последовательность использования инструментов и явные границы задач с помощью экранирования символов.
Транспорт Stdio резервирует
stdoutисключительно для сообщений JSON-RPC; все внутренние журналы отладки и телеметрии направляются вstderr.HTTP-транспорт обеспечивает строгую проверку источника localhost и заголовка Host.
Подробнее см. в SECURITY.md.
Участие в разработке и релизы
Вклад и отзывы приветствуются! Пожалуйста, прочитайте CONTRIBUTING.md, чтобы узнать подробности о стиле кода, соглашениях по разработке инструментов, требованиях к тестированию и процессе выпуска релизов мейнтейнером.
Лицензия
Этот проект лицензирован на условиях лицензии MIT.
Available Tools
2 toolsechoEcho ToolA
Echoes back the provided message
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | The message to echo back |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure. It accurately states that the tool returns the provided message, which is the only meaningful behavioral trait. No side effects, auth, or rate limits are relevant for this simple operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that contains zero filler. Every word earns its place, and the structure is ideal for such a minimal tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's extreme simplicity—one parameter, no output schema, no annotations—the description fully covers the operation. There is nothing missing that an agent would need to select and invoke this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the 'message' parameter is already fully documented in the schema. The tool description adds no additional semantic value beyond the schema, meeting the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Echoes' with a clear object 'the provided message', making the tool's function obvious. It distinguishes from sibling 'ping' by implication (echo vs. connectivity check), but does not explicitly differentiate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The use case is implied by the simple definition—'if you need to echo a message, use this tool'—but there is no explicit when-to-use guidance or mention of the sibling tool 'ping'. For such a trivial tool, the implication is adequate but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pingPingA
Checks whether the MCP server is responsive
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not explicitly mention side effects or whether the operation is read-only. However, the nature of a ping implies a non-destructive check, so it is somewhat transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that is easy to understand and directly conveys the purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the primary purpose but does not specify the return value or output format, which might be ambiguous without a schema. It could be improved by indicating the type of response expected.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so the schema covers all aspects. No additional parameter explanation is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function as a server responsiveness check, distinguishing it from the sibling 'echo' tool which likely echoes input.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it (for health checks), and the context of only one sibling ('echo') makes the usage scenario unambiguous, though it does not explicitly state alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
The two tools have entirely distinct purposes: echo returns a message, while ping checks server responsiveness. There is no overlap or ambiguity in their functionality.
Both tool names are single, lowercase verbs (echo, ping) that clearly describe their actions. The naming style is perfectly consistent and predictable.
With only 2 tools, the server is at the lower boundary of what feels minimal. While each tool serves a purpose, the set is extremely thin for a server named 'high-performance', which typically implies broader functionality.
The tool surface is almost nonexistent for a general-purpose server. While echo and ping are fully realized for their narrow functions, there are no operations that would support meaningful workflows, leaving significant gaps in coverage for any real domain.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
A MCP server built for developers enabling Git based project management with project and personal…
A simple Typescript MCP server built using the official MCP Typescript SDK and smithery/cli. This…
An MCP server for deep research or task groups
The official Svelte MCP server providing docs and autofixing tools for Svelte development
Related MCP Servers
- AlicenseBqualityDmaintenanceTypeScript-based MCP server designed to enhance code editing experiences by providing features such as hover information, code completion, and diagnostics.32026MIT
- AlicenseNot gradedqualityAmaintenanceAn MCP server that exposes Language Server Protocol features to external clients, allowing access to hover information, definitions, completions, references, and rename functionalities.1640MIT
- AlicenseAqualityDmaintenanceA lightweight MCP server that provides 40 tools for TypeScript/JavaScript refactoring and code intelligence, directly mapping to TypeScript's tsserver protocol commands for accurate structural changes and workspace analysis.40343MIT
- AlicenseNot gradedqualityCmaintenanceA TypeScript-based MCP server that enables code search, file reading, and project management via the GitLab API.251ISC
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/AnIayana/high-performance-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server