Three-minute quick start
Use your BizCrush account
No API key is needed. The OAuth flow opens BizCrush for normal account sign-in and consent.
Add the MCP URL
Add the endpoint above as a Streamable HTTP server in your AI client's MCP or connector settings.
Connect and ask
Finish OAuth authentication, then ask “Show my five most recent meetings” to verify the connection.
Connect your platform
Labels can vary slightly by product update and workspace policy.
ChatGPT
- In ChatGPT desktop, open Settings → MCP Servers → Add server. In a web workspace, create a custom app or connector under Settings → Apps/Plugins.
- Use BizCrush as the name, select Streamable HTTP, and enter the MCP endpoint above.
- Save and choose Authenticate. Sign in with your normal BizCrush account in the browser, review the permissions, and approve the connection.
Custom-app availability and write-tool access can depend on your plan and workspace admin policy. OpenAI Docs
Authentication
OAuth 2.1 + PKCE
Enter the endpoint in an OAuth-capable MCP client. The client discovers authentication, then opens bizcru.sh for normal BizCrush sign-in and consent. No API key is required.
Try these prompts
27 available tools
Your client discovers this list automatically after connecting.
| Tool | Description | Parameters |
|---|---|---|
| create_meeting | Create a new meeting and optionally invite participants. | participant_ids: list[str], title: str |
| delete_meeting | Delete a meeting by ID. | meeting_id: str |
| get_meetings | List the authenticated user's meetings, newest first. | last_updated_at?: str, limit: int |
| search_meetings | Search accessible meetings by title, description or your personal title. | query: str, limit?: int, page_token?: str |
| send_meeting_message | Send a text message to a meeting. | meeting_id: str, text: str |
| delete_meeting_message | Delete a message from a meeting. | meeting_id: str, message_id: str |
| get_meeting_messages | Get messages for a meeting. | meeting_id: str, last_updated_at?: str, limit: int |
| summarize_meeting | Generate an AI summary of a meeting. | meeting_id: str, send_email_to_participants: bool, user_prompt?: str |
| send_meeting_summary_to_slack | Send a saved meeting summary to the user's connected Slack channel. | meeting_id: str, language?: IETF BCP-47 string |
| add_meeting_participants | Add participants to a meeting. | meeting_id: str, participant_ids: list[str] |
| remove_meeting_participants | Remove participants from a meeting. | meeting_id: str, participant_ids: list[str] |
| assign_co_host | Assign co-host role to users. | meeting_id: str, user_ids: list[str] |
| remove_co_host | Remove co-host role from users. | meeting_id: str, user_ids: list[str] |
| get_user_default_meeting_setting | Get user's default meeting settings. | device_language_code: str |
| update_user_default_meeting_setting | Update user's default meeting settings. | original_languages: list[str], view_language: str, translation_languages: list[str], contextual_keywords: list[str] |
| update_transcript_utterance | Correct a transcribed utterance's text. | utterance_id: str, meeting_id: str, transcript: str |
| get_meeting_summary | Get the AI-generated summary of a meeting (cached). | meeting_id: str, force_refresh: bool |
| get_meeting_transcripts | Get finalized transcripts with live fallback. | meeting_id: str, message_id?: str, offset: int, limit: int, force_refresh: bool |
| upload_meeting_to_notion | Upload a meeting summary to Notion. | meeting_id: str |
| get_my_people | List the user's contacts. | cursor?: str, limit: int |
| list_context_sources | List context sources (notes and keywords) for a meeting or the personal library. | meeting_id?: str |
| add_context_source | Register context notes and keywords for a meeting or the personal library. | meeting_id?: str, text?: str, keywords?: list[str], keyword_groups?: list[list[str]] |
| update_context_source | Update a context source's text, keywords, summary, or enabled state. | source_id: str, meeting_id?: str, enabled?: bool, text?: str, summary?: str, keywords?: list[str], keyword_groups?: list[list[str]] |
| delete_context_source | Delete a context source. | source_id: str, meeting_id?: str |
| get_events | Read your meeting, transcription and summary completion events with a durable cursor. | cursor?: str, limit?: int |
| register_webhook | Register a public HTTPS completion webhook. The signing secret is returned once. | url: str, events?: list[str], meeting_ids?: list[str] |
| list_webhooks | List your active webhook endpoints without signing secrets. | — |
| unregister_webhook | Disable a webhook and suppress its pending deliveries. | webhook_id: str |
Completion events and webhooks
Subscribe to bizcrush://events with subscriptions/listen. Save next_cursor from get_events to recover after reconnecting. Events are retained for 30 days; processing, failure and cancellation are not reported as completion. Webhook registration requires meetings:read and webhooks:write. Destinations must use public HTTPS. Verify Standard Webhooks signatures and deduplicate webhook-id.
Troubleshooting
401 / Unauthorized
Disconnect and repeat OAuth. Sign in with your BizCrush account when the browser opens; do not paste an API key into a conversation.
Tools are missing
Refresh the connector's tools or add the connection again. Some clients require a restart.
No custom-connector option
Check plan availability, region, admin role, and workspace policy.