Подключение 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-ключи.

Не нашли ответ? Напишите нам — разберёмся вместе.

support@dashamail.ru · Другие способы связи

DashaMail хранит и защищает ваши данные на территории Российской Федерации

Подробнее...