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: MCP Server Python Template

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

  • 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

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

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

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

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

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

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

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

Ссылки

-
security - not tested
F
license - not found
-
quality - not tested

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/suspicious-cow/MCP2'

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