Skip to main content
Glama
m-rocafort

week7-mcp-server

by m-rocafort

Неделя 7 — MCP (даём агенту собственные инструменты стандартным способом)

Часть моего пути по прокачке навыков автоматизации в условиях, когда отрасль движется в сторону ИИ. Эта неделя посвящена Model Context Protocol (MCP) — вместо вставки данных в промпт LLM получает небольшой набор инструментов и сама решает, какие из них вызвать и в каком порядке, чтобы ответить на вопрос.

Почему эта неделя важна: жёсткое зашивание данных в промпт не масштабируется дальше демо. MCP — это становящийся стандарт подхода «вот ваши инструменты и источники данных — вперёд»; именно он позволяет агенту подключиться к живой системе, а не к снапшоту.

Архитектура

[client.py asks a question]
            |
            v
[Claude sees 3 tool definitions — no invoice data in the prompt]
            |  decides which tools to call, with what arguments
            v
[MCP server (server.py): list_invoices / get_invoice / get_purchase_order]
            |  returns live data over stdio
            v
[Claude reasons over the results and answers]

Преемственность: на неделе 2 извлекали счёт из документа. Неделя 6 решала, что делать с исключением счетом, используя данные, которые у бота уже были на руках. На этой неделе сами данные живут внутри MCP-сервера — агент сам получает нужные ему факты, а не берёт уже заготовленные. Соедините это со защищённой политикой службой решений из недели 6 — и получите Portfolio Project #4 из дорожной карты: агент, который и сам ищет факты, и передаёт решение на проверку аудируемому слою правил.

Related MCP server: Invoice MCP Server

Что здесь

Файл

Роль (назначение)

src/server.py

MCP-сервер — предоставляет функции list_invoices, get_invoice, get_purchase_order

src/client.py

Запускает сервер и управление с Claude — отдельно серверный процесс запуска составлять не нужно

tests/test_server_tools.py

Юнит-тесты для инструментальных функций — API-ключ не нужен

1. Запуск

python -m venv .venv
.venv\Scripts\Activate.ps1
pip install -r requirements.txt
# copy .env.example to .env and paste your key

python src/client.py

client.py сам запускает server.py через stdio (именно так MCP обычно работает с локальными инструментами — здесь нет HTTP-порта для управления, в отличие от недели 6). Смотрите, как выводят строки [MCP tool call: ...] в тот момент, когда Claude решает, какие данные ему нужно найти.

Запустите юнит-тесты для логики инструментов (API-ключ не требуется):

pytest

2. Ключевая идея дизайна: инструменты + данные поверх стандартного протокола

До MCP «выдать модели инструмент» означало вручную катaть JSON-схему и диспетчер на if/elif для каждого проекта. MCP это стандартизирует: server.py объявляет инструменты один раз через @mcp.tool(), и любой MCP-совместимый клиент — client.py из этого репозитория, Claude Desktop, агент другой команды — может обнаружить их и вызывать таким же способом. Именно в этом суть «подключения агентов к реальным инструментам»: разработчик инструмента и агент не обязаны быть одним и тем же человеком.

3. Что я понял / что готово для продакшена, а что нет

  • MCP разводит того, кто владеет данными, и того, кто о данных рассуждает — серверу не важно и он не знает, какая LLM его вызывает.

  • Выбор модели тоже здесь важен: это оркестрация (выбор необходимого инструмента), а не сложные рассуждения, поэтому нужна дешёвая и быстрая модель (claude-haiku-4-5) — рассуждения уровня Opus оставьте решениям, которые происходят на неделе 6.

  • Не ready для production: «ERP» — это словарь в памяти, у сервера нет аутентификации, и референ нет настоящего MCP-ресурса (только инструменты) — в продакшен-версии счета, вероятно, выбрали is бы как MCP ресурсы. (На неделе 8+.)

Мой стек

Python · MCP (official Python SDK) · Claude (claude-haiku-4-5 для работы с инструментами) · Anthropic SDK · pytest

F
license - not found
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
    B
    quality
    B
    maintenance
    Bridges to a simple_invoicing FastAPI backend, exposing invoice, product, ledger, inventory, buyer, and payment management as MCP tools for use with MCP-compatible clients.
    15
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables agents to generate, track, and manage invoices via MCP tools, with CLI support for payment tracking and earnings summaries.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    A lightweight, local inventory-intelligence MCP server that enables querying structured inventory schemas with read-only, zero-config tools for stock levels, velocity metrics, and purchase orders.
    10
    MIT

View all related MCP servers

Related MCP Connectors

  • A paid remote MCP for CLI tool MCP, built to return verdicts, receipts, usage logs, and audit-ready

  • Hosted MCP server for Mini Accountant: invoices, expenses, customers, analytics, tax estimates.

  • A paid remote MCP for hosted MCP server, built to return verdicts, receipts, usage logs, and audit-r

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/m-rocafort/week7-mcp-server'

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