5.8 KiB
Model Context Protocol (MCP) Python Имплементация
Това хранилище съдържа Python имплементация на Model Context Protocol (MCP), показваща как да се създадат както сървърно, така и клиентско приложение, които комуникират чрез стандарта MCP.
Преглед
Имплементацията на MCP се състои от два основни компонента:
-
MCP Сървър (
server.py) - Сървър, който предоставя:- Инструменти: Функции, които могат да се извикват дистанционно
- Ресурси: Данни, които могат да се извличат
- Подсказки: Шаблони за генериране на подсказки за езикови модели
-
MCP Клиент (
client.py) - Клиентско приложение, което се свързва със сървъра и използва неговите функции
Функционалности
Тази имплементация демонстрира няколко ключови функции на MCP:
Инструменти
completion- Генерира текстови допълнения от AI модели (симулирано)add- Прост калкулатор, който събира две числа
Ресурси
models://- Връща информация за наличните AI моделиgreeting://{name}- Връща персонализирано поздравление за дадено име
Подсказки
review_code- Генерира подсказка за преглед на код
Инсталация
За да използвате тази MCP имплементация, инсталирайте необходимите пакети:
pip install mcp-server mcp-client
Стартиране на Сървъра и Клиента
Стартиране на Сървъра
Стартирайте сървъра в един терминален прозорец:
python server.py
Сървърът може да се стартира и в режим на разработка чрез MCP CLI:
mcp dev server.py
Или да се инсталира в Claude Desktop (ако е наличен):
mcp install server.py
Стартиране на Клиента
Стартирайте клиента в друг терминален прозорец:
python client.py
Това ще се свърже със сървъра и ще демонстрира всички налични функции.
Използване на Клиента
Клиентът (client.py) демонстрира всички възможности на MCP:
python client.py
Това ще се свърже със сървъра и ще използва всички функции, включително инструменти, ресурси и подсказки. Резултатът ще покаже:
- Резултат от калкулаторния инструмент (5 + 7 = 12)
- Отговор от инструмента за допълване на текста на въпроса "Какъв е смисълът на живота?"
- Списък с наличните AI модели
- Персонализирано поздравление за "MCP Explorer"
- Шаблон за подсказка за преглед на код
Детайли за Имплементацията
Сървърът е реализиран с помощта на FastMCP API, който предоставя високо ниво на абстракции за дефиниране на MCP услуги. Ето един опростен пример за това как се дефинират инструментите:
@mcp.tool()
def add(a: int, b: int) -> int:
"""Add two numbers together
Args:
a: First number
b: Second number
Returns:
The sum of the two numbers
"""
logger.info(f"Adding {a} and {b}")
return a + b
Клиентът използва MCP клиентската библиотека за свързване и извикване на сървъра:
async with stdio_client(server_params) as (reader, writer):
async with ClientSession(reader, writer) as session:
await session.initialize()
result = await session.call_tool("add", arguments={"a": 5, "b": 7})
Научете Повече
За повече информация относно MCP, посетете: https://modelcontextprotocol.io/
Отказ от отговорност:
Този документ е преведен с помощта на AI преводаческа услуга Co-op Translator. Въпреки че се стремим към точност, моля, имайте предвид, че автоматизираните преводи могат да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Ние не носим отговорност за каквито и да е недоразумения или неправилни тълкувания, произтичащи от използването на този превод.