MCP Stdio Wrapper
MCP Stdio Wrapper
MCP Stdio Wrapper — это небольшой MCP-сервер, который позволяет одному MCP-клиенту запускать и проверять другой stdio MCP-сервер по требованию.
Его задача — устранить болезненный цикл разработки MCP: некоторые популярные MCP-хосты кэшируют процесс реального сервера, поэтому после каждого изменения кода вам приходится обновлять окно или перезапускать хост расширений только для того, чтобы провести дымовое тестирование изменений. Эта обертка располагается перед реальным целевым сервером и предоставляет вашему агенту стабильный мост для повторных дымовых тестов, пока целевая реализация продолжает меняться под ним.
Зачем это нужно
Используйте этот проект, если:
вы активно разрабатываете stdio MCP-сервер
ваш основной MCP-хост не выполняет надежную перезагрузку целевого сервера после каждого изменения
вы все еще хотите, чтобы агент перечислял инструменты, вызывал их, читал ресурсы и проверял промпты в процессе разработки
Этот проект намеренно ограничен. Он предназначен для локальной разработки и дымового тестирования, а не для проксирования производственного трафика.
Обертка также предоставляет встроенные руководства, которые агенты могут обнаружить напрямую:
ресурс:
wrapper://how-to-useпромпт:
tool_usage_guide
Related MCP server: Multi MCP
Как это работает
Обертка поддерживает два режима.
Инструменты для разовых операций (one-shot):
stdio_mcp_list_toolsstdio_mcp_call_toolstdio_mcp_list_resourcesstdio_mcp_read_resourcestdio_mcp_list_promptsstdio_mcp_get_prompt
Каждый вызов моста для разовой операции:
запускает целевой stdio MCP-сервер
выполняет одну MCP-операцию
возвращает результат
закрывает целевой процесс
Дополнительные инструменты сессии:
stdio_mcp_open_sessionstdio_mcp_get_sessionstdio_mcp_close_sessionstdio_mcp_session_list_toolsstdio_mcp_session_call_toolstdio_mcp_session_list_resourcesstdio_mcp_session_read_resourcestdio_mcp_session_list_promptsstdio_mcp_session_get_prompt
Это означает:
чистый целевой процесс для каждого дымового теста
возможность явной кратковременной сессии для многошаговой проверки
отсутствие скрытого кэширования
упрощенная отладка, так как stderr целевого процесса выводится при сбое
Быстрый старт
Клонируйте репозиторий и установите зависимости:
nvm use
npm installЗапустите обертку:
npm startОпубликованный пакет также можно запустить напрямую с помощью:
npx mcp-stdio-wrapperПакет опубликован по адресу https://www.npmjs.com/package/mcp-stdio-wrapper.
Этот репозиторий настроен для доверенной публикации npm из GitHub Actions. См. Контрольный список публикации для последовательности начальной публикации и передачи OIDC доверенной публикации.
Направьте ваш основной MCP-клиент на эту обертку, затем используйте один из инструментов моста с входными данными запуска, например:
{
"command": "node",
"args": ["C:\\path\\to\\your-mcp\\dist\\index.js"],
"cwd": "C:\\path\\to\\your-mcp",
"inheritParentEnv": true,
"env": {
"EXAMPLE_ENV": "value"
},
"startupTimeoutMs": 30000,
"operationTimeoutMs": 30000
}Затем попросите вашего агента:
перечислить инструменты с реального целевого сервера
вызывать один целевой инструмент после каждого изменения кода
проверять чтение ресурсов или промпты
Используйте режим разовых операций для начальной проверки и небольших вызовов без сохранения состояния. Если цель возвращает дескрипторы в стиле jobId, ожидает сохранения состояния в памяти между вызовами или просто имеет долгий запуск, сначала откройте явную сессию, а затем используйте инструменты stdio_mcp_session_* перед ее закрытием.
Поверхность инструментов
Общие поля запуска:
command: целевой исполняемый файлargs: аргументы целевой командыcwd: необязательная рабочая директория целиinheritParentEnv: еслиtrue, объединяет переменные окружения процесса обертки с запуском целиenv: дополнительные переменные окружения целиstartupTimeoutMs: необязательный таймаут запуска и инициализации MCP для разовой операцииoperationTimeoutMs: необязательный таймаут операции для разовой операцииtimeoutMs: устаревший ярлык для обоих этапов разовой операции; инструменты сессии все еще используютtimeoutMs
Операции моста:
stdio_mcp_list_tools: проверка целевых инструментовstdio_mcp_call_tool: вызов одного целевого инструментаstdio_mcp_list_resources: проверка целевых ресурсовstdio_mcp_read_resource: чтение одного целевого ресурсаstdio_mcp_list_prompts: проверка целевых промптовstdio_mcp_get_prompt: получение определения одного целевого промпта
Операции сессии:
stdio_mcp_open_session: запуск одного целевого процесса и поддержание его работы для нескольких операцийstdio_mcp_get_session: проверка диагностики сессии, такой как статус, временные метки, pid, код выхода и хвост stderrstdio_mcp_close_session: закрытие активной или завершенной сессии и удаление ее записиstdio_mcp_session_list_tools: проверка инструментов через существующую сессиюstdio_mcp_session_call_tool: вызов одного целевого инструмента через существующую сессиюstdio_mcp_session_list_resources: проверка ресурсов через существующую сессиюstdio_mcp_session_read_resource: чтение одного целевого ресурса через существующую сессиюstdio_mcp_session_list_prompts: проверка промптов через существующую сессиюstdio_mcp_session_get_prompt: получение определения одного целевого промпта через существующую сессию
Руководства обертки:
wrapper://how-to-use: текстовое руководство по использованиюtool_usage_guide: форма промпта с теми же инструкциями
Режим сессии лучше подходит, когда:
цель возвращает отложенные дескрипторы, такие как
jobIdпоследующие вызовы должны попадать в тот же активный целевой процесс
запуск цели достаточно затратен, чтобы его повторение скрывало реальный цикл обратной связи
Заметки о безопасности
Эта обертка запускает произвольные команды, предоставленные вызывающей стороной.
Относитесь к аргументам запуска и переменным окружения как к конфиденциальным данным.
Используйте только с доверенными целевыми командами и доверенными локальными проектами.
Не выставляйте это как общедоступный многопользовательский сервис.
Документация
История звезд
This server cannot be deployed
Maintenance
Related MCP Connectors
The Remote MCP server acts as a standardized bridge between LLM applications (like Claude, ChatGPT, and Cursor) and external services, enabling AI agents to access external tools and resources. Its primary capability is providing a centralized search tool to discover other MCP servers and their respective tools. Unlike local implementations, it runs remotely with OAuth authentication and permission controls for security.
A MCP server built for developers enabling Git based project management with project and personal…
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
MCP Server for JFrog, providing tools for development and artifact management.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceAn MCP server that enables programmatic management and monitoring of development servers through a unified interface and interactive TUI. It provides tools for process control, log streaming, and experimental browser automation via Playwright.1MIT
- AlicenseBqualityBmaintenanceA flexible proxy server that aggregates multiple backend MCP servers into a single interface using STDIO or SSE transports. It supports dynamic server management via an HTTP API and utilizes namespacing to prevent tool conflicts across connected services.31MIT
- AlicenseNot gradedqualityCmaintenanceA zero-dependency universal MCP gateway that multiplexes multiple MCP servers across stdio, HTTP, and SSE, providing unified tool access, circuit breaking, and an interactive inspector studio.MIT
- AlicenseNot gradedqualityCmaintenanceThis MCP server is a zero-config CLI tool that lets developers tap into any stdio-based MCP server from their terminal, enabling them to list tools/resources/prompts, call tools with JSON arguments, and health-check servers without requiring a full AI client or browser setup.1MIT