Title70/100
Not provided
The title clearly communicates the tool’s action and subject. Keep it concise.
Description99/100
List messages with filtering by date, conversation, folder, workspace, creator or language. USE WHEN: The general-purpose message reader; full bodies incl. transcript and AI summary. Max date span 183 days. `user_ids` filters by SENDER — for messages exchanged WITH someone, pass `conversation_id` from `list_conversations`. Use presigned URLs as-is. USE INSTEAD: `get_recent_messages` for a quick look at the latest few (hard-capped at 10, no paging). `search_message_ids` for filters this cannot express — notified state, mentions or labels. FIRST: `workspace_id` comes from `get_workspaces_basic_info` (field `id`) — call it first if you don't have one. EXAMPLE: {"workspace_id":"ws-abc","start_date":"2026-09-01T00:00:00Z","size":25} RETURNS: `{page, size, sort_direction, total, results_count, has_next_page, filters, results: [{id, transcript?, ai_summary?, audio_url?, creator_id, conversation_id?, duration_ms, reply_count, status, type, created_at, ...}]}`. Page on `has_next_page`/`total` — do not guess. NARROW: pass response_fields ["total","has_next_page","results.id","results.transcript","results.created_at"] unless you need more — the full payload is much larger.
The description explains the capability, when to use it, and what to expect.
Inputs69/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
page
1-based page number. Use with `size`; check `has_next_page` in the response.
Clear enough to supply this argument.
size
Max number of results per page is: **50**
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
sort_direction
The field used to sort results is **Creation Date**
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
start_date
Start Date range
Explain the meaning of this value, not just its name.
end_date
End Date range
Explain the meaning of this value, not just its name.
workspace_id
Workspace ID (optional)
Clarify units, where to obtain this value, or conventions not already expressed in the schema.
conversation_id
Conversation ID (optional)
Explain the meaning of this value, not just its name.
language
Language (optional)
Explain the meaning of this value, not just its name.
type
Type (optional)
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
folder_id
Folder ID (optional)
Explain the meaning of this value, not just its name.
user_ids
Filter by message CREATOR (sender) — matched against `creator_id`, not participants. Requires user IDs from `search_users`, not names. To find messages exchanged WITH someone, resolve the conversation via `list_conversations` and pass `conversation_id` instead.
Clear enough to supply this argument.
response_fields
Dot-path allowlist to shrink the response, e.g. ["results.id","total"]. Omit for the full payload.
Clear enough to supply this argument.
Annotations75/100
Declare idempotentHint based on the tool’s actual behavior.
{
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}Output schema0/100
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared