# Wave MCP Server > Wave's hosted Model Context Protocol server. Connect Claude, ChatGPT, > Claude Code, Cursor, or another remote-MCP client to search meetings and > calls, retrieve summaries and transcripts, organize folders, and round-trip > structured action items. Server URL: https://mcp.wave.co Transport: Streamable HTTP (JSON-RPC) Protocol versions: 2025-11-25, 2025-06-18, 2025-03-26 Authentication: OAuth 2.0 + PKCE (preferred) or wave_mcp_* Bearer token Data boundary: The authenticated user's own Wave sessions and folders Setup guide: https://api.wave.co/mcp Token management: https://app.wave.co/settings/integrations/mcp REST API: https://api.wave.co Browser document requests to https://mcp.wave.co receive a compact connection page. The exhaustive, maintained setup guide lives at https://api.wave.co/mcp. MCP clients continue to use https://mcp.wave.co directly. ## Safety and write boundary Wave MCP is not entirely read-only. It exposes eight read tools and four focused write tools. The write surface can: - replace a session's structured action-item list, with an optional version check to prevent overwriting a newer edit; - create a folder; - add a session to a folder; - remove a session from a folder. The MCP server cannot delete sessions, recordings, or transcripts. It cannot edit recording media or transcript text. Removing a session from a folder removes only that folder relationship. All tools are closed-world (`openWorldHint: false`) and operate only on data owned by the authenticated Wave user. Clients may independently require confirmation or administrator approval before write tools run. ## Connect ### Claude and Claude Desktop Open Customize > Connectors, add a custom connector, and use: https://mcp.wave.co Complete the Wave OAuth window when prompted. ### Claude Code claude mcp add --transport http wave https://mcp.wave.co Then run `/mcp` inside Claude Code and complete authentication. ### ChatGPT In Developer Mode or workspace app settings, create a custom app/connector whose MCP server URL is: https://mcp.wave.co Available actions depend on the ChatGPT plan and workspace policy. Some modes only expose read/fetch tools; managed workspaces can separately govern actions. ### Other remote-MCP clients Use Streamable HTTP and the URL https://mcp.wave.co. OAuth-capable clients should follow discovery automatically. For a manual token, mint a wave_mcp_* token in Wave settings and send: Authorization: Bearer wave_mcp_... ## Discovery - GET /.well-known/oauth-authorization-server - GET /.well-known/oauth-protected-resource Unauthenticated protected methods return HTTP 401 with a WWW-Authenticate resource_metadata link so standards-compliant clients can begin OAuth. ## Protocol behavior Implemented MCP methods include: - initialize - ping - tools/list - tools/call - resources/list - resources/read - resources/templates/list - notifications/* POST / is the JSON-RPC endpoint. HEAD / reports the latest supported protocol. This stateless server does not provide server-initiated SSE streams; non-browser GET / and DELETE / therefore return 405 as permitted by Streamable HTTP. ## Read tools ### search_sessions Semantic search across the user's sessions. Inputs: - query: string (required) - limit: number (default 10, max 50) - folder: folder id or case-insensitive name - tag: string or string[] - tag_mode: "any" (default) or "all" Returns ranked sessions with snippets and metadata. Phone sessions include direction, to/from number, status, and ongoing state. ### list_sessions Browse recent sessions with cursor pagination. Inputs: - limit: number (default 20, max 100) - type: meeting | recording | youtube | phone | podcast | desktop | import - since: ISO 8601 date - cursor: cursor from a prior response - folder: folder id or case-insensitive name - tag: string or string[] - tag_mode: "any" (default) or "all" ### list_folders No inputs. Returns folder ids, names, colors, and counts. Use folder ids or names to scope list_sessions and search_sessions. ### get_session Inputs: - session_id: string (required) - include_transcript: boolean (default false) Returns title, summary, metadata, notes, tags, action items, and optionally the full transcript. ### get_transcript Inputs: - session_id: string (required) - format: segments | plain | speaker_labeled Returns the full transcript with speaker attribution where available. ### get_action_items Input: session_id. Returns structured action items plus the current version. Preserve item ids and pass the version to update_action_items when making a safe round-trip edit. Items include source="agent" or source="user" provenance. ### search Input: query. Compatibility interface for ChatGPT deep research and company knowledge. Returns citable results with id, title, and URL. For interactive work, search_sessions provides richer structured data. ### fetch Input: id from search. Compatibility interface that returns a session summary, speaker-labeled transcript, and metadata. For interactive work, prefer get_session and get_transcript. ## Write tools ### update_action_items Inputs: - session_id: string (required) - action_items: full replacement array (required, max 200) - expected_version: number (recommended) Each item accepts: - id: preserve for existing items; omit for new items - text: required, max 2,000 characters - completed: boolean - source: agent | user (new MCP-authored items default to agent) - assignee: optional string - due_date: optional free-form string This replaces the entire list. Call get_action_items first, preserve items that should remain, and pass expected_version. A version mismatch rejects the update instead of overwriting a concurrent user edit. ### create_folder Inputs: - name: string (required, max 200 characters) - color: optional hexadecimal color such as #6D28D9 Folder names are matched case-insensitively. If the folder already exists, the tool returns it, so this operation is safe to retry. ### add_session_to_folder Inputs: session_id and folder_id. Adds a non-exclusive folder membership. A session can be in multiple folders. Calling it again for an existing membership is a no-op. ### remove_session_from_folder Inputs: session_id and folder_id. Removes only that folder membership. The session and its recording remain. ## Example prompts - "Prep me for my next Acme call using our last three meetings. Surface open decisions and cite the exact moments that matter." - "Only search my work folder for sessions tagged roadmap. Require every tag." - "Read yesterday's action items, add owners mentioned in the transcript, and save the revised list without overwriting newer edits." - "Create a Customer research folder and add every interview from this month." - "Find where we agreed on launch timing and quote the speaker-labeled passage." ## MCP versus the REST API Use https://mcp.wave.co when an AI client should reason over a person's Wave library and perform the focused writes above through OAuth. Use https://api.wave.co when building a server-side integration, batch job, or webhook consumer; when bulk-exporting; or when you need the broader REST write surface such as session metadata changes and session deletion. Both surfaces use the same underlying Wave account data. Contact: https://wave.co Status: production