Skip to main content
Glama

mcp-demo

Минималистичный Python MCP-сервер, созданный поэтапно, чтобы каждый коммит раскрывал одну концепцию. Конечный результат: Claude Code может вызывать локальные модели Ollama (gemma3:4b / 3:12b) в качестве инструмента, перенаправляя некритичные задачи с API на домашний сервер.

Что такое MCP на самом деле?

Model Context Protocol — это стандартизированный протокол JSON-RPC 2.0, который позволяет LLM-клиенту (Claude Code, Claude Desktop, Cursor) обнаруживать и вызывать инструменты, получать ресурсы и загружать шаблоны промптов из отдельных процессов, называемых MCP-серверами. MCP для инструментов LLM — это то же самое, что LSP для поддержки языков в IDE: один протокол, множество совместимых реализаций.

Компоненты системы

    ┌───────────────────┐  stdio / HTTP   ┌──────────────────┐
    │  MCP Client       │ ◄──JSON-RPC──► │  MCP Server      │
    │  (Claude Code)    │                │  (this repo)     │
    └───────────────────┘                └──────────────────┘
            │                                     │
            │ spawns as child                     │ hits
            │ process (stdio)                     │ localhost:11434
            ▼                                     ▼
     your shell env                        Ollama / gemma3
  • Клиент — встроен в LLM-приложение

  • Сервер — любой процесс, поддерживающий MCP

  • Транспортstdio (клиент запускает сервер как дочерний процесс, передает JSON-RPC через каналы) или streamable-http (сервер как веб-сервис). В этом репозитории используется stdio.

Три примитива, предоставляемые MCP-сервером

Примитив

Что это такое

Использование в этом репозитории

Инструменты

Функции, которые может вызывать LLM

echo, ollama_ask

Ресурсы

Блоки данных только для чтения, которые может получить клиент

ollama://models (список загруженных моделей)

Промпты

Готовые шаблоны промптов

(не используются — для минимализма)

Этапы разработки

Каждый этап — это один коммит, git log показывает эволюцию.

  1. каркас — pyproject, README, .gitignore.

  2. hello-world сервер — один инструмент echo + клиент для дымового тестирования. Демонстрирует полный жизненный цикл: запуск клиентом → рукопожатие → обнаружение инструмента → вызов инструмента.

  3. инструмент ollama_ask — асинхронный инструмент, который отправляет POST-запрос на localhost:11434/api/generate и возвращает ответ Gemma.

  4. полировка — добавляет параметр system в ollama_ask и предоставляет ресурс по адресу ollama://models (список загруженных моделей).

Установка и запуск

python3 -m venv .venv
source .venv/bin/activate
pip install -e .
# Phase 2+ only: run the server by hand to smoke-test
python -m mcp_demo.server

Сервер считывает JSON-RPC из stdin и записывает в stdout — если запустить его напрямую в терминале, он будет просто ждать ввода. Это ожидаемое поведение. Клиент (Claude Code) — это то, что фактически подает данные.

Регистрация в Claude Code

Добавьте в ~/.claude/settings.json:

{
  "mcpServers": {
    "mcp-demo": {
      "command": "/home/booty/mcp-demo/.venv/bin/python",
      "args": ["-m", "mcp_demo.server"]
    }
  }
}

Перезапустите Claude Code. Инструменты появятся как mcp__mcp-demo__<tool_name>.

Дополнительная информация

F
license - not found
Not graded
quality - not tested
Not graded
maintenance - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer

  • MCP server for AI dialogue using various LLM models via AceDataCloud

  • An MCP server that gives your AI access to the source code and docs of all public github repos

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/SiNBooty/MCP-Demo'

If you have feedback or need assistance with the MCP directory API, please join our Discord server