Integrations
Integrates with Google Calendar to list, manage, and retrieve calendar events. Enables scheduling recordings for meetings and connecting calendar data to meeting bots.
Allows bots to join and record Zoom meetings, automatically transcribing the content and making it searchable.
Встреча BaaS MCP-сервера
Сервер протокола контекста модели (MCP), предоставляющий инструменты для управления данными совещаний, включая стенограммы, записи, события календаря и функции поиска.
БЫСТРЫЙ СТАРТ: Интеграция Claude Desktop
Чтобы использовать Meeting BaaS с Claude Desktop:
- Отредактируйте файл конфигурации Claude Desktop:Copy
- Добавьте конфигурацию Meeting BaaS:Copy
- Для интеграции календаря вы можете добавить раздел
calendarOAuth
в свойbotConfig
:Copy - Сохраните файл и перезапустите Claude Desktop.
Примечание: Интеграция календаря необязательна. Meeting BaaS можно использовать без подключения календаря, просто исключив раздел
calendarOAuth
.
Обзор
Этот проект реализует сервер Model Context Protocol (MCP), который позволяет помощникам ИИ, таким как Клод и Курсор, получать доступ к данным встреч и манипулировать ими. Он предоставляет набор инструментов и ресурсов, которые можно использовать для:
- Пригласите ботов для участия в видеоконференциях : создавайте и приглашайте ботов на свои видеоконференции, которые автоматически записывают и расшифровывают встречи.Copy
- Запрос данных о встречах : поиск по стенограммам встреч и поиск определенной информации без просмотра всех записей.Copy
- Управление событиями календаря : просмотр и организация записей календаря и предстоящих встреч.
- Доступ к информации о записях : получение метаданных о записях собраний и их статусе.
Предпосылки
- Node.js (v16 или более поздняя версия)
- нпм
- Учетная запись MeetingBaaS : вам необходим доступ к учетной записи MeetingBaaS, используя ваш корпоративный адрес электронной почты.
- Все журналы, боты и общие ссылки доступны коллегам с тем же корпоративным доменом (не личным адресам электронной почты, таким как gmail.com)
- Это обеспечивает бесперебойную совместную работу, при которой все члены команды могут получать доступ к записям и стенограммам совещаний, созданным любым сотрудником вашей организации.
Установка
- Клонируйте репозиторий:Copy
- Установить зависимости:Copy
- Создайте проект:Copy
Использование
Запустите сервер:
По умолчанию сервер работает на порту 7017 и предоставляет конечную точку MCP по http://localhost:7017/mcp
.
Доступные инструменты
Сервер предоставляет несколько инструментов через протокол MCP:
Инструменты календаря
oauthGuidance
: получите подробные пошаговые инструкции по настройке OAuth для календарей Google или Microsoft- Параметры не требуются
- Возвращает подробные инструкции по получению учетных данных OAuth и настройке интеграции календаря.
listRawCalendars
: список доступных календарей от Google или Microsoft перед интеграцией- Параметры:
platform
(«Google» или «Microsoft»),clientId
,clientSecret
,refreshToken
- Возвращает список доступных календарей с их идентификаторами и основным статусом.
- Параметры:
setupCalendarOAuth
: интегрирует календарь с использованием учетных данных OAuth.- Параметры:
platform
(«Google» или «Microsoft»),clientId
,clientSecret
,refreshToken
,rawCalendarId
(необязательно) - Возвращает подтверждение успешной интеграции с данными календаря
- Параметры:
listCalendars
: Список всех интегрированных календарей- Параметры не требуются
- Возвращает список всех календарей с их названиями, адресами электронной почты и UUID.
getCalendar
: Получает подробную информацию об интеграции конкретного календаря- Параметры:
calendarId
(UUID календаря) - Возвращает полную информацию о календаре
- Параметры:
deleteCalendar
: навсегда удаляет интеграцию календаря.- Параметры:
calendarId
(UUID календаря) - Возвращает подтверждение успешного удаления
- Параметры:
resyncAllCalendars
: принудительное обновление всех подключенных календарей.- Параметры не требуются
- Возвращает статус операции синхронизации.
listUpcomingMeetings
: список предстоящих встреч из календаря- Параметры:
calendarId
,status
(необязательно: «предстоящие», «прошедшие», «все»),limit
(необязательно) - Возвращает список встреч с их названиями, временем и статусом записи.
- Параметры:
listEvents
: список событий календаря с комплексными возможностями фильтрации.- Параметры:
calendarId
, а также необязательные фильтры, такие какstartDateGte
,startDateLte
,attendeeEmail
и т. д. - Возвращает подробные списки событий с богатой информацией
- Параметры:
listEventsWithCredentials
: выводит список событий календаря с учетными данными, указанными непосредственно в запросе.- Параметры:
calendarId
,apiKey
, а также те же необязательные фильтры, что иlistEvents
- Возвращает ту же подробную информацию, что и
listEvents
, но с прямой аутентификацией.
- Параметры:
getEvent
: Получает подробную информацию о конкретном событии календаря.- Параметры:
eventId
(UUID события) - Возвращает полную информацию о мероприятии, включая участников и статус записи.
- Параметры:
scheduleRecording
: Планирует запись ботом предстоящей встречи.- Параметры:
eventId
,botName
, а также дополнительные настройки, такие какbotImage
,recordingMode
и т. д. - Возвращает подтверждение успешного планирования
- Параметры:
scheduleRecordingWithCredentials
: Планирует запись с учетными данными, указанными непосредственно в запросе.- Параметры:
eventId
,apiKey
,botName
, а также те же необязательные настройки, что и уscheduleRecording
- Возвращает подтверждение успешного планирования
- Параметры:
cancelRecording
: отменяет ранее запланированную запись.- Параметры:
eventId
,allOccurrences
(необязательно, для повторяющихся событий) - Возвращает подтверждение успешной отмены
- Параметры:
cancelRecordingWithCredentials
: отменяет запись с учетными данными, указанными непосредственно в запросе.- Параметры:
eventId
,apiKey
,allOccurrences
(необязательно) - Возвращает подтверждение успешной отмены
- Параметры:
checkCalendarIntegration
: проверяет и диагностирует статус интеграции календаря- Параметры не требуются
- Возвращает полный отчет о состоянии и советы по устранению неполадок
Инструменты для встреч
createBot
: создает бота для встреч, который может присоединяться к видеоконференциям для записи и расшифровки встреч.- Параметры:
meeting_url
(URL-адрес встречи, к которой нужно присоединиться)name
(необязательное имя бота)botImage
(необязательный URL-адрес изображения для аватара бота)entryMessage
(необязательное сообщение, которое бот отправит при присоединении)deduplicationKey
(необязательный ключ для отмены 5-минутного ограничения на присоединение к той же встрече)nooneJoinedTimeout
(необязательный таймаут в секундах для выхода бота, если никто не присоединился)waitingRoomTimeout
(необязательное время ожидания в секундах, после которого бот должен покинуть комнату ожидания)speechToTextProvider
(необязательный поставщик для транскрипции: «Gladia», «Runpod» или «Default»)speechToTextApiKey
(необязательный ключ API для поставщика преобразования речи в текст)streamingInputUrl
(необязательный URL-адрес WebSocket для потоковой передачи аудио)streamingOutputUrl
(необязательный URL-адрес WebSocket для потокового аудиовывода)streamingAudioFrequency
(необязательная частота для потоковой передачи: «16 кГц» или «24 кГц»)extra
(необязательный объект с дополнительными метаданными о встрече, такими как тип встречи, настраиваемая подсказка для резюме, ключевые слова для поиска)
- Возвращает: данные бота, включая идентификатор и статус присоединения.
- Параметры:
getBots
: список всех ботов и связанных с ними встречgetBotsByMeeting
: Получает ботов для определенного URL-адреса встречиgetRecording
: Извлекает информацию о записи для определенного бота/встречиgetRecordingStatus
: проверяет статус текущей записиgetMeetingData
: получает данные стенограммы и записи для определенной встречи- Параметры:
meetingId
(идентификатор встречи, для которой необходимо получить данные) - Возвращает: информацию о записи встречи, включая продолжительность и количество сегментов стенограммы.
- Параметры:
getMeetingDataWithCredentials
: получает данные стенограммы и записи, используя прямые учетные данные API- Параметры:
meetingId
(ID встречи),apiKey
(ключ API для аутентификации) - Возвращает: ту же информацию, что и
getMeetingData
, но с прямой аутентификацией.
- Параметры:
Инструменты для расшифровки
getMeetingTranscript
: получает стенограмму встречи с именами спикеров и содержимым, сгруппированным по спикерам.- Параметры:
botId
(бот, записавший встречу) - Возвращает: полную расшифровку с информацией о докладчике, отформатированную в виде абзацев, сгруппированных по докладчику.
- Пример вывода:Copy
- Параметры:
findKeyMoments
: автоматически определяет и делится ссылками на важные моменты встречи- Параметры:
botId
, необязательноmeetingTitle
, необязательный списокtopics
для поиска и необязательноmaxMoments
- Возвращает: список ключевых моментов в формате Markdown со ссылками, автоматически определяемый на основе расшифровки.
- Использует анализ на основе искусственного интеллекта для поиска значимых моментов без необходимости ручного выбора временных меток
- Параметры:
Инструменты QR-кода
generateQRCode
: создает сгенерированное искусственным интеллектом изображение QR-кода, которое можно использовать в качестве аватара бота.- Параметры:
type
: Тип QR-кода (URL, электронная почта, телефон, СМС, текст)to
: Место назначения для QR-кода (URL, адрес электронной почты, номер телефона или текст)prompt
: AI prompt для настройки QR-кода (макс. 1000 символов). Вы можете включить свой ключ API непосредственно в текст приглашения, введя «API key: qrc_your_key» или аналогичные фразы.style
: Стиль QR-кода (style_default, style_dots, style_rounded, style_crystal)useAsBotImage
: использовать ли сгенерированный QR-код в качестве аватара бота (по умолчанию: true)template
: Идентификатор шаблона для QR-кода (необязательно)apiKey
: Ваш ключ API QR Code AI (необязательно, если не указан, будет использован ключ по умолчанию)
- Возвращает: URL-адрес сгенерированного изображения QR-кода, который можно использовать напрямую с инструментом joinMeeting.
- Пример использования:Copy
- Пример с ключом API в приглашении:Copy
- Пример с формальным параметром:Copy
- Параметры:
Инструменты для обмена ссылками
shareableMeetingLink
: создает красиво оформленную ссылку на запись встречи, которой можно поделиться.- Параметры:
botId
, а также необязательнаяtimestamp
,title
,speakerName
иdescription
- Возвращает: ссылку в формате Markdown с метаданными, которой можно поделиться непосредственно в чате.
- Пример:Copy
- Параметры:
shareMeetingSegments
: создает список ссылок на несколько важных моментов встречи.- Параметры:
botId
и массивsegments
с временными метками, спикерами и описаниями. - Возвращает: список сегментов в формате Markdown с прямыми ссылками на каждый момент.
- Полезно для создания оглавления для длительного совещания.
- Параметры:
Примеры рабочих процессов
Запись встречи
- Создайте бота для предстоящей встречи:Copy
- Бот автоматически присоединяется к встрече и начинает запись.
- Проверьте статус записи:Copy
Интеграция календаря и автоматическая запись
- Получите руководство по получению учетных данных OAuth:Copy
- Перечислите доступные вам календари перед интеграцией:Copy
- Настройте интеграцию календаря с определенным календарем:Copy
- Посмотрите предстоящие встречи:Copy
- Запланируйте запись предстоящей встречи:Copy
- Проверьте все записи, запланированные в вашем календаре:Copy
- Отменить ранее запланированную запись:Copy
- Обновите данные календаря, если встречи отсутствуют:Copy
Анализ содержания встречи
- Получите полную стенограмму встречи:Copy
- Найдите ключевые моменты встречи:Copy
- Поделитесь конкретным моментом со встречи:Copy
Использование инструментов прямой аутентификации
Вы можете предоставить учетные данные API непосредственно в своих запросах:
- Список событий с прямыми полномочиями:Copy
- Запланируйте запись с прямыми учетными данными:Copy
- Отменить запись с прямыми учетными данными:Copy
- Получите данные о встречах с прямыми учетными данными:Copy
Использование QR-кодов, сгенерированных искусственным интеллектом, в качестве аватаров ботов
- Создайте QR-код с вашей контактной информацией и индивидуальным дизайном:Copy
- Используйте сгенерированный QR-код в качестве аватара бота на встрече:Copy
- Создайте QR-код со ссылкой на встречу для удобного обмена:Copy
Доступ к записям встреч
Доступ к записям собраний можно получить напрямую через средство просмотра собраний BaaS, используя идентификатор бота:
Например:
Этот просмотрщик обеспечивает:
- Видеозапись встречи
- Синхронизированная расшифровка с идентификацией говорящего
- Навигация по спикеру или теме
- Прямой обмен ссылками с товарищами по команде
При использовании createBot
, getBots
или инструментов поиска вы получите идентификаторы ботов, которые можно использовать для создания URL-адресов просмотра для легкого доступа к записям.
Важно : Все записи встреч и ссылки автоматически передаются коллегам, имеющим тот же корпоративный домен электронной почты (например, @yourcompany.com). Это позволяет всей вашей команде получать доступ к записям без необходимости индивидуальных разрешений, создавая совместную среду, в которой знания о встречах доступны всем в вашей организации.
Конфигурация
Сервер можно настроить с помощью переменных среды или путем редактирования файла src/config.ts
.
Основные параметры конфигурации:
PORT
: Порт, который прослушивает сервер (по умолчанию: 7017)API_BASE_URL
: базовый URL для API Meeting BaaSDEFAULT_API_KEY
: API-ключ по умолчанию для тестирования
Интеграция с курсором
Для интеграции с Курсором:
- Открытый курсор
- Перейти в настройки
- Перейдите к «Протоколу контекста модели»
- Добавьте новый сервер с помощью:
- Название: «Встреча BaaS MCP»
- Тип: "ссэ"
- URL-адрес сервера: " http://localhost:7017/mcp "
- При необходимости добавьте заголовки, если требуется аутентификация.
Разработка
Строить
Тест с MCP Inspector
Режим разработки (с автоперезагрузкой)
Управление журналами
Сервер включает в себя оптимизированное ведение журнала с:
Эта команда:
- Очищает ненужные файлы журналов и кэшированные данные
- Фильтрует повторяющиеся сообщения ping из журналов
- Уменьшает использование диска, сохраняя важную информацию журнала.
- Обеспечивает меньший объем журнала для долго работающих серверов.
Структура проекта
src/index.ts
: Основная точка входаsrc/tools/
: Реализации инструментовsrc/resources/
: Определения ресурсовsrc/api/
: API-клиент для бэкэнда Meeting BaaSsrc/types/
: Определения типов TypeScriptsrc/config.ts
: Конфигурация сервераsrc/utils/
: Вспомогательные функцииlogging.ts
: Фильтрация и управление журналамиtinyDb.ts
: Постоянная база данных отслеживания ботов
Аутентификация
Сервер ожидает API-ключ в заголовке x-api-key
для аутентификации. Вы можете настроить API-ключ по умолчанию в конфигурации.
Прямая аутентификация также поддерживается во многих инструментах (называемых «WithCredentials»), где вы можете предоставить ключ API напрямую в качестве параметра, а не в заголовках.
Лицензия
Массачусетский технологический институт
Конфигурация ключа API QR-кода
Инструменту генератора QR-кодов требуется API-ключ от QR Code AI API. Есть несколько способов предоставить это:
- Непосредственно в приглашении : включите свой ключ API непосредственно в текст приглашения при использовании инструмента
generateQRCode
, например, «Сгенерируйте QR-код для моего веб-сайта https://example.com с ключом API: qrc_your_key». - В качестве параметра : укажите свой ключ API в качестве параметра
apiKey
при использовании инструментаgenerateQRCode
- Переменная среды : установите переменную среды
QRCODE_API_KEY
- Конфигурация Claude Desktop : добавьте ключ API в файл конфигурации Claude Desktop, расположенный по адресу:
- Mac/Linux:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
Пример конфигурации:
Copy - Mac/Linux:
Инструмент проверит наличие API-ключа в порядке, указанном выше. Если API-ключ не указан, будет использоваться API-ключ по умолчанию, если он доступен.
Вы можете получить ключ API, зарегистрировавшись на сайте QR Code AI API .
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Сервер Model Context Protocol, который позволяет помощникам на основе искусственного интеллекта управлять данными совещаний, включая создание ботов для совещаний, поиск стенограмм и организацию событий в календаре.
Related MCP Servers
- -securityFlicense-qualityA versatile Model Context Protocol server that enables AI assistants to manage calendars, track tasks, handle emails, search the web, and control smart home devices.Last updated -2Python
- -security-license-qualityA Model Context Protocol server implementation that enables AI assistants to interact with Linear project management systems, allowing them to create, retrieve, and modify data related to issues, projects, teams, and users.Last updated -202TypeScript
- AsecurityFlicenseAqualityA Model Context Protocol server that enables AI assistants to interact with Bluesky/ATProtocol, providing authentication, timeline access, post creation, and social features like likes and follows.Last updated -1810TypeScript
- -securityFlicense-qualityA Model Context Protocol server that provides persistent task management capabilities for AI assistants, allowing them to create, update, and track tasks beyond their usual context limitations.Last updated -1TypeScript