{"name":"Wave","description":"Wave is an AI note taker. Two MCP servers: a public one exposing Wave's developer documentation with no authentication, and an authenticated one giving a user's agent read access to their meetings, calls, lectures, transcripts, summaries, and action items, plus a narrow write surface for action items and folders.","documentation":"https://wave.co/developers","servers":[{"name":"wave-docs","title":"Wave Documentation","description":"Wave's public developer documentation over MCP: the developer portal, versioning policy, OpenAPI specification, product overview, and contact pages as resources, plus read-only search and fetch tools. No account or token required; every resource URI is also a plain HTTPS URL.","url":"https://wave.co/mcp","transport":"streamable-http","protocolVersions":["2025-11-25","2025-06-18"],"documentation":"https://wave.co/developers","authentication":{"required":false},"tools":[{"name":"search_docs","description":"Search Wave's public developer documentation: the developer portal, OpenAPI specification, versioning policy, product overview, and contact pages. Returns matching sections with the URI to read each one in full.","access":"read","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"What to look for, in plain words."},"limit":{"type":"number","default":5,"maximum":25,"description":"Maximum sections to return."}},"required":["query"]}},{"name":"read_doc","description":"Read one public Wave document in full, by the `uri` (or short slug) returned by search_docs or resources/list. Every URI also resolves as a plain HTTPS URL.","access":"read","inputSchema":{"type":"object","properties":{"uri":{"type":"string","description":"Document URI, e.g. https://wave.co/developers.md, or its slug, e.g. wave-developer-portal."}},"required":["uri"]}}],"resources":[{"uri":"https://wave.co/developers.md","name":"wave-developer-portal","title":"Wave Developer Portal","description":"Quickstart, authentication and scopes, OpenAPI specification, MCP server, CLI, rate limits, versioning and deprecation policy, and the full developer resource index.","mimeType":"text/markdown"},{"uri":"https://wave.co/openapi.json","name":"wave-openapi-specification","title":"Wave API OpenAPI 3.1 Specification","description":"Machine-readable description of every Wave Developer API endpoint: unique operationId, typed parameters, response schemas, and the token scopes each operation requires. Loadable directly into an LLM function-calling toolchain.","mimeType":"application/json"},{"uri":"https://wave.co/agents.md","name":"wave-for-agents","title":"Wave for Agents — API, CLI, and MCP","description":"The three programmatic surfaces over Wave session data, the tools an agent can call, and the boundary of what it cannot do.","mimeType":"text/markdown"},{"uri":"https://wave.co/developers/versioning.md","name":"wave-api-versioning-policy","title":"Wave API Versioning and Deprecation Policy","description":"How the Wave API is versioned, what counts as a breaking change, and the Deprecation, Sunset, and Link headers a retiring endpoint carries.","mimeType":"text/markdown"},{"uri":"https://wave.co/index.md","name":"wave-overview","title":"Wave — Product Overview","description":"What Wave is, how recording and transcription work, which platforms it runs on, what it costs, and the full FAQ. The homepage as Markdown.","mimeType":"text/markdown"},{"uri":"https://wave.co/llms.txt","name":"wave-llms-txt","title":"Wave Site Overview for LLMs (llms.txt)","description":"The whole site condensed for language models: product, positioning, pricing, platform coverage, competitive context, and the index of machine-readable endpoints.","mimeType":"text/plain"},{"uri":"https://wave.co/contact.md","name":"wave-contact","title":"Contact Wave","description":"Support, sales, partnerships, privacy, security, and legal contact channels, plus company details for Wave AI, Inc.","mimeType":"text/markdown"}],"limitations":["Serves only public documentation; no user data exists on this server","All tools are read-only and closed-world (openWorldHint: false)"]},{"name":"wave","title":"Wave MCP Server","description":"Search and read the authenticated Wave user's sessions, transcripts, summaries, and action items.","url":"https://mcp.wave.co","transport":"streamable-http","protocolVersions":["2025-11-25","2025-06-18","2025-03-26"],"documentation":"https://api.wave.co/mcp","authentication":{"required":true,"schemes":["oauth2","bearer"],"oauth2":{"flow":"authorization_code","pkce":true,"authorizationServerMetadata":"https://mcp.wave.co/.well-known/oauth-authorization-server","protectedResourceMetadata":"https://mcp.wave.co/.well-known/oauth-protected-resource"},"bearer":{"description":"Manually minted wave_mcp_ token, for clients that cannot run OAuth.","tokenManagement":"https://app.wave.co/settings/integrations/mcp"}},"tools":[{"name":"search_sessions","description":"Semantic search across the authenticated user's sessions. Returns ranked sessions with snippets and metadata.","access":"read","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Natural-language search query."},"limit":{"type":"number","default":10,"maximum":50,"description":"Maximum results."},"folder":{"type":"string","description":"Folder id, or folder name (case-insensitive)."},"tag":{"description":"Tag, or list of tags, to filter by.","anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"tag_mode":{"type":"string","enum":["any","all"],"default":"any","description":"Match any of the given tags, or require all of them."}},"required":["query"]}},{"name":"list_sessions","description":"Browse recent sessions with cursor pagination, filterable by type, date, folder, and tag.","access":"read","inputSchema":{"type":"object","properties":{"limit":{"type":"number","default":20,"maximum":100,"description":"Maximum results."},"type":{"type":"string","enum":["meeting","recording","youtube","phone","podcast","desktop","import"],"description":"Restrict to one session type."},"since":{"type":"string","format":"date-time","description":"ISO 8601 date; only sessions newer than this."},"cursor":{"type":"string","description":"Pagination cursor from a prior response."},"folder":{"type":"string","description":"Folder id, or folder name (case-insensitive)."},"tag":{"description":"Tag, or list of tags, to filter by.","anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"tag_mode":{"type":"string","enum":["any","all"],"default":"any","description":"Match any of the given tags, or require all of them."}}}},{"name":"list_folders","description":"List folder ids, names, colors, and session counts for scoping other calls.","access":"read","inputSchema":{"type":"object","properties":{}}},{"name":"get_session","description":"Get one session's title, summary, metadata, notes, tags, action items, and optionally its full transcript.","access":"read","inputSchema":{"type":"object","properties":{"session_id":{"type":"string","description":"Wave session id."},"include_transcript":{"type":"boolean","default":false,"description":"Include the full transcript in the response."}},"required":["session_id"]}},{"name":"get_transcript","description":"Get a session transcript as segments, plain text, or speaker-labeled text.","access":"read","inputSchema":{"type":"object","properties":{"session_id":{"type":"string","description":"Wave session id."},"format":{"type":"string","enum":["segments","plain","speaker_labeled"],"description":"Transcript shape to return."}},"required":["session_id"]}},{"name":"get_action_items","description":"Get a session's structured action items plus the current version for safe round-trip edits.","access":"read","inputSchema":{"type":"object","properties":{"session_id":{"type":"string","description":"Wave session id."}},"required":["session_id"]}},{"name":"search","description":"Compatibility search for ChatGPT deep research and company knowledge. Returns citable id, title, and URL.","access":"read","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Natural-language search query."}},"required":["query"]}},{"name":"fetch","description":"Compatibility fetch for an id returned by search. Returns summary, speaker-labeled transcript, and metadata.","access":"read","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"An id returned by the `search` tool."}},"required":["id"]}},{"name":"update_action_items","description":"Replace a session's action-item list, with an optional expected_version check that rejects overwrites of a concurrent user edit.","access":"write","inputSchema":{"type":"object","properties":{"session_id":{"type":"string","description":"Wave session id."},"action_items":{"type":"array","maxItems":200,"description":"Full replacement list. Call get_action_items first and preserve items that should remain.","items":{"type":"object","properties":{"id":{"type":"string","description":"Preserve for existing items; omit for new ones."},"text":{"type":"string","maxLength":2000},"completed":{"type":"boolean"},"source":{"type":"string","enum":["agent","user"],"default":"agent"},"assignee":{"type":"string"},"due_date":{"type":"string","description":"Free-form due date."}},"required":["text"]}},"expected_version":{"type":"number","description":"Version from get_action_items. A mismatch rejects the update instead of overwriting a concurrent user edit."}},"required":["session_id","action_items"]}},{"name":"create_folder","description":"Create a folder by name, with an optional color. Idempotent — returns the existing folder if the name is taken.","access":"write","inputSchema":{"type":"object","properties":{"name":{"type":"string","maxLength":200,"description":"Folder name; matched case-insensitively."},"color":{"type":"string","description":"Hexadecimal color, such as #6D28D9."}},"required":["name"]}},{"name":"add_session_to_folder","description":"Add a non-exclusive folder membership. A session can belong to several folders.","access":"write","inputSchema":{"type":"object","properties":{"session_id":{"type":"string","description":"Wave session id."},"folder_id":{"type":"string","description":"Wave folder id."}},"required":["session_id","folder_id"]}},{"name":"remove_session_from_folder","description":"Remove one folder membership. The session, recording, and transcript are untouched.","access":"write","inputSchema":{"type":"object","properties":{"session_id":{"type":"string","description":"Wave session id."},"folder_id":{"type":"string","description":"Wave folder id."}},"required":["session_id","folder_id"]}}],"limitations":["Cannot delete sessions, recordings, or transcripts","Cannot edit recording media or transcript text","Reads and writes only data owned by the authenticated Wave user","All tools are closed-world (openWorldHint: false)"]}],"related":[{"name":"Wave Developer API","url":"https://api.wave.co","type":"openapi","specification":"https://wave.co/openapi.json"},{"name":"Wave CLI","url":"https://www.npmjs.com/package/@waveai/cli","type":"cli","install":"npm install -g @waveai/cli"}]}