mini-mcp-demo
mini-mcp
MCP (Model Context Protocol), реализованный с нуля примерно в ~200 читаемых строк. Сервер, клиент и JSON-RPC-механика между ними — ядро вызова инструментов, от которого зависят все интеграции агентов, достаточно маленькое, чтобы прочитать его за один присест.
git clone https://github.com/harshadkhetpal/mini-mcp
cd mini-mcp
PYTHONPATH=src python3 -m minimcp.clientconnected: mini-mcp-demo protocol 2025-06-18
tools discovered: calc.add, text.word_count, text.summarize_naive
calc.add(2, 40) -> 42
word_count -> 6Зачем это делать, когда существуют SDK
Фреймворки скрывают протокол, а скрытые протоколы порождают инженеров, которые могут подключить интеграцию, но не могут её отладить. Реализация ядра показывает, что на самом деле делают SDK: MCP — это JSON-RPC 2.0 поверх транспорта плюс три метода, которые имеют значение — initialize (рукопожатие и возможности), tools/list (обнаружение с JSON-Schema описаниями) и tools/call (валидированный вызов). Как только это понято, любой MCP SDK читается как удобная обёртка, чем он и является.
Related MCP server: mcp-anvil-lite
Что реализовано
Компонент | Детали |
Сервер | Реестр инструментов через декоратор, JSON-RPC диспетчеризация, корректные коды ошибок (-32700 parse, -32600 invalid request, -32601 method not found, -32602 invalid params, -32603 internal) |
Валидация схем | Минимальное подмножество JSON-Schema (type, required, properties), написанное, а не импортированное |
Клиент | Запускает любой stdio MCP сервер, рукопожатие, обнаружение, вызов |
Демо-сервер | Три детерминированных инструмента, чтобы цикл работал офлайн |
Область применения осознанная: ресурсы, промпты, сэмплирование и уведомления исключены. Подмножество инструментов — это та часть, на которой живут агенты, и полная маленькая вещь лучше неполной большой.
Проектные решения, с которыми стоит поспорить
Транспортно-независимый сервер. handle_line отображает одну строку запроса в одну строку ответа. Один и тот же сервер работает через stdio, сокет или юнит-тест, вызывающий его напрямую — именно поэтому протокольные тесты не требуют подпроцессов и никогда не флакают.
Неизвестные аргументы инструмента отклоняются, а не игнорируются. Инструмент, получающий параметры, которые он никогда не объявлял, — это баг на пути в продакшн. Строгость здесь — это то, что делает отладку вызовов инструментов агента возможной.
Исключения инструментов становятся протокольными ошибками, а не падениями. Баговый инструмент не должен ронять сервер или сессию; клиент получает -32603 с сообщением, и цикл продолжается.
bool — это не integer. В Python bool является подклассом int, поэтому наивные валидаторы принимают True там, где ожидается счётчик. Этот — нет, и тест это закрепляет.
Тестирование
PYTHONPATH=src python3 -m pytest tests -qПокрывает рукопожатие, обнаружение, валидные и невалидные вызовы, каждый код ошибки JSON-RPC и один сквозной тест, запускающий реальный клиент против реального сервера как подпроцесс.
Лицензия
MIT
This server cannot be installed
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 Servers
- FlicenseNot gradedqualityDmaintenanceA minimal Model Context Protocol server that provides basic utility tools including mathematical operations, text processing, hashing, and JSON validation. Implements JSON-RPC stdio transport for local testing and development.
- FlicenseAqualityCmaintenanceA minimal starting point for a Model Context Protocol server with stdio transport and one tool, enabling quick setup and custom tool addition.1
- AlicenseAqualityCmaintenanceMinimal typed scaffold for a local Model Context Protocol stdio server, providing echo and server_status tools.2MIT
- AlicenseAqualityCmaintenanceExposes a verified tool registry (calculator, sandboxed file read, web fetch) over MCP stdio, enabling any MCP-capable client to reuse the same tools from the inspectable ReAct loop.3MIT
Related MCP Connectors
AI Reasoning Cache & Consensus Layer with 11 MCP tools via Streamable HTTP.
x402-paid agent tools: 18 over HTTP, 14 over stdio. USDC per call, no API key.
A Model Context Protocol server for Wix AI tools
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/harshadkhetpal/mini-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server