MCP
Connect Recall’s MCP server to your AI agent to grant read access to the platform.
Overview
Recall.ai provides a managed MCP server for providing read-only access to Recall.ai workspaces, bots, calendars, bot logs, and developer documentation from MCP-compatible AI clients. When authenticating using OAuth, you grant the MCP server access to all workspaces within your billing account (with optional granular scopes to configure what it can access).
How to Set Up
Choose the Recall.ai region that matches your workspace:
| Region | MCP URL |
|---|---|
| US East | https://us-east-1.recall.ai/mcp |
| US West | https://us-west-2.recall.ai/mcp |
| Europe | https://eu-central-1.recall.ai/mcp |
| Asia Pacific | https://ap-northeast-1.recall.ai/mcp |
MCP clients that support remote HTTP MCP can connect directly to the MCP URL and discover authentication from it. Use recall-ai as the MCP server name in each client.
Cursor Example
{
"mcpServers": {
"recall-ai": {
"url": "https://us-east-1.recall.ai/mcp"
}
}
}Windsurf Example
{
"mcpServers": {
"recall-ai": {
"serverUrl": "https://us-east-1.recall.ai/mcp"
}
}
}Claude Desktop Example
In Claude Desktop:
- Open Settings.
- Go to Connectors.
- Add a custom connector.
- Use
recall-aias the connector name. - Use
https://us-east-1.recall.ai/mcpas the connector URL. - Connect and complete the Recall.ai OAuth flow.
Claude Code Example
claude mcp add --transport http recall-ai https://us-east-1.recall.ai/mcpCodex Example
codex mcp add recall-ai --url https://us-east-1.recall.ai/mcpAutonomous Agents
We support using API tokens in order to authenticate autonomous agents. You'll want to pass your API key as a header, in the following format:Authorization: Bearer <API_TOKEN>
For example, to configure with Codex
[mcp_servers.recall-ai]
url = "https://us-east-1.recall.ai/mcp"
http_headers = { "Authorization" = "Bearer <API_KEY>"}Available Tools
The Recall.ai MCP server exposes read-only tools scoped to the workspace selected during authorization. If your account can access multiple workspaces, use list_workspaces to find the workspace ID and pass it as workspace_id to workspace-scoped tools.
| Tool Name | Description | Use Case |
|---|---|---|
get_info | Show the active Recall.ai account, workspace, organization, and API version. | Confirm API version before updating webhook code. |
list_workspaces | Show Recall.ai workspaces available to the authenticated account. | Locate the workspace for a named customer account. |
get_service_status | Show current customer-visible Recall.ai service status by region or product area. | Confirm active degradation behind bot join failures. |
list_service_incidents | List historical customer-visible Recall.ai status incidents by region, time, or product area. | Correlate delayed webhooks with published incidents. |
get_third_party_provider_status | Show current public status for supported meeting and transcription providers. | Confirm upstream health during transcription timeouts. |
list_third_party_provider_incidents | List historical public status incidents for supported meeting and transcription providers. | Correlate failed recordings with upstream incidents. |
list_rate_limits | Show configured public API rate limits for a workspace. | Explain 429s during transcript backfill. |
get_billed_usage | Fetch invoice-grade billed usage and credit balances. | Confirm remaining credits for finance reconciliation. |
submit_rate_limit_increase_request | Submit a public API rate-limit increase request for a workspace. | Request higher bot creation limits for launch traffic. |
list_webhook_endpoints | List configured webhook destinations and subscribed event types. | Confirm bot.done is subscribed before tracing delivery. |
create_webhook_endpoint | Create a webhook destination and event subscriptions. | Route transcript.done events to a new receiver. |
update_webhook_endpoint | Update a webhook destination, subscriptions, description, or active state. | Disable deliveries while a receiver returns 500s. |
send_test_webhook_endpoint | Send a test webhook event to a configured destination. | Confirm a receiver accepts bot.done payloads. |
list_webhook_deliveries | List webhook events and delivery attempts for a resource. | Trace why a recording.done webhook never arrived. |
list_bots | Find bots by status, meeting, schedule, platform, or metadata. | Locate bots sharing an app correlation ID. |
get_bot | Fetch detailed bot status, events, participants, chat, and metadata. | Explain whether the host removed the bot. |
list_recordings | Find recordings by bot, upload, status, time range, or metadata. | Locate recordings that failed after upload. |
list_audio_mixed | Find mixed-audio artifacts by recording, status, format, or metadata. | Confirm a requested MP3 finished processing. |
get_recording_resource | Fetch recording or transcript artifact details by ID. | Investigate a transcript artifact with missing speakers. |
list_calendars | List calendars in a workspace, with filters for email, platform, and connection status. | Confirm whether a user's calendar disconnected. |
get_calendar | Show details for one calendar integration. | Explain why one calendar stopped scheduling bots. |
list_calendar_events | Find synced calendar events by calendar, time, deletion state, or update time. | Locate calendar events missing scheduled bots. |
get_calendar_event | Show details for one synced calendar event. | Confirm whether a meeting URL was updated. |
get_bot_calendar_events | Show calendar events that scheduled a bot. | Trace an unexpected bot to its calendar event. |
get_bot_logs | Fetch customer-visible runtime logs for a bot. | Explain why a bot failed to join or record. |
get_workspace_logs | Fetch customer-visible workspace logs for a time window. | Trace API 401s during calendar setup. |
list_docs | Show available Recall.ai documentation and API reference pages. | Find the slug for a product guide. |
search_docs | Search Recall.ai documentation and API reference pages. | Find docs for a specific endpoint or error. |
get_doc | Fetch a Recall.ai documentation page by slug. | Read the exact calendar sync guide by slug. |
Examples in Action
Bot Debugging
User: "Why did bot 7d6ac4c3-69ef-49a4-a2d9-06723c0a235a fail to join?"
Assistant: [Uses get_bot and get_bot_logs]
Response: "The bot entered a fatal state after receiving a meeting access error..."
Documentation Search
User: "Find the docs for creating a meeting bot."
Assistant: [Uses search_docs, then get_doc]
Response: "The relevant guide is agent-quickstarts. It explains how to create a bot..."
