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(Model Context Protocol) 서버입니다.
개요
이 프로젝트는 Claude와 Cursor와 같은 AI 비서가 회의 데이터에 접근하고 조작할 수 있도록 하는 모델 컨텍스트 프로토콜(MCP) 서버를 구현합니다. 다음과 같은 용도로 사용할 수 있는 도구와 리소스 세트를 제공합니다.
- 회의 봇 초대 : 회의를 자동으로 녹화하고 기록하는 봇을 비디오 회의에 생성하고 초대합니다.지엑스피1
- 회의 데이터 쿼리 : 전체 녹음을 보지 않고도 회의 기록을 검색하고 특정 정보를 찾을 수 있습니다.Copy
- 캘린더 이벤트 관리 : 캘린더 항목과 예정된 회의를 보고 구성합니다.
- 녹음 정보 액세스 : 회의 녹음 및 해당 상태에 대한 메타데이터 가져오기
필수 조건
- Node.js(v16 이상)
- 엔피엠
- MeetingBaaS 계정 : 회사 이메일 주소를 사용하여 MeetingBaaS 계정에 액세스해야 합니다.
- 모든 로그, 봇 및 공유 링크는 동일한 회사 도메인(gmail.com과 같은 개인 이메일 제외)을 사용하는 동료가 사용할 수 있습니다.
- 이를 통해 모든 팀원이 조직의 모든 사람이 만든 회의 녹음 및 대본에 액세스할 수 있는 원활한 협업이 가능해집니다.
설치
- 저장소를 복제합니다.Copy
- 종속성 설치:Copy
- 프로젝트를 빌드하세요:Copy
용법
서버를 시작합니다:
기본적으로 서버는 포트 7017에서 실행되며 MCP 엔드포인트는 http://localhost:7017/mcp
에 노출됩니다.
사용 가능한 도구
서버는 MCP 프로토콜을 통해 여러 도구를 제공합니다.
캘린더 도구
oauthGuidance
: Google 또는 Microsoft 캘린더에 대한 OAuth 설정에 대한 자세한 단계별 지침을 확인하세요.- 매개변수가 필요하지 않습니다
- OAuth 자격 증명을 얻고 캘린더 통합을 설정하기 위한 포괄적인 지침을 반환합니다.
listRawCalendars
: 통합 전에 Google 또는 Microsoft에서 사용 가능한 캘린더를 나열합니다.- 매개변수:
platform
("Google" 또는 "Microsoft"),clientId
,clientSecret
,refreshToken
- 사용 가능한 캘린더 목록을 ID와 기본 상태와 함께 반환합니다.
- 매개변수:
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
(오디오 입력을 스트리밍하기 위한 선택적 WebSocket URL)streamingOutputUrl
(오디오 출력을 스트리밍하기 위한 선택적 WebSocket URL)streamingAudioFrequency
(스트리밍을 위한 선택 주파수: "16khz" 또는 "24khz")extra
(회의 유형, 사용자 정의 요약 프롬프트, 검색 키워드 등 회의에 대한 추가 메타데이터가 포함된 선택적 개체)
- 반환: ID 및 참여 상태를 포함한 봇 세부 정보
- 매개변수:
getBots
: 모든 봇과 관련 회의를 나열합니다.getBotsByMeeting
: 특정 회의 URL에 대한 봇을 가져옵니다.getRecording
: 특정 봇/미팅에 대한 녹음 정보를 검색합니다.getRecordingStatus
: 진행 중인 녹음 상태를 확인합니다.getMeetingData
: 특정 회의에 대한 대본 및 녹음 데이터를 가져옵니다.- 매개변수:
meetingId
(데이터를 가져올 회의 ID) - 반환: 회의 녹화에 대한 정보(기간 및 대본 세그먼트 수 포함)
- 매개변수:
getMeetingDataWithCredentials
: 직접 API 자격 증명을 사용하여 대본 및 녹음 데이터를 가져옵니다.- 매개변수:
meetingId
(회의 ID),apiKey
(인증을 위한 API 키) - 반환:
getMeetingData
와 동일한 정보이지만 직접 인증을 사용합니다.
- 매개변수:
필사 도구
getMeetingTranscript
: 발표자 이름과 발표자별로 그룹화된 콘텐츠가 포함된 회의 기록을 가져옵니다.- 매개변수:
botId
(회의를 기록한 봇) - 반환: 화자 정보가 포함된 전체 대본(화자별로 그룹화된 문단 형식)
- 출력 예:Copy
- 매개변수:
findKeyMoments
: 회의에서 중요한 순간을 자동으로 식별하고 링크를 공유합니다.- 매개변수:
botId
, 선택적meetingTitle
, 찾을topics
목록(선택 사항), 선택적maxMoments
- 반환: 주요 순간의 마크다운 형식 목록(링크 포함), 대본을 기반으로 자동 감지
- 수동 타임스탬프 선택 없이 AI 기반 분석을 사용하여 중요한 순간을 찾습니다.
- 매개변수:
QR 코드 도구
generateQRCode
: 봇 아바타로 사용할 수 있는 AI 생성 QR 코드 이미지를 생성합니다.- 매개변수:
type
: QR 코드 유형(URL, 이메일, 전화, SMS, 텍스트)to
: QR 코드의 목적지(URL, 이메일, 전화번호 또는 문자 메시지)prompt
: QR 코드를 맞춤 설정하는 AI 프롬프트입니다(최대 1000자). "API key: qrc_your_key" 또는 이와 유사한 문구를 입력하여 프롬프트 텍스트에 API 키를 직접 포함할 수 있습니다.style
: QR 코드의 스타일(style_default, style_dots, style_rounded, style_crystal)useAsBotImage
: 생성된 QR 코드를 봇 아바타로 사용할지 여부(기본값: true)template
: QR 코드에 대한 템플릿 ID(선택 사항)apiKey
: QR 코드 AI API 키(선택 사항, 제공하지 않으면 기본값 사용)
- 반환: joinMeeting 도구에서 직접 사용할 수 있는 생성된 QR 코드 이미지의 URL
- 사용 예:Copy
- 프롬프트에 API 키가 있는 예:Copy
- 형식 매개변수를 사용한 예:Copy
- 매개변수:
링크 공유 도구
shareableMeetingLink
: 회의 녹화에 대한 깔끔하게 포맷된 공유 가능한 링크를 생성합니다.- 매개변수:
botId
, 선택 사항인timestamp
,title
,speakerName
및description
- 반환: 채팅에서 직접 공유할 수 있는 메타데이터가 포함된 마크다운 형식의 링크
- 예:Copy
- 매개변수:
shareMeetingSegments
: 회의의 여러 중요한 순간에 대한 링크 목록을 만듭니다.- 매개변수:
botId
및 타임스탬프, 스피커, 설명이 포함된segments
배열 - 반환: 각 순간에 대한 직접 링크가 포함된 마크다운 형식의 세그먼트 목록
- 긴 회의의 목차를 만드는 데 유용합니다.
- 매개변수:
예제 워크플로
회의 녹음
- 다가오는 회의를 위한 봇을 만들어보세요:Copy
- 봇은 자동으로 회의에 참여하고 녹음을 시작합니다.
- 녹음 상태 확인:Copy
캘린더 통합 및 자동 기록
- OAuth 자격 증명을 얻는 방법에 대한 지침을 받으세요.Copy
- 통합 전에 사용 가능한 캘린더를 나열하세요.Copy
- 특정 캘린더와 캘린더 통합을 설정합니다.Copy
- 다가오는 회의를 확인하세요:Copy
- 다가오는 회의에 대한 녹화 일정을 예약하세요:Copy
- 캘린더에 예약된 모든 녹화를 확인하세요:Copy
- 이전에 예약된 녹화를 취소합니다.Copy
- 회의가 누락된 경우 일정 데이터를 새로 고칩니다.Copy
간소화된 캘린더 통합
캘린더 통합을 더 간편하게 하려면 Claude Desktop 구성 파일에서 캘린더 OAuth 자격 증명을 직접 구성할 수 있습니다.
- 구성 파일을 편집하세요:Copy
- botConfig에
calendarOAuth
섹션을 추가합니다.Copy - 파일을 저장하고 Claude Desktop을 다시 시작하면 일정이 자동으로 통합됩니다.
이 방법을 사용하면 OAuth 설정 도구를 수동으로 호출할 필요가 없으므로 일정 통합을 한 번의 구성 작업으로 처리할 수 있습니다.
참고: 캘린더 통합은 완전히 선택 사항입니다. 설정에서
calendarOAuth
섹션을 생략하면 캘린더를 연결하지 않고도 Meeting BaaS를 사용할 수 있습니다. 캘린더 통합은 예정된 회의에 대한 액세스를 제공하고 캘린더 일정을 자동으로 기록하여 사용자 경험을 향상시킵니다.
회의 내용 분석
- 회의의 전체 내용을 확인하세요:Copy
- 회의에서 중요한 순간을 찾으세요.Copy
- 회의의 특정 순간을 공유하세요.Copy
직접 자격 증명 도구 사용
API 자격 증명을 쿼리에 직접 제공할 수 있습니다.
- 직접 자격 증명이 있는 이벤트 나열:Copy
- 직접 자격 증명으로 녹음 일정을 예약하세요.Copy
- 직접 자격 증명을 사용하여 녹음을 취소합니다.Copy
- 직접 자격 증명을 사용하여 회의 데이터를 가져옵니다.Copy
AI가 생성한 QR 코드를 봇 아바타로 활용
- 귀하의 연락처 정보와 맞춤형 디자인을 담은 QR 코드를 생성하세요.Copy
- 생성된 QR 코드를 회의에서 봇 아바타로 사용하세요.Copy
- 간편한 공유를 위해 회의 링크가 포함된 QR 코드를 생성하세요.Copy
회의 녹화에 액세스하기
회의 녹화 내용은 봇 ID를 사용하여 Meeting BaaS 뷰어를 통해 직접 액세스할 수 있습니다.
예를 들어:
이 뷰어는 다음을 제공합니다.
- 회의 영상 녹화
- 화자 식별을 통한 동기화된 대본
- 스피커 또는 주제별 탐색
- 팀원과 직접 링크 공유
createBot
, getBots
, 검색 도구를 사용하면 녹화본에 쉽게 액세스할 수 있는 뷰어 URL을 구성하는 데 사용할 수 있는 봇 ID를 받게 됩니다.
중요 : 모든 회의 녹화본과 링크는 동일한 회사 이메일 도메인(예: @yourcompany.com)을 사용하는 동료와 자동으로 공유됩니다. 이를 통해 전체 팀이 개별적인 권한 없이 녹화본에 액세스할 수 있으며, 조직 내 모든 구성원이 회의 관련 정보에 접근할 수 있는 협업 환경을 조성할 수 있습니다.
구성
서버는 환경 변수를 통해서 구성하거나 src/config.ts
파일을 편집하여 구성할 수 있습니다.
주요 구성 옵션:
PORT
: 서버가 수신하는 포트(기본값: 7017)API_BASE_URL
: Meeting BaaS API의 기본 URLDEFAULT_API_KEY
: 테스트를 위한 기본 API 키
Claude Desktop과 통합
Claude Desktop과 통합하려면:
- Claude Desktop 구성 파일을 편집합니다.Copy
- Meeting BaaS MCP 서버 구성을 추가합니다.참고:Copy
/path/to/meeting-mcp
로컬 저장소 경로로 바꾸고YOUR_API_KEY
실제 API 키로 바꾸세요.중요: 회사 이메일 계정과 연결된 API 키를 사용하고 있는지 확인하세요. 모든 녹음 파일, 봇 로그 및 공유 링크는 동일한 이메일 도메인을 사용하는 동료가 자동으로 접근하여 원활한 팀 협업을 지원합니다.
QR 코드 API에 대한 참고 사항: QR 코드 API는 Meeting BaaS API와 동일한 헤더 이름(
x-api-key
)을 사용하지만, 별도로 설정해야 합니다. QR 코드 생성 기능을 사용하려면 아래 "QR 코드 API 키 구성" 섹션에 설명된 방법 중 하나를 사용해야 합니다. 예를 들어 환경 변수를 설정하거나 프롬프트에 키를 직접 포함하는 방법이 있습니다. - Claude Desktop을 다시 시작합니다.
구성 설명:
command
사용할 셸을 지정합니다.args
에는 명령줄 인수가 포함됩니다.- 프로젝트 디렉토리로
cd
- 오류 출력을 stderr로 리디렉션하여 프로젝트를 빌드합니다.
- Claude Desktop에서 실행 중임을 나타내기 위해
MCP_FROM_CLAUDE=true
환경 변수로 서버를 실행합니다.
- 프로젝트 디렉토리로
headers
인증을 위한 API 키가 포함되어 있습니다.x-api-key
: 미팅 서비스에 접속하기 위한 Meeting BaaS API 키
botConfig
사용하면 봇의 모양과 동작을 사용자 지정할 수 있습니다.name
: 회의에서 봇에 표시되는 이름(기본값: "Claude Assistant")image
: 봇의 아바타로 사용할 공개적으로 접근 가능한 이미지의 URL(선택 사항)entryMessage
: 봇이 회의에 참여할 때 보낼 메시지(선택 사항)deduplicationKey
: 동일한 회의에 참석하는 데 5분 제한을 무시하는 고유 키(선택 사항)nooneJoinedTimeout
: 참가자가 참여하지 않을 경우 봇이 종료되는 시간(초) (선택 사항)waitingRoomTimeout
: 봇이 대기실에 갇혔을 때 나갈 때까지의 시간 제한(초) (선택 사항)speechToTextProvider
: 텍스트 변환에 사용할 공급자("Gladia", "Runpod", "Default")(선택 사항)speechToTextApiKey
: 필요한 경우 음성-텍스트 제공자의 API 키(선택 사항)calendarOAuth
: OAuth 자격 증명을 통한 직접 캘린더 통합(선택 사항)platform
: "Google" 또는 "Microsoft"clientId
: OAuth 클라이언트 IDclientSecret
: OAuth 클라이언트 비밀번호refreshToken
: OAuth 새로 고침 토큰rawCalendarId
: 통합할 특정 달력의 선택적 ID
extra
: AI 기능을 향상시키기 위한 회의에 대한 추가 메타데이터(선택 사항)- 예: GXP38
extra
필드는 매우 유연합니다. 조직과 사용 사례에 적합한 구조화된 메타데이터를 추가할 수 있습니다.
커서와의 통합
커서와 통합하려면:
- 커서 열기
- 설정으로 이동
- "모델 컨텍스트 프로토콜"로 이동
- 다음을 사용하여 새 서버를 추가합니다.
- 이름: "BaaS MCP 회의"
- 유형: "sse"
- 서버 URL: " http://localhost:7017/mcp "
- 인증이 필요한 경우 헤더를 추가하세요.
개발
짓다
MCP Inspector로 테스트
개발 모드(자동 재로드 포함)
로그 관리
서버에는 다음과 같은 최적화된 로깅이 포함되어 있습니다.
이 명령은:
- 불필요한 로그 파일과 캐시된 데이터를 정리합니다.
- 로그에서 반복되는 ping 메시지를 필터링합니다.
- 중요한 로그 정보를 보존하면서 디스크 사용량을 줄입니다.
- 장기 실행 서버에 대해 더 작은 로그 공간을 유지합니다.
프로젝트 구조
src/index.ts
: 메인 진입점src/tools/
: 도구 구현src/resources/
: 리소스 정의src/api/
: Meeting BaaS 백엔드용 API 클라이언트src/types/
: TypeScript 유형 정의src/config.ts
: 서버 구성src/utils/
: 유틸리티 함수logging.ts
: 로그 필터링 및 관리tinyDb.ts
: 영구적인 봇 추적 데이터베이스
입증
서버는 인증을 위해 x-api-key
헤더에 API 키가 있어야 합니다. 구성 파일에서 기본 API 키를 설정할 수 있습니다.
또한 "WithCredentials"라는 이름의 많은 도구에서 직접 인증을 지원하며, 이를 통해 헤더가 아닌 매개변수로 API 키를 직접 제공할 수 있습니다.
특허
QR 코드 API 키 구성
QR 코드 생성 도구를 사용하려면 QR Code AI API의 API 키가 필요합니다. API 키를 제공하는 방법은 여러 가지가 있습니다.
- 프롬프트에 직접 입력:
generateQRCode
도구를 사용할 때 API 키를 프롬프트 텍스트에 직접 포함합니다. 예: "API 키: qrc_your_key를 사용하여 내 웹사이트 https://example.com 에 대한 QR 코드를 생성하세요" - 매개변수로 :
generateQRCode
도구를 사용할 때 API 키를apiKey
매개변수로 제공하세요. - 환경 변수 :
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 키가 사용 가능한 경우 해당 키가 사용됩니다.
QR Code AI API 에 가입하면 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.
AI 도우미가 회의 봇 생성, 대본 검색, 일정 이벤트 구성 등 회의 데이터를 관리할 수 있도록 하는 모델 컨텍스트 프로토콜 서버입니다.
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