Что такое MCP

2025-05-21 03:55, by Dmitri Zdorov

Что такое MCP

Сейчас уже чатЖПТ или другие подобные штуки, в целом называемые Большими Языковыми Моделями (или в быту зачастую просто как Искусственный Интеллект), вполне всем знакомы. Кому-то нравятся, кому-то не очень. Кто-то каждый день пользуется, кто-то не понимает, зачем это. Но это всё очень поверхностное. Можно сказать — разговорчики. Но вся эта индустрия плавно, но массово готовится перейти от слов к делу. А именно — эти ИИ-модели будут не просто отвечать в чате, они будут по нашим заданиям и запросам ходить по интернету и что-то в наших интересах делать.

И для всех этих действий нужен некий общий метод взаимодействия — и поэтому появился Model Context Protocol (сокращённо MCP / эм-си-пи). Этот протокол позволяет ИИ-моделям (я их всё же люблю называть ЛЛМами) общаться между собой, с разными программами, приложениями, API, базами данных и т.п. — и к тому же стандартизировано, защищённо и гибко. Это аналог HTTP в эпоху появления интернета.

Придумали и разработали его в компании Anthropic (той самой, что делает Клода), и сделали его открытым. Поэтому он быстро был принят всеми ведущими компаниями в сегменте ИИ (Anthropic, Google, Microsoft, OpenAI и т.д.). Собственно, до появления MCP приложения уже взаимодействовали, конечно, с ЛЛМами, используя так называемый glue code (глу-код). MCP как раз и позволяет сделать этот глу-код стандартизированным и легко повторяемым, когда подключают новые проекты.

Протокол работает с использованием какого-то языка — чаще всего Python — и он, конечно, двусторонний. Приложения могут просить ЛЛМ что-то для них сделать, и ЛЛМы могут просить приложения / веб-сервисы / базы данных делать что-то для них тоже. В интернете, по сути, появляется дополнительная прослойка — agentic web (агентная сеть), в которой ИИ-агенты могут навигировать, что-то выполнять, запрашивать, проводить операции, покупать, подключать и т.п. Можно сказать, это необходимая база для действительно широкого прорыва в автоматизации работы и процессов.

Вот пример, как что-то записывается в базу данных и получается подтверждение:

`from mcp import FastMCP, tool

app = FastMCP("db-writer")

@tool()
def insert_customer(name: str, email: str) -> str:
"""
Insert a customer into the database.
Returns confirmation message.
"""
# Здесь вместо настоящей БД — эмуляция
print(f"Inserting {name} <{email}> into database...")
return f"Customer {name} with email {email} has been added."

if name == "main":
app.run_stdio()
`
Модель, увидев описание этого инструмента (insert_customer), может сама принять решение, когда нужно вызвать его, например:

`“Please add John Doe with email [email protected] to the system.”

Она под капотом вызывает:

{
"tool": "insert_customer",
"args": {
"name": "John Doe",
"email": "[email protected]"
}
}`

И получает в ответ:

{ "result": "Customer John Doe with email [email protected] has been added." }
В общем, если вы думаете, что будете с этим хоть как-то — прямо или косвенно — работать, то не проходите мимо.
Эм-си-пи, или его наверно по-русски обзовут МЦП, будет на слуху по любому.

Оригинал в Телеграме · Комментарии в Телеграме