MCP Stdio — MCP-сервер для Claude Code: stdio-шлюз к HTTP
Связывает MCP-клиенты с удалёнными HTTP MCP-серверами и умеет обратное: поднять локальный stdio-сервер как HTTP-эндпоинт.
claude mcp add mcp-stdio -- uvx mcp-stdioЧто делает MCP Stdio
MCP Stdio работает в обе стороны. В обычном режиме клиент видит его как локальный MCP-сервер по stdio, а запросы уходят на удалённый сервер по Streamable HTTP или SSE. Поддерживаются bearer-токены, свои заголовки и OAuth 2.1 с PKCE, динамической регистрацией клиента и обновлением токенов. Токены сохраняются между запусками.
Режим mcp-stdio serve разворачивает картину: локальный stdio-сервер, написанный на чём угодно, становится Streamable HTTP-эндпоинтом. Можно закрыть его bearer-токеном или встроенным OAuth 2.1, а при включённом OAuth каждый пользователь получает свой бэкенд. Транспорт переключается флагом --transport. Для серверов новой эры есть --protocol-era auto: шлюз сам спросит, какой протокол понимает сервер, и подстроится — клиент менять не нужно. Без флага поведение прежнее.
Установка идёт через uvx, поэтому нужен установленный uv. Для OAuth-сценариев с hosted-документом redirect_uris в нём должен содержать loopback-callback без порта — http://127.0.0.1/callback, потому что реальный порт каждый раз новый, и сервер авторизации обязан принимать любой порт для loopback.
Какие задачи решает
- подключить Claude к удалённому MCP-серверу по HTTP
- пробросить bearer-токен или свои заголовки в удалённый сервер
- пройти OAuth 2.1 с PKCE и обновлением токенов без ручной возни
- выставить локальный stdio-сервер наружу как Streamable HTTP-эндпоинт
- развести пользователей по отдельным бэкендам при OAuth
Примеры запросов агенту
- Добавь mcp-stdio как MCP-сервер и подключи его к удалённому серверу по Streamable HTTP с bearer-токеном.
- Запусти
mcp-stdio serveи открой мой локальный stdio-сервер как HTTP-эндпоинт с OAuth 2.1. - Включи
--protocol-era auto, чтобы шлюз сам определил протокол удалённого сервера.
Как установить MCP Stdio
Командой платформы
claude mcp add mcp-stdio -- uvx mcp-stdiouvx запускает команду с именем пакета; если в README она другая — uvx --from mcp-stdio <команда>
Командой платформы
codex mcp add mcp-stdio -- uvx mcp-stdiouvx запускает команду с именем пакета; если в README она другая — uvx --from mcp-stdio <команда>
Файл настроек
{
"mcpServers": {
"mcp-stdio": {
"command": "uvx",
"args": [
"mcp-stdio"
]
}
}
}uvx запускает команду с именем пакета; если в README она другая — uvx --from mcp-stdio <команда>
Файл настроек
{
"servers": {
"mcp-stdio": {
"type": "stdio",
"command": "uvx",
"args": [
"mcp-stdio"
]
}
}
}uvx запускает команду с именем пакета; если в README она другая — uvx --from mcp-stdio <команда>
Командой платформы
gemini mcp add mcp-stdio uvx mcp-stdiouvx запускает команду с именем пакета; если в README она другая — uvx --from mcp-stdio <команда>
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о MCP Stdio
Как установить MCP Stdio в Claude Code?
Одной командой: claude mcp add mcp-stdio -- uvx mcp-stdio. Она прописывает сервер в конфигурацию Claude и запускает его через uvx.
Что делает MCP Stdio?
Это шлюз между stdio и HTTP. В обычном режиме он принимает запросы MCP-клиента по stdio и передаёт их удалённому серверу по HTTP, а в режиме serve делает обратное — отдаёт локальный stdio-сервер как HTTP-эндпоинт.
Какие способы аутентификации поддерживаются?
Bearer-токены, произвольные заголовки и OAuth 2.1 с PKCE, динамической регистрацией клиента и обновлением токенов. В режиме serve можно закрыть эндпоинт bearer-токеном или встроенным OAuth 2.1.