meeting baas.com
meeting baas.com logo

Meeting BaaS

Automates meeting management across Zoom, Google Meet, and Microsoft Teams with tools for recording, transcribing, searc...

Created byApr 23, 2025

Meeting BaaS MCP Server

A Model Context Protocol (MCP) server that provides tools for managing meeting data, including transcripts, recordings, calendar events, and search functionality.

Overview

This project implements a Model Context Protocol (MCP) server that allows AI assistants like Claude and Cursor to access and manipulate meeting data. It exposes a set of tools and resources that can be used to:
  • Invite Meeting Bots: Create and invite bots to your video conferences that automatically record and transcribe meetings
  • Query Meeting Data: Search through meeting transcripts and find specific information without watching entire recordings
  • Manage Calendar Events: View and organize calendar entries and upcoming meetings
  • Access Recording Information: Get metadata about meeting recordings and their status

Prerequisites

  • Node.js (v16 or later)
  • npm
  • MeetingBaaS Account: You need access to a MeetingBaaS account using your corporate email address

Installation

  1. Clone the repository:
  1. Install dependencies:
  1. Build the project:

Usage

Start the server:
By default, the server runs on port 7017 and exposes the MCP endpoint at http://localhost:7017/mcp.

Available Tools

The server exposes several tools through the MCP protocol:

Calendar Tools

  • oauthGuidance: Get detailed step-by-step instructions on setting up OAuth for Google or Microsoft calendars
  • listRawCalendars: Lists available calendars from Google or Microsoft before integration
  • setupCalendarOAuth: Integrates a calendar using OAuth credentials
  • listCalendars: Lists all integrated calendars
  • getCalendar: Gets detailed information about a specific calendar integration
  • deleteCalendar: Permanently removes a calendar integration
  • resyncAllCalendars: Forces a refresh of all connected calendars
  • listUpcomingMeetings: Lists upcoming meetings from a calendar
  • listEvents: Lists calendar events with comprehensive filtering options
  • listEventsWithCredentials: Lists calendar events with credentials provided directly in the query
  • getEvent: Gets detailed information about a specific calendar event
  • scheduleRecording: Schedules a bot to record an upcoming meeting
  • scheduleRecordingWithCredentials: Schedules recording with credentials provided directly in the query
  • cancelRecording: Cancels a previously scheduled recording
  • cancelRecordingWithCredentials: Cancels recording with credentials provided directly in the query
  • checkCalendarIntegration: Checks and diagnoses calendar integration status

Meeting Tools

  • createBot: Creates a meeting bot that can join video conferences to record and transcribe meetings
  • getBots: Lists all bots and their associated meetings
  • getBotsByMeeting: Gets bots for a specific meeting URL
  • getRecording: Retrieves recording information for a specific bot/meeting
  • getRecordingStatus: Checks the status of a recording in progress
  • getMeetingData: Gets transcript and recording data for a specific meeting
  • getMeetingDataWithCredentials: Gets transcript and recording data using direct API credentials

Transcript Tools

  • getMeetingTranscript: Gets a meeting transcript with speaker names and content grouped by speaker
  • findKeyMoments: Automatically identifies and shares links to important moments in a meeting

QR Code Tools

  • generateQRCode: Creates an AI-generated QR code image that can be used as a bot avatar

Link Sharing Tools

  • shareableMeetingLink: Generates a nicely formatted, shareable link to a meeting recording
  • shareMeetingSegments: Creates a list of links to multiple important moments in a meeting

Example Workflows

Recording a Meeting

  1. Create a bot for your upcoming meeting:
  1. The bot joins the meeting automatically and begins recording.
  1. Check recording status:

Calendar Integration and Automatic Recording

  1. Get guidance on obtaining OAuth credentials:
  1. List your available calendars before integration:
  1. Set up calendar integration with a specific calendar:
  1. View your upcoming meetings:
  1. Schedule recording for an upcoming meeting:
  1. Check all recordings scheduled in your calendar:
  1. Cancel a previously scheduled recording:
  1. Refresh calendar data if meetings are missing:

Simplified Calendar Integration

For a simpler approach to calendar integration, you can directly configure your calendar OAuth credentials in the Claude Desktop configuration file:
  1. Edit the configuration file:
  1. Add the calendarOAuth section to your botConfig:
  1. Save the file and restart Claude Desktop - your calendar will be automatically integrated.
This approach eliminates the need to manually call the OAuth setup tools, making calendar integration a one-time configuration task.
Note: Calendar integration is completely optional. You can use Meeting BaaS without connecting a calendar by simply omitting the calendarOAuth section from your configuration. Calendar integration enhances the experience by providing access to your upcoming meetings and enabling automatic recording of calendar events.

Analyzing Meeting Content

  1. Get the full transcript of a meeting:
  1. Find key moments in a meeting:
  1. Share a specific moment from a meeting:

Using Direct Credential Tools

You can provide API credentials directly in your queries:
  1. List events with direct credentials:
  1. Schedule a recording with direct credentials:
  1. Cancel a recording with direct credentials:
  1. Get meeting data with direct credentials:

Using AI-Generated QR Codes as Bot Avatars

  1. Generate a QR code with your contact information and a custom design:
  1. Use the generated QR code as a bot avatar in a meeting:
  1. Generate a QR code with a meeting link for easy sharing:

Accessing Meeting Recordings

Meeting recordings can be accessed directly through the Meeting BaaS viewer using the bot ID:
For example:
This viewer provides:
  • The meeting video recording
  • Synchronized transcript with speaker identification
  • Navigation by speaker or topic
  • Direct link sharing with teammates
When using the createBot, getBots, or search tools, you'll receive bot IDs that can be used to construct these viewer URLs for easy access to recordings.
Important: All meeting recordings and links are automatically shared with colleagues who have the same corporate email domain (e.g., @yourcompany.com). This allows your entire team to access recordings without requiring individual permissions, creating a collaborative environment where meeting knowledge is accessible to everyone in your organization.

Configuration

The server can be configured through environment variables or by editing the src/config.ts file.
Key configuration options:
  • PORT: The port the server listens on (default: 7017)
  • API_BASE_URL: The base URL for the Meeting BaaS API
  • DEFAULT_API_KEY: Default API key for testing

Integration with Claude Desktop

To integrate with Claude Desktop:
  1. Edit the Claude Desktop configuration file:
  1. Add the Meeting BaaS MCP server configuration:
  1. Restart Claude Desktop.
The configuration explained:
  • command specifies the shell to use
  • args contains the command line arguments:
  • headers contains the API keys for authentication:
  • botConfig allows you to customize the bot's appearance and behavior:
The extra field is extremely flexible - you can add any structured metadata that makes sense for your organization and use cases.

Integration with Cursor

To integrate with Cursor:
  1. Open Cursor
  1. Go to Settings
  1. Navigate to "Model Context Protocol"
  1. Add a new server with:

Development

Build

Test with MCP Inspector

Development mode (with auto-reload)

Log Management

The server includes optimized logging with:
This command:
  • Cleans up unnecessary log files and cached data
  • Filters out repetitive ping messages from logs
  • Reduces disk usage while preserving important log information
  • Maintains a smaller log footprint for long-running servers

Project Structure

  • src/index.ts: Main entry point
  • src/tools/: Tool implementations
  • src/resources/: Resource definitions
  • src/api/: API client for the Meeting BaaS backend
  • src/types/: TypeScript type definitions
  • src/config.ts: Server configuration
  • src/utils/: Utility functions

Authentication

The server expects an API key in the x-api-key header for authentication. You can configure the default API key in the configuration.
Direct authentication is also supported in many tools (named with "WithCredentials") where you can provide the API key directly as a parameter rather than in headers.

License

MIT

QR Code API Key Configuration

The QR code generator tool requires an API key from QR Code AI API. There are several ways to provide this:
  1. Directly in the prompt: Include your API key directly in the prompt text when using the generateQRCode tool, e.g., "Generate a QR code for my website https://example.com with API key: qrc_your_key"
  1. As a parameter: Provide your API key as the apiKey parameter when using the generateQRCode tool
  1. Environment variable: Set the QRCODE_API_KEY environment variable
  1. Claude Desktop config: Add the API key to your Claude Desktop configuration file located at:Example configuration:
The tool will check for the API key in the order listed above. If no API key is provided, the default API key will be used if available.
You can obtain an API key by signing up at QR Code AI API.

Meeting BaaS MCP Server

A Model Context Protocol (MCP) server that provides tools for managing meeting data, including transcripts, recordings, calendar events, and search functionality.

Overview

This project implements a Model Context Protocol (MCP) server that allows AI assistants like Claude and Cursor to access and manipulate meeting data. It exposes a set of tools and resources that can be used to:
  • Invite Meeting Bots: Create and invite bots to your video conferences that automatically record and transcribe meetings
  • Query Meeting Data: Search through meeting transcripts and find specific information without watching entire recordings
  • Manage Calendar Events: View and organize calendar entries and upcoming meetings
  • Access Recording Information: Get metadata about meeting recordings and their status

Prerequisites

  • Node.js (v16 or later)
  • npm
  • MeetingBaaS Account: You need access to a MeetingBaaS account using your corporate email address

Installation

  1. Clone the repository:
  1. Install dependencies:
  1. Build the project:

Usage

Start the server:
By default, the server runs on port 7017 and exposes the MCP endpoint at http://localhost:7017/mcp.

Available Tools

The server exposes several tools through the MCP protocol:

Calendar Tools

  • oauthGuidance: Get detailed step-by-step instructions on setting up OAuth for Google or Microsoft calendars
  • listRawCalendars: Lists available calendars from Google or Microsoft before integration
  • setupCalendarOAuth: Integrates a calendar using OAuth credentials
  • listCalendars: Lists all integrated calendars
  • getCalendar: Gets detailed information about a specific calendar integration
  • deleteCalendar: Permanently removes a calendar integration
  • resyncAllCalendars: Forces a refresh of all connected calendars
  • listUpcomingMeetings: Lists upcoming meetings from a calendar
  • listEvents: Lists calendar events with comprehensive filtering options
  • listEventsWithCredentials: Lists calendar events with credentials provided directly in the query
  • getEvent: Gets detailed information about a specific calendar event
  • scheduleRecording: Schedules a bot to record an upcoming meeting
  • scheduleRecordingWithCredentials: Schedules recording with credentials provided directly in the query
  • cancelRecording: Cancels a previously scheduled recording
  • cancelRecordingWithCredentials: Cancels recording with credentials provided directly in the query
  • checkCalendarIntegration: Checks and diagnoses calendar integration status

Meeting Tools

  • createBot: Creates a meeting bot that can join video conferences to record and transcribe meetings
  • getBots: Lists all bots and their associated meetings
  • getBotsByMeeting: Gets bots for a specific meeting URL
  • getRecording: Retrieves recording information for a specific bot/meeting
  • getRecordingStatus: Checks the status of a recording in progress
  • getMeetingData: Gets transcript and recording data for a specific meeting
  • getMeetingDataWithCredentials: Gets transcript and recording data using direct API credentials

Transcript Tools

  • getMeetingTranscript: Gets a meeting transcript with speaker names and content grouped by speaker
  • findKeyMoments: Automatically identifies and shares links to important moments in a meeting

QR Code Tools

  • generateQRCode: Creates an AI-generated QR code image that can be used as a bot avatar

Link Sharing Tools

  • shareableMeetingLink: Generates a nicely formatted, shareable link to a meeting recording
  • shareMeetingSegments: Creates a list of links to multiple important moments in a meeting

Example Workflows

Recording a Meeting

  1. Create a bot for your upcoming meeting:
  1. The bot joins the meeting automatically and begins recording.
  1. Check recording status:

Calendar Integration and Automatic Recording

  1. Get guidance on obtaining OAuth credentials:
  1. List your available calendars before integration:
  1. Set up calendar integration with a specific calendar:
  1. View your upcoming meetings:
  1. Schedule recording for an upcoming meeting:
  1. Check all recordings scheduled in your calendar:
  1. Cancel a previously scheduled recording:
  1. Refresh calendar data if meetings are missing:

Simplified Calendar Integration

For a simpler approach to calendar integration, you can directly configure your calendar OAuth credentials in the Claude Desktop configuration file:
  1. Edit the configuration file:
  1. Add the calendarOAuth section to your botConfig:
  1. Save the file and restart Claude Desktop - your calendar will be automatically integrated.
This approach eliminates the need to manually call the OAuth setup tools, making calendar integration a one-time configuration task.
Note: Calendar integration is completely optional. You can use Meeting BaaS without connecting a calendar by simply omitting the calendarOAuth section from your configuration. Calendar integration enhances the experience by providing access to your upcoming meetings and enabling automatic recording of calendar events.

Analyzing Meeting Content

  1. Get the full transcript of a meeting:
  1. Find key moments in a meeting:
  1. Share a specific moment from a meeting:

Using Direct Credential Tools

You can provide API credentials directly in your queries:
  1. List events with direct credentials:
  1. Schedule a recording with direct credentials:
  1. Cancel a recording with direct credentials:
  1. Get meeting data with direct credentials:

Using AI-Generated QR Codes as Bot Avatars

  1. Generate a QR code with your contact information and a custom design:
  1. Use the generated QR code as a bot avatar in a meeting:
  1. Generate a QR code with a meeting link for easy sharing:

Accessing Meeting Recordings

Meeting recordings can be accessed directly through the Meeting BaaS viewer using the bot ID:
For example:
This viewer provides:
  • The meeting video recording
  • Synchronized transcript with speaker identification
  • Navigation by speaker or topic
  • Direct link sharing with teammates
When using the createBot, getBots, or search tools, you'll receive bot IDs that can be used to construct these viewer URLs for easy access to recordings.
Important: All meeting recordings and links are automatically shared with colleagues who have the same corporate email domain (e.g., @yourcompany.com). This allows your entire team to access recordings without requiring individual permissions, creating a collaborative environment where meeting knowledge is accessible to everyone in your organization.

Configuration

The server can be configured through environment variables or by editing the src/config.ts file.
Key configuration options:
  • PORT: The port the server listens on (default: 7017)
  • API_BASE_URL: The base URL for the Meeting BaaS API
  • DEFAULT_API_KEY: Default API key for testing

Integration with Claude Desktop

To integrate with Claude Desktop:
  1. Edit the Claude Desktop configuration file:
  1. Add the Meeting BaaS MCP server configuration:
  1. Restart Claude Desktop.
The configuration explained:
  • command specifies the shell to use
  • args contains the command line arguments:
  • headers contains the API keys for authentication:
  • botConfig allows you to customize the bot's appearance and behavior:
The extra field is extremely flexible - you can add any structured metadata that makes sense for your organization and use cases.

Integration with Cursor

To integrate with Cursor:
  1. Open Cursor
  1. Go to Settings
  1. Navigate to "Model Context Protocol"
  1. Add a new server with:

Development

Build

Test with MCP Inspector

Development mode (with auto-reload)

Log Management

The server includes optimized logging with:
This command:
  • Cleans up unnecessary log files and cached data
  • Filters out repetitive ping messages from logs
  • Reduces disk usage while preserving important log information
  • Maintains a smaller log footprint for long-running servers

Project Structure

  • src/index.ts: Main entry point
  • src/tools/: Tool implementations
  • src/resources/: Resource definitions
  • src/api/: API client for the Meeting BaaS backend
  • src/types/: TypeScript type definitions
  • src/config.ts: Server configuration
  • src/utils/: Utility functions

Authentication

The server expects an API key in the x-api-key header for authentication. You can configure the default API key in the configuration.
Direct authentication is also supported in many tools (named with "WithCredentials") where you can provide the API key directly as a parameter rather than in headers.

License

MIT

QR Code API Key Configuration

The QR code generator tool requires an API key from QR Code AI API. There are several ways to provide this:
  1. Directly in the prompt: Include your API key directly in the prompt text when using the generateQRCode tool, e.g., "Generate a QR code for my website https://example.com with API key: qrc_your_key"
  1. As a parameter: Provide your API key as the apiKey parameter when using the generateQRCode tool
  1. Environment variable: Set the QRCODE_API_KEY environment variable
  1. Claude Desktop config: Add the API key to your Claude Desktop configuration file located at:Example configuration:
The tool will check for the API key in the order listed above. If no API key is provided, the default API key will be used if available.
You can obtain an API key by signing up at QR Code AI API.