Skip to main content
Glama

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.client
connected: 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

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • F
    license
    Not graded
    quality
    D
    maintenance
    A 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.
  • F
    license
    A
    quality
    C
    maintenance
    A minimal starting point for a Model Context Protocol server with stdio transport and one tool, enabling quick setup and custom tool addition.
    1
  • A
    license
    A
    quality
    C
    maintenance
    Minimal typed scaffold for a local Model Context Protocol stdio server, providing echo and server_status tools.
    2
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Exposes 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.
    3
    MIT

View all related MCP servers

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

View all MCP Connectors

Latest Blog Posts

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