walkie-mcp
Server Details
Search and read your recorded meetings: notes, action items, participants, transcripts.
- Status
- Healthy
- Uptime
- 69.7% over 22 days
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- adamperlis/walkie-mcp
- GitHub Stars
- 1
- Server Listing
- Walkie for MCP
TDQS
Scored across 5 tools
Two pairs of tools are exact duplicates (fetch/get_meeting and search/search_meetings), so four of five tools expose only two distinct functions. The descriptions acknowledge the aliases and direct clients to the canonical names, but the functional overlap is still a real selection hazard.
The canonical tools follow a consistent verb_noun snake_case pattern (get_meeting, list_meetings, search_meetings), but fetch and search are bare-verb aliases that break the pattern. The mixture is readable but not fully consistent.
Five tools is a reasonable number for a meeting-archive server, but two are compatibility aliases, leaving only three distinct operations. This is slightly redundant yet acceptable given the stated ChatGPT connector requirement.
For a read-only meeting retrieval domain, the set covers the full surface: list the archive, search across content, and fetch one meeting's full details. No mutation is claimed or needed, and there are no obvious missing retrieval operations.
Available Tools
5 toolsfetchFetch one recorded meeting (ChatGPT name)ARead-onlyIdempotentInspect
Same read as get_meeting: one meeting's notes, action items, participants, and speaker-labeled transcript. Exists because ChatGPT's connector surface requires a tool named fetch; other clients should call get_meeting.
Use with an id from search. Do not use to find a meeting by topic (search / search_meetings).
Does not create, edit, or delete meetings. Unknown ids return an error.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Meeting id from search, e.g. "mtg-1786560198190". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds behavior beyond annotations: it confirms the tool does not create/edit/delete meetings and explicitly states unknown ids return an error. This error-handling detail is genuinely useful context not present in the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence earns its place: the first defines the read payload and equivalence to get_meeting, the second explains the connector rationale, the third provides usage constraints and alternatives, and the fourth states safety and error behavior. No fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no output schema, the description specifies the return content (notes, action items, participants, speaker-labeled transcript), the input source, the error case, and the non-mutating behavior. Combined with rich annotations, this is enough for an agent to call the tool correctly and understand what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the parameter already documented as 'Meeting id from search, e.g. "mtg-1786560198190".' The description reinforces using an id from search and mentions error behavior for unknown ids, but adds no substantive meaning beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('read') and resource (one meeting's notes, action items, participants, and speaker-labeled transcript), and clearly differentiates this tool from get_meeting, search, and search_meetings. It explains that fetch is a connector-required alias, so there is no ambiguity about what it does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says when to use fetch (only because ChatGPT's connector requires that name), when to prefer get_meeting ('other clients should call get_meeting'), and what not to use it for ('Do not use to find a meeting by topic'), naming the alternatives search and search_meetings. This gives an agent complete routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_meetingRead one recorded meeting in fullARead-onlyIdempotentInspect
Read one recorded meeting in full: AI notes, action items, participants, and the speaker-labeled transcript. Takes an id from search_meetings or list_meetings.
Use when you already have a meeting id and need the notes or quotes. Do not use to find a meeting by topic (search_meetings) or to page the archive (list_meetings). ChatGPT clients call the same read as fetch.
Does not create, edit, or delete meetings. Unknown ids return an error, not an empty meeting.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Meeting id from search_meetings or list_meetings, e.g. "mtg-1786560198190". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, and the description reinforces this with 'Does not create, edit, or delete meetings.' It adds useful behavior beyond annotations by specifying that unknown ids return an error rather than an empty meeting.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded, with the core purpose in the first sentence, usage guidance in the second, and behavioral disclaimers in the third. Every sentence earns its place and there is no redundant filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read tool with no output schema, the description covers what is returned, where the id comes from, when to use it, when not to use it, and error behavior. Nothing an agent needs in order to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and already documents the id parameter with an example. The tool description adds context about where the id comes from and error behavior on unknown ids, but the essential semantic meaning of the parameter is already covered by the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description begins with a specific verb and resource: 'Read one recorded meeting in full' and enumerates the contents (AI notes, action items, participants, speaker-labeled transcript). It also distinguishes itself from sibling tools by stating it takes an id from search_meetings or list_meetings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use the tool: 'Use when you already have a meeting id and need the notes or quotes.' It also gives clear exclusions: do not use to find by topic (search_meetings) or page the archive (list_meetings), and notes the fetch alias for ChatGPT clients.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_meetingsList recorded meetings as metadataARead-onlyIdempotentInspect
List the user's synced meetings, newest first, as metadata only — id, title, date, length, and participants, with no notes or transcript. Page with limit and offset using the returned total.
Use to build an index of the archive. Do not use when you already know what you are looking for (search_meetings) or when you need notes/transcript for one id (get_meeting).
Does not create, edit, or delete meetings. This is metadata only — it will not return what was said.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max rows to return. Default 50, cap 200. | |
| offset | No | Skip this many meetings (use with returned total). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds useful behavioral context beyond annotations: it returns only metadata, will not return notes or transcript, and does not create/edit/delete meetings. This is meaningful but not excessive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: the core behavior appears in the first sentencechers, followed by usage guidance and exclusions. It is slightly repetitive with 'metadata only' appearing twice, but every sentence otherwise earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple paginated list tool with no output schema, the description fully specifies what is returned, how to paginate, and when not to use it. An agent has enough context to invoke it correctly without additional inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with limit and offset already documented in the schema. The description mentions pagination with limit and offset and using the returned total, slightly reinforcing schema semantics, but it does not add substantial new parameter meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'List the user's synced meetings, newest first, as metadata only'. It also enumerates the exact return fields, distinguishing it from any meeting-content tool. This clearly differentiates from siblings such as get_meeting and search_meetings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use guidance: 'Use to build an index of the archive.' It also names alternatives and exclusions: 'Do not use when you already know what you are looking for (search_meetings) or when you need notes/transcript for one id (get_meeting).' This leaves no ambiguity about tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchSearch recorded meetings (ChatGPT name)ARead-onlyIdempotentInspect
Same search as search_meetings: keyword match across titles, notes, action items, participants, and transcript, returning ids for fetch. Exists because ChatGPT's connector surface requires a tool named search; other clients should call search_meetings.
Use when the host only exposes search/fetch, or when following ChatGPT's search-then-fetch flow. Do not use to page the archive (list_meetings) or to open a known id (fetch / get_meeting).
Does not create, edit, or delete meetings. query must be non-empty. Scans at most the 200 most recent synced meetings.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Keyword or phrase to find. Plain-text, case-insensitive; not a boolean query language. |
Output Schema
| Name | Required | Description |
|---|---|---|
| total | No | |
| matches | No | |
| results | No | |
| scanned | No | |
| truncated | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already indicate readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds context: it clarifies the tool does not create/edit/delete meetings (reinforcing the annotations), requires a non-empty query, and scans at most 200 recent synced meetings. It also states it returns ids for fetch, which hints at output structure. This adds value beyond annotations, so a 4 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is organized into three short paragraphs: purpose, usage, and constraints. It front-loads the primary purpose and includes only necessary details. While it repeats 'query must be non-empty' from the schema, it is not overly verbose. The structure is clear and efficient, earning a 4.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description, combined with the rich annotations and existing output schema, fully equips an agent to call this tool correctly. It covers the search scope, the return behavior (ids for fetch), the usage context, and the 200-meeting limit. There are no obvious missing pieces that would prevent correct invocation. A 5 is warranted.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description for `query` is already rich (plain-text, case-insensitive, not a boolean query language). The tool description only reiterates that the query must be non-empty, which is already enforced by schema (required, minLength). Since schema coverage is 100%, the description adds minimal additional meaning, so a baseline of 3 is correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool performs keyword search across specific fields (titles, notes, action items, participants, transcript) and returns ids for fetch. It distinguishes itself from search_meetings by noting it is the same search but renamed for ChatGPT, and from list_meetings and fetch by its purpose. This is a specific verb-resource description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use this tool: when the host only exposes `search`/`fetch`, or when following ChatGPT's search-then-fetch flow. It also lists exclusions: not for paging the archive (list_meetings) or opening a known id (fetch / get_meeting). This is exemplary guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_meetingsSearch recorded meetings by keywordARead-onlyIdempotentInspect
Search the user's recorded meetings by keyword or phrase. Matches titles, notes, action items, participant names, and the spoken transcript. Returns ids, titles, dates, participants, and note headings — call get_meeting for the full notes and transcript.
Use when the user asks what was said, decided, or assigned on a call, or names a person or project in the context of a meeting. Do not use to browse the whole archive (list_meetings) or to open a meeting whose id you already have (get_meeting). ChatGPT clients call the same search as search.
Does not create, edit, or delete meetings. query must be non-empty (a blank query is rejected, not treated as list-everything). Scans at most the 200 most recent synced meetings; truncated means older meetings were not searched, so total is matches in that window, not the lifetime corpus.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max matches to return. Default 10, cap 25. | |
| query | Yes | Keyword or phrase to find. Matched as plain text (case-insensitive) against titles, notes, action items, participants, and transcript — not a boolean query language. |
Output Schema
| Name | Required | Description |
|---|---|---|
| total | No | Matches inside the scanned window. |
| matches | No | |
| results | No | |
| scanned | No | Meetings actually scanned (≤ 200). |
| truncated | No | True if older meetings were not scanned. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral context beyond annotations: it states the tool does not create/edit/delete meetings, that a blank query is rejected rather than treated as list-everything, and that it scans at most the 200 most recent synced meetings with `truncated` indicating an incomplete search window. This is rich, non-obvious behavior that an agent needs to interpret results correctly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and front-loaded: the first sentence states the core function, the second covers return values, the third gives usage guidance, and the final paragraph covers behavioral caveats. Every sentence earns its place, and the length is appropriate for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is complete for an agent to select and invoke the tool correctly. It covers what the tool searches, what it returns, when to use it, when not to use it, its safety profile (reinforced by annotations), and important edge-case behaviors (blank query rejection, 200-meeting scan window, truncated flag). The output schema exists, so return values need not be exhaustively described in the description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters well. The description adds meaning by clarifying that query is matched as plain text (case-insensitive) and is not a boolean query language, and that limit caps at 25 with a default of 10. This goes beyond the schema's field descriptions, though the schema already carries most of the weight.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Search') and resource ('recorded meetings'), and specifies the exact fields matched (titles, notes, action items, participant names, spoken transcript). It also distinguishes itself from siblings by naming list_meetings and get_meeting as alternatives, making the tool's scope clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says when to use this tool ('when the user asks what was said, decided, or assigned on a call, or names a person or project in the context of a meeting') and when not to use it ('Do not use to browse the whole archive (list_meetings) or to open a meeting whose id you already have (get_meeting)'). It also notes that ChatGPT clients call the same search as `search`, which helps disambiguate sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
- First observed
fetch - First observed
get_meeting - First observed
list_meetings - First observed
search - First observed
search_meetings
Publisher details
- Operator
- Walkie · Publisher source
- Operator website
- https://trywalkie.com · Publisher source
- Vendor relationship
- First-party
- Documentation
- https://trywalkie.com/en/mcp/setup
- Trust center
- https://trywalkie.com/en/security
- Restrictions
- Not available
Related MCP Connectors
Read, search and ask about your SayBriefly meetings: recaps, decisions, action items, transcripts.
- RecordXOAuthio.recordx
Read-only access to your RecordX meetings: search transcripts, summaries, action items.
Search, read and export MeetNotes meeting transcripts, minutes and action items (getmeetnotes.com).
Search meetings, export summaries and transcripts, and manage recordings from any AI tool.
Related MCP Servers
- AlicenseAqualityDmaintenanceRead-only access to your Gilbert meetings, transcripts and summaries over MCP — list, search, and fetch transcripts and summaries.523 npm1MIT
- AlicenseNot gradedqualityDmaintenanceRead-only MCP server for searching and retrieving LogicNotes meeting notes, including summaries, transcripts, and action items.MIT
- AlicenseAqualityFmaintenanceEnables searching and retrieving local Granola meeting notes, including transcripts, AI-generated summaries, and action items. It supports filtering by date or attendee and automatically reloads when the local Granola cache is updated.8MIT
- FlicenseAqualityDmaintenanceProvides access to Granola notes, meeting transcripts, calendar events, and document panels through the Granola API, enabling search and retrieval of meeting-related content.75-
Glama MCP Gateway
Add one secure layer between your agents and this server.