- stdio
- **Локальный STDIO (standard input/output)**: чаще всего хост сам **порождает сервер как подпроцесс по запросу** — при старте сессии (session) или когда модели впервые нужен инструмент; затем сервер завершается при окончании сессии. Такой сценарий прямо предусмотрен MCP и его жизненным циклом «инициализация → работа → завершение». [Model Context Protocol+2Model Context Protocol+2](https://modelcontextprotocol.io/docs/concepts/transports?utm_source=chatgpt.com)
- HTTP/SSE
- **Удалённые HTTP/WebSocket/SSE (Server-Sent Events)**: если сервер развёрнут как **постоянный сетевой сервис**, он уже «всегда включён», а агент просто подключается и аутентифицируется при необходимости (клиент его не спаунит). Такой режим поддерживается официально и используется, например, Claude Code для подключения к облачным MCP-серверам. [Model Context Protocol](https://modelcontextprotocol.io/docs/concepts/transports?utm_source=chatgpt.com)[Anthropic](https://docs.anthropic.com/en/docs/claude-code/mcp?utm_source=chatgpt.com)
### Примеры конфигурации
**On-Demand (STDIO, локально):**
```json
{
"mcpServers": {
"arta-console": {
"command": "/usr/local/bin/arta-console",
"args": ["mcp", "--root", "/path/to/project"]
}
}
}
```
Клиент (например, Claude Desktop) сам запустит процесс при старте/первом использовании и закроет при завершении сессии. ([modelcontextprotocol.io](https://modelcontextprotocol.io/quickstart/user "Connect to Local MCP Servers - Model Context Protocol"))
**Long-Running (удалённый или локальный сервис):**
```json
{
"mcpServers": {
"arta-remote": {
"url": "http://localhost:8088/mcp"
}
}
}
```
Сервис уже должен быть запущен и слушать HTTP/SSE/Streamable HTTP — клиент просто подключится. ([modelcontextprotocol.io](https://modelcontextprotocol.io/docs/tutorials/use-remote-mcp-server "Connect to Remote MCP Servers - Model Context Protocol"))
---