Това хранилище съдържа Python имплементация на Протокола за контекст на модела (MCP), демонстрираща как да се създадат както сървър, така и клиентско приложение, които комуникират чрез стандарта MCP.
Имплементацията на MCP се състои от два основни компонента:
-
MCP Server (
server.py) - Сървър, който предоставя:- Инструменти: Функции, които могат да се извикват дистанционно
- Ресурси: Данни, които могат да бъдат получени
- Подсказки: Шаблони за генериране на подсказки за езикови модели
-
MCP Client (
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. Въпреки че се стремим към точност, моля, имайте предвид, че автоматизираните преводи могат да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Ние не носим отговорност за каквито и да е недоразумения или погрешни тълкувания, възникнали от използването на този превод.