MCP в LangChain: подключаем поиск срезAI через MCPAdapter

В сентябре 2026 года поддержка Model Context Protocol (MCP) стала частью основного пакета LangChain. Разбираемся, как использовать новый MCPAdapter для подключения инструментов срезAI, зачем нужно кеширование инструментов и как работает elicitation.

Виталий Болгар3 мин чтенияLangChainMCPтуториалпоисковые API

Поддержка Model Context Protocol (MCP) в LangChain перешла на новый уровень: теперь протокол встроен в ядро библиотеки (langchain.mcp), поддерживает stateless-режим и встроенное кеширование. Это упрощает масштабирование агентов и ускоряет их работу, так как список доступных инструментов больше не нужно запрашивать при каждом запуске.

Что изменилось в LangChain 1.4.0+

Раньше для работы с MCP требовались отдельные адаптеры, а класс MultiServerMCPClient был громоздким. С релизом от 3 сентября 2026 года всё упростилось:

  • Единый пакет: Инструменты живут в langchain.mcp (установка через pip install "langchain[mcp]").
  • Stateless-ядро: Новый протокол (спецификация 2026-07-28) избавляет от сессий. Больше никакой привязки клиента к конкретному экземпляру сервера - это идеальное решение для серверлесс-архитектур.
  • Кеширование: Клиент сохраняет список инструментов локально, опираясь на TTL сервера.
  • Elicitation: Инструменты могут прерывать выполнение, чтобы уточнить параметры у пользователя через механизм interrupt в LangGraph.
Архитектура многоагентных систем с RAG и MCP-инструментами
MCP становится стандартом взаимодействия агентов с внешними инструментами поиска и обработки данных

Подключаем срезAI через MCPAdapter

Класс MCPAdapter - это новый стандарт. Он автоматически обрабатывает подключение, аутентификацию и превращает MCP-функции в стандартные BaseTool для LangChain. Для подключения срезAI достаточно указать endpoint и ваш API-ключ.

python
import asyncio
from langchain.mcp import MCPAdapter
from langchain_openai import ChatOpenAI
from langgraph.prebuilt import create_react_agent # Ваш ключ из личного кабинета srezai.ru
SREZAI_API_KEY = "srz_live_ВАШ_КЛЮЧ"
SREZAI_MCP_URL = "https://srezai.ru/api/mcp" async def main(): # Инициализируем адаптер с поддержкой кеширования # Это сэкономит время на старте агента async with MCPAdapter(SREZAI_MCP_URL, auth=SREZAI_API_KEY, cache=True) as adapter: # Получаем инструменты: web_search, read_url, extract, verify_claim и др. tools = await adapter.list_tools() model = ChatOpenAI(model="gpt-4o") agent = create_react_agent(model, tools) # Агент сам решит, когда искать в вебе, а когда проверять факты inputs = {"messages": [("user", "Какие последние новости в блоге LangChain за сентябрь 2026?")]} async for event in agent.astream(inputs, stream_mode="values"): event["messages"][-1].pretty_print() if __name__ == "__main__": asyncio.run(main())

Продвинутые фишки: stateless и кеширование

В новом протоколе сессии отсутствуют. Это значит, что если ваш сервер перезагрузится, агент даже не заметит этого - следующий запрос просто пойдет к новому инстансу. В MCPAdapter кеширование включено по умолчанию, если передать cache=True. Это критично для поисковых задач: список инструментов web_search или deep_research не меняется ежеминутно, и лишний сетевой запрос на старте каждой итерации только замедляет работу.

Почему это удобно для поиска по Рунету

Использование срезAI через MCPAdapter дает агенту доступ к инструментам, которые выполняют сложную работу на своей стороне:

  • JavaScript-рендеринг: Мы открываем страницы полноценным браузером, поэтому агент видит контент, а не пустой HTML-каркас.
  • Чистый Markdown: На вход модели подается очищенный текст, что экономит до 80% токенов по сравнению с сырым HTML.
  • Verify Claim: Агент может отправить утверждение на проверку, и API срезAI само изучит 4-5 источников, вернув только вердикт с цитатами.

Нужно ли устанавливать дополнительные пакеты для работы с MCP?

Да, используйте команду pip install "langchain[mcp]", чтобы получить все нужные зависимости, включая FastMCP.

Где взять API-ключ для срезAI?

В личном кабинете на сайте srezai.ru. При регистрации вы получаете 100 ₽ (около 1000 запросов) бесплатно.

Как работает кеширование списка инструментов?

Если в MCPAdapter передан флаг cache=True, клиент сохраняет описание инструментов в памяти. Срок жизни кеша определяется заголовками TTL от сервера.

Можно ли подключить несколько MCP-серверов одновременно?

Да, для этого используйте fastmcp.ClientGroup. В этом случае инструменты будут иметь префиксы, например srezai_web_search и local_db_query.

Поддерживает ли адаптер асинхронную работу?

Да, MCPAdapter полностью асинхронный и работает через async with контекстный менеджер.

Начните использовать MCP-сервер срезAI

Получить 1000 бесплатных запросов

Свой веб-доступ для агента: поиск, чтение страниц и извлечение данных по одному ключу.

Читайте также