Socket
БесплатноНе проверенStateful outbound TCP/UDP MCP server enabling LLMs to perform multi-step network protocols like HTTP/1.x, SMTP, Redis, and DNS.
Описание
Stateful outbound TCP/UDP MCP server enabling LLMs to perform multi-step network protocols like HTTP/1.x, SMTP, Redis, and DNS.
README
Stateful outbound TCP/UDP MCP server for LLMs.
Sockets stay open across tool calls until you close them or they hit the idle timeout. That makes multi-step protocols practical: HTTP/1.x, SMTP, Redis, DNS (UDP), custom text/binary protocols, and more.
See DESIGN.md for the full design.
Install
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
Run
# stdio (default) — typical for MCP clients
mcp-socket
# or
python -m mcp_socket
# HTTP transport
mcp-socket --transport streamable-http --host 127.0.0.1 --port 8000
CLI options
| Option | Default | Description |
|---|---|---|
--transport |
stdio |
stdio, streamable-http, or sse |
--host |
127.0.0.1 |
HTTP bind address |
--port |
8000 |
HTTP bind port |
--socket-idle-timeout |
300 |
Idle seconds before auto-close |
--cleanup-interval |
5 |
Cleanup scan interval |
--allow-private-network |
off | Allow RFC1918/loopback/ULA/etc. |
--max-sockets |
128 |
Max concurrent sockets |
--max-send-bytes |
1048576 |
Max send payload |
--max-recv-bytes |
1048576 |
Max recv payload |
--log-level |
INFO |
Logging level |
Tools
| Tool | Purpose |
|---|---|
resolve_dns |
Hostname → A/AAAA |
tcp_connect |
Connect TCP to IP:port |
udp_open |
Create UDP socket |
tcp_send / udp_send |
Send (utf8 or base64) |
tcp_recv / udp_recv |
Receive (base64 + optional text) |
socket_poll |
Check readability |
list_sockets |
Inspect open sockets |
close_socket |
Close (optional TCP RST) |
tcp_connect / udp_send require IP literals. Call resolve_dns first for hostnames.
Private and local destinations are blocked by default (ADDRESS_BLOCKED). Use --allow-private-network for local testing.
Example (TCP HTTP/1.0)
resolve_dns(hostname="example.com")
→ { "ipv4": ["93.184.216.34"], ... }
tcp_connect(address="93.184.216.34", port=80)
→ { "socket_id": "...", "state": "connected" }
tcp_send(socket_id="...", encoding="utf8",
data="GET / HTTP/1.0\r\nHost: example.com\r\n\r\n")
tcp_recv(socket_id="...", max_bytes=65536, timeout_seconds=5)
→ { "bytes_received": N, "data_base64": "...", "text": "HTTP/1.0 200 ..." }
close_socket(socket_id="...")
Security
Before every connect() / sendto():
- Destination must be a valid IP literal
- Private/local ranges are denied unless
--allow-private-network - Multicast / unspecified / reserved ranges are always denied
No TLS, no listening sockets, no proxy support — higher-level servers can layer those on top.
Develop
pip install -e ".[dev]"
pytest
License
MIT
Установка Socket
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/cinit/mcp-socketFAQ
Socket MCP бесплатный?
Да, Socket MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Socket?
Нет, Socket работает без API-ключей и переменных окружения.
Socket — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Socket в Claude Desktop, Claude Code или Cursor?
Открой Socket на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
wenb1n-dev/SmartDB_MCP
A universal database MCP server supporting simultaneous connections to multiple databases. It provides tools for database operations, health analysis, SQL optim
автор: wenb1n-devPostgres Server
This server enables interaction with PostgreSQL databases through the Model Context Protocol, optimized for the AWS Bedrock AgentCore Runtime. It provides tools
автор: madhurprashPostgres
Query your database in natural language
автор: AnthropicPostgreSQL
Read-only database access with schema inspection.
автор: modelcontextprotocolCompare Socket with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории data
