Подключение DashaMail к GigaChat
У веб-интерфейса GigaChat нет кнопки «добавить MCP-сервер»: Сбер документирует подключение MCP только программно — через GigaChat API и библиотеки langchain-gigachat, langgraph и langchain-mcp-adapters. GigaChat выступает моделью, инструменты приходят с сервера DashaMail.
Что понадобится
-
Учётные данные GigaChat API с developers.sber.ru — в переменной окружения
GIGACHAT_CREDENTIALS. -
API-ключ DashaMail (Аккаунт → API-ключи → Выпустить ключ) — в
DASHAMAIL_API_KEY. -
Python 3.10 или новее.
Установка
pip install langchain-gigachat langchain-mcp-adapters langgraph
Код агента
import asyncio, os
from langchain_gigachat import GigaChat
from langchain_mcp_adapters.client import MultiServerMCPClient
from langgraph.prebuilt import create_react_agent
async def main():
client = MultiServerMCPClient({
"dashamail": {
"transport": "streamable_http",
"url": "https://mcp.dashamail.ru/?toolset=core",
"headers": {"Authorization": f"Bearer {os.environ['DASHAMAIL_API_KEY']}"},
}
})
tools = await client.get_tools()
print("Инструментов DashaMail:", len(tools))
model = GigaChat(model="GigaChat-2-Max", verify_ssl_certs=False)
agent = create_react_agent(model, tools)
result = await agent.ainvoke({"messages": [
{"role": "user", "content": "Покажи мои адресные базы"}
]})
print(result["messages"][-1].content)
asyncio.run(main())
?toolset=core даёт 27 самых нужных инструментов — для GigaChat это заметно надёжнее полного набора. Для сценариев только с отчётами добавьте &readonly=1.
Проверка
Скрипт печатает число инструментов и ответ модели на «Покажи мои адресные базы». Если инструментов 0 — проверьте ключ и заголовок.
Отключить
Отзовите ключ в DashaMail: Аккаунт → API-ключи.
Не нашли ответ? Напишите нам — разберёмся вместе.