Skip to content

Latest commit

 

History

History
130 lines (90 loc) · 6.04 KB

File metadata and controls

130 lines (90 loc) · 6.04 KB

Протокол за контекст на модела (MCP) - Python имплементация

Това хранилище съдържа Python имплементация на Протокола за контекст на модела (MCP), демонстрираща как да се създадат както сървър, така и клиентско приложение, които комуникират чрез стандарта MCP.

Преглед

Имплементацията на MCP се състои от два основни компонента:

  1. MCP Server (server.py) - Сървър, който предоставя:

    • Инструменти: Функции, които могат да се извикват дистанционно
    • Ресурси: Данни, които могат да бъдат получени
    • Подсказки: Шаблони за генериране на подсказки за езикови модели
  2. 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

Това ще се свърже със сървъра и ще използва всички функции, включително инструменти, ресурси и подсказки. Резултатът ще покаже:

  1. Резултат от калкулатора (5 + 7 = 12)
  2. Отговор от инструмента за завършване на текста на въпроса "Какъв е смисълът на живота?"
  3. Списък с наличните AI модели
  4. Персонализирано приветствие за "MCP Explorer"
  5. Шаблон за подсказка за преглед на код

Подробности за имплементацията

Сървърът е реализиран с помощта на 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. Въпреки че се стремим към точност, моля, имайте предвид, че автоматизираните преводи могат да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Ние не носим отговорност за каквито и да е недоразумения или погрешни тълкувания, възникнали от използването на този превод.