# MCP-сервер коммуникационного агентства «со-общение» ## Описание MCP-сервер (Model Context Protocol) для коммуникационного агентства «со-общение». Позволяет AI-ассистентам рассчитывать стоимость абонентского PR-обслуживания (PR-ретейнера) и отвечать на вопросы по PR-стратегии на основе базы знаний агентства. ## Транспорт и протокол - Протокол: MCP (Model Context Protocol), JSON-RPC 2.0 - Транспорт: Streamable HTTP - Метод: POST /mcp - Авторизация: не требуется - Заголовки запроса: `Content-Type: application/json`, `Accept: application/json` ## Инструменты (tools) ### get_options Возвращает все допустимые значения параметров для расчёта PR-ретейнера. **Вызывай первым** перед `calculate_pr_cost`, чтобы получить актуальные значения enum-параметров. Входные параметры: нет. Возвращает объект с полями: - `industry` — отрасли компании - `responsibility` — уровни финансовой ответственности агентства за KPI - `expirience` — варианты опыта работы с PR-агентствами - `aprove` — способы согласования материалов - `aprove_speed` — скорость согласования - `newsbreaks` — число инфоповодов в месяц - `media` — типы СМИ (деловые, отраслевые, общественно-политические, развлекательные, глянцевые) - `speakers` — спикеры компании (первое лицо, топ-менеджеры, пресс-секретарь, функциональные менеджеры) - `newsbreaks_type` — типы инфоповодов (новости, акции, кейсы, финрезультаты, аналитика) - `kpi` — описание числовых KPI (пресс-релизы, комментарии, публикации) - `additional_services` — дополнительные услуги и их стоимость (мониторинг, SMM, наполнение сайта) --- ### calculate_pr_cost Рассчитывает ежемесячную стоимость абонентского PR-обслуживания. Обязательные параметры (string, допустимые значения — из `get_options`): - `industry` — отрасль компании - `responsibility` — финансовая ответственность агентства за KPI - `expirience` — опыт работы с PR-агентствами - `aprove` — способ согласования материалов - `aprove_speed` — скорость согласования - `newsbreaks` — число инфоповодов в месяц - `media` — массив строк, типы СМИ (один или несколько) - `speakers` — массив строк, спикеры (один или несколько) - `newsbreaks_type` — массив строк, типы инфоповодов (один или несколько) - `releases` — integer, пресс-релизов в месяц - `comments` — integer, комментариев для СМИ в месяц - `publications` — integer, крупных публикаций в месяц Необязательные параметры (boolean): - `monitoring` — мониторинг конкурентов - `smm` — работа с соцсетями - `web` — наполнение сайта Возвращает: - `price_per_month` — стоимость в рублях (число) - `price_formatted` — стоимость в рублях (строка) - `summary` — текстовое описание условий и KPI --- ### pr_advice Отвечает на вопросы о PR-стратегии, медиарилейшнз, работе со СМИ, построении коммуникаций. Использует семантический поиск по базе знаний агентства (OpenAI Embeddings) и генерирует развёрнутый экспертный ответ через GPT-4o. Вызывай, когда пользователь задаёт вопрос по теме PR и коммуникаций. Входные параметры: - `question` (string, обязательный) — вопрос на русском языке Возвращает: - `answer` — развёрнутый экспертный ответ на русском языке - `sources` — заголовки статей из базы знаний, использованных для ответа --- ### request_contact Принимает контакт пользователя и отправляет заявку в агентство по e-mail. Вызывай **только после** `calculate_pr_cost` и **только если** пользователь явно выразил желание, чтобы с ним связались. Перед вызовом спроси: «Хотите, чтобы агентство с вами связалось?» Если да — запроси e-mail или телефон. Входные параметры: - `contact` (string, обязательный) — e-mail или телефон клиента - `price_formatted` (string, обязательный) — итоговая стоимость из `calculate_pr_cost` - `details` (string, необязательный) — детали расчёта Возвращает: - `message` — подтверждение отправки заявки ## Типичные сценарии использования 1. **Расчёт стоимости PR-ретейнера** - Вызови `get_options` для получения допустимых значений - Задай пользователю уточняющие вопросы об отрасли, опыте, СМИ, спикерах и KPI - Вызови `calculate_pr_cost` с заполненными параметрами - При желании пользователя — вызови `request_contact` 2. **Ответ на вопрос о PR** - Вызови `pr_advice` с вопросом пользователя - Представь полученный ответ и источники ## Технические детали - Язык: PHP 8+, работает внутри Bitrix CMS - База знаний: инфоблок Bitrix ID=46, поле VECTOR (OpenAI text-embedding-3-large, 3072 dim) - Модели OpenAI: эмбеддинги — text-embedding-3-large, генерация — gpt-4o - Агентство: «со-общение», сайт co-mmunication.ru