MCP-сервер для Amazon Quick и Webex: автоматизация встреч | AiManual
AiManual Logo Ai / Manual.
12 Июн 2026 Гайд

Создаем ассистента для подготовки к встречам и follow-up на Amazon Quick и Cisco Webex MCP серверах

Пошаговый гайд по созданию AI-ассистента для подготовки к встречам и follow-up с использованием MCP серверов Amazon Quick и Cisco Webex. Код, архитектура, ошибк

Реклама
hor_partv1

Вечная проблема: переключение между 50 вкладками

Ты когда-нибудь ловил себя на том, что за 15 минут до встречи лихорадочно ищешь письмо с повесткой, дергаешь API Webex, чтобы узнать ссылку, а заодно пытаешься вспомнить, что обсуждали на прошлой неделе? Я — да. И это бесит. У менеджеров и команд это отнимает часы в неделю. Решение — дать AI-агенту прямые руки в виде MCP-серверов.

В этой статье я покажу, как собрать ассистента, который сам вытащит твои upcoming events из Amazon Quick (да, у Amazon есть свой календарный сервис, который на удивление живуч), создаст Webex-ссылку, а после звонка — отправит follow-up с транскриптом и действиями. Никакого переключения между окнами — просто команда в чат.

MCP-сервер как клей между встречами и действиями

Если ты еще не читал статью про MCP протокол — срочно исправляйся. Суть простая: MCP (Model Context Protocol) — это единый интерфейс, через который LLM (Claude, GPT и т.д.) может вызывать внешние инструменты. Вместо того чтобы писать кучу интеграций под каждую систему, мы пишем один MCP-сервер, который предоставляет инструменты для Amazon Quick и Webex.

На практике это выглядит так: Claude говорит "покажи мои встречи на завтра", MCP-сервер дёргает API Amazon Quick, возвращает список, и Claude уже сам решает, что делать дальше. Или: "создай Webex-ссылку на 15:00" — сервер создаёт комнату и возвращает URL. Всё это без человеческого вмешательства, чистой магией агентного подхода. Именно об этом мы говорили в архитектуре Spaceduck.

Собираем в песочнице: MCP Chat Studio

Прежде чем писать сервер, я советую поиграться в MCP Chat Studio v2 — это Postman для MCP-серверов. Там можно подключать любые MCP-серверы, тестировать вызовы инструментов и даже смотреть экспорт в Python. Мы, кстати, используем его для отладки всех наших серверов. Скачай, установи — пригодится.

Пишем MCP-сервер для Webex и Amazon Quick (Python)

Ладно, хватит теории. Открывай терминал и создавай папку meeting-assistant-mcp. Дальше — код. Я покажу минимальную реализацию на базе mcp Python SDK v1.2.0 (последняя на июнь 2026).

1 Структура проекта

meeting-assistant-mcp/
├── server.py
├── requirements.txt
├── .env
└── README.md

2 install dependencies

pip install mcp==1.2.0 httpx python-dotenv

3 Пишем server.py

Не советую копипастить токены прямо в код — используй .env. Кстати, в Self-Aware MCP Server мы поднимали вопрос контекста окружения — здесь аналогично: не забудь про credentials.

# server.py
import os
import json
from datetime import datetime, timedelta
from dotenv import load_dotenv
from mcp.server import Server
from mcp.types import Tool, TextContent
import httpx

load_dotenv()

# Инициализация сервера
app = Server("meeting-assistant")

# --- Инструменты ---

@app.tool()
def get_upcoming_events(days: int = 1) -> list[dict]:
    """
    Возвращает события из Amazon Quick на ближайшие N дней.
    Использует Amazon Quick Calendar API (гипотетический эндпоинт для примера).
    На практике замени на реальный вызов.
    """
    # Здесь должен быть вызов Amazon Quick API
    # В реальности: response = httpx.get("https://api.quick.amazon.com/events", ...)
    # Пока возвращаем тестовые данные
    now = datetime.now()
    tomorrow = now + timedelta(days=1)
    return [
        {
            "id": "evt_001",
            "title": "Sprint Review",
            "start": tomorrow.replace(hour=10, minute=0).isoformat(),
            "end": tomorrow.replace(hour=11, minute=0).isoformat(),
            "attendees": ["alice@corp.com", "bob@corp.com"]
        },
        {
            "id": "evt_002",
            "title": "1:1 with Mike",
            "start": tomorrow.replace(hour=14, minute=0).isoformat(),
            "end": tomorrow.replace(hour=14, minute=30).isoformat(),
            "attendees": ["mike@corp.com"]
        }
    ]

@app.tool()
def create_webex_meeting(title: str, start_time: str, duration_minutes: int = 30) -> dict:
    """
    Создаёт комнату в Cisco Webex через API и возвращает ссылку.
    """
    # Заглушка для Webex API
    meeting_data = {
        "title": title,
        "start": start_time,
        "duration": duration_minutes,
        "join_url": f"https://webex.com/meet/{title.lower().replace(' ', '-')}-{datetime.now().timestamp():.0f}"
    }
    # В реальности: POST /v1/meetings с access token
    return meeting_data

@app.tool()
def send_follow_up(meeting_id: str, action_items: list[str], summary: str) -> dict:
    """
    Отправляет follow-up с резюме и списком действий через Webex Messages API.
    """
    message = f"**Meeting Summary**\n\n{summary}\n\n**Action Items**:\n" + "\n".join([f"- {item}" for item in action_items])
    # Здесь POST /v1/messages
    return {"status": "sent", "meeting_id": meeting_id, "message_preview": message[:50]}

if __name__ == "__main__":
    app.run(transport="stdio")

Грабли: Не выноси токены в код! Используй .env или секретный менеджер. В MCP-сервере, который работает через stdio, переменные окружения — твой лучший друг.

4 Запускаем и тестируем

cd meeting-assistant-mcp
python server.py

Теперь в MCP Chat Studio или в Claude Desktop добавь MCP-сервер с командой python server.py. Запрос: "Покажи мои встречи на завтра" — Claude вызовет get_upcoming_events и вернёт результат.

Подключаем к Claude: сценарий использования

Представь реальный workflow. Ты пишешь в чат: "Подготовься к завтрашнему Daily Standup. Если во встрече больше 5 участников — создай Webex-ссылку, иначе используй Amazon Quick. После встречи отправь follow-up с action items, которые мы обсуждали."

Claude получит список событий, выберет подходящее, вызовет create_webex_meeting, а после твоего согласия (если включено подтверждение) — сгенерирует follow-up. Всё за 2 минуты.

Мы описали похожий сценарий в статье Meeting-LLM, но там был полностью локальный стек. Наш подход с MCP-серверами даёт гибкость подключать как облачные, так и on-prem сервисы.

Типичные грабли и как их обойти

  • Таймауты API. Amazon Quick и Webex могут быть медленными. Добавь в MCP-сервер timeout=30 в httpx и оберни вызовы в ретраи.
  • Rate limiting. Не превышай лимиты — иначе получишь 429. Реализуй async с очередью. Загляни в DQ-шаблон с ИИ-агентом — у нас была похожая проблема.
  • Безопасность. MCP-сервер через stdio работает локально — это плюс. Если решишь выложить его на сервер — используй транспорт SSE и аутентификацию. Не доверяй входным данным от LLM.
  • Context window. Если долго общаешься с агентом, он может забыть прошлые вызовы. Подсказывай в prompt системное сообщение о контексте — как в Computer-use MCP.
💡
Совет: добавь в MCP-сервер инструмент get_meeting_context, который возвращает историю прошлых митингов по ID. Так ассистент сможет сам подтянуть предыдущие обсуждения — меньше ручной работы.

Собери свой MCP-сервер, подключи к любимому AI-клиенту и забудь про хаос предвстречной лихорадки. Если наткнёшься на баги — пиши в комментарии, разберёмся.

Подписаться на канал