Skip to main content
Glama
suspicious-cow

Model Context Protocol (MCP) Server

Реализация Python Model Context Protocol (MCP)

Этот проект реализует функционирующий сервер и клиент Model Context Protocol (MCP) на Python, следуя спецификации Anthropic MCP. Он демонстрирует ключевые шаблоны протокола MCP на простом интерактивном примере.

Что такое МКП?

Model Context Protocol (MCP) — это открытый стандарт, созданный на основе JSON-RPC 2.0 для подключения моделей ИИ к внешним источникам данных и инструментам. Он определяет архитектуру клиент-сервер, в которой приложение ИИ взаимодействует с одним или несколькими серверами MCP, каждый из которых предоставляет такие возможности, как:

  • Инструменты : исполняемые функции, которые выполняют действия.

  • Ресурсы : источники данных, предоставляющие информацию

  • Подсказки : Предопределенные шаблоны или рабочие процессы

MCP стандартизирует способ обнаружения и вызова этих возможностей, выступая в качестве «USB-C для ИИ», позволяющего моделям структурированно взаимодействовать с внешними системами.

Related MCP server: simple_mcp

Структура проекта

  • server/ : Реализация сервера MCP

    • server.py : сервер WebSocket, который обрабатывает запросы MCP и предоставляет примеры инструментов/ресурсов

  • client/ : Реализация клиента MCP

    • client.py : Демонстрационный клиент, который подключается к серверу и использует все возможности MCP

Демонстрируемые возможности

Эта реализация демонстрирует основной поток протокола MCP:

  1. Согласование возможностей : клиент-серверное рукопожатие через initialize

  2. Обнаружение возможностей : список доступных инструментов и ресурсов

  3. Вызов инструмента : вызов инструмента add_numbers с параметрами

  4. Доступ к ресурсам : Чтение текстового содержимого ресурса

Настраивать

  1. Создайте виртуальную среду:

    python3 -m venv .venv
    source .venv/bin/activate
  2. Установить зависимости:

    pip install -r requirements.txt

Использование

  1. Запустите MCP-сервер (в одном терминале):

    python server/server.py
  2. Запустите клиент MCP (в другом терминале):

    python client/client.py

Клиент подключится к серверу, выполнит рукопожатие MCP, обнаружит возможности и продемонстрирует вызов инструментов и доступ к ресурсам с помощью форматированного вывода.

Как это работает

MCP-сервер

Сервер:

  • Принимает соединения WebSocket

  • Отвечает на запросы JSON-RPC в соответствии со спецификацией MCP

  • Предоставляет пример инструмента ( add_numbers )

  • Предоставляет пример ресурса ( example.txt )

  • Поддерживает MCP-рукопожатие и обнаружение возможностей

Клиент МСР

Клиент:

  • Подключается к серверу через WebSocket

  • Выполняет рукопожатие MCP

  • Обнаруживает доступные инструменты и ресурсы

  • Демонстрирует вызов инструмента и чтение ресурса.

  • Представляет результаты в отформатированном виде

Подробности протокола

MCP реализует следующие ключевые методы:

Метод

Описание

initialize

Рукопожатие для установления полномочий

tools/list

Список доступных инструментов

tools/call

Вызов инструмента с аргументами

resources/list

Список доступных ресурсов

resources/read

Прочитать содержание ресурса

prompts/list

Список доступных подсказок

Расширение проекта

Эту реализацию можно расширить следующим образом:

  • Добавление большего количества инструментов с различными возможностями

  • Добавление динамических ресурсов, которые изменяются при каждом чтении

  • Внедрение шаблонов подсказок для управляемого взаимодействия

  • Создание более интерактивных клиентских приложений

Ссылки

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    An MCP server implementation that standardizes how AI applications access tools and context, providing a central hub that manages tool discovery, execution, and context management with a simplified configuration system.
    13
    -
  • F
    license
    Not graded
    quality
    F
    maintenance
    A basic MCP server implementation using Node.js and TypeScript that bridges AI models with external tools and data sources via JSON-RPC.
    2
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    A demo MCP server that connects an AI to external systems by exposing Python functions as tools and data as resources, using the stdio transport.
    -