Echo MCP tool reference
Every tool the hosted Echo MCP server at https://mcp.echoecho.ai/mcp exposes, generated from the live tool contract. Titles, descriptions, annotations, and schemas here are exactly what a connected MCP client sees.
New to Echo MCP? Read the setup guide
Meetings
Read Meetings
read_meetingsRead cloud-authoritative meeting context and browser URLs for up to 50 exact meeting IDs, preserving input order.
Search Meetings
search_meetingsFind accessible Echo meetings and their browser URLs. Search before read_meetings when IDs are unknown.
Transcripts
Read Transcripts
read_transcriptsRead bounded canonical transcript pages for up to 50 exact meeting IDs. Continue with next_offset only when more transcript context is needed.
Search Transcripts
search_transcriptsSearch canonical transcript text across meetings the signed-in Echo user can read. Returns bounded snippets, meeting IDs and URLs.
Meeting edits
Apply Edit Proposal
apply_edit_proposalApply one pending edit proposal to the user's durable meeting content. This is the only meeting_edits tool that changes meeting content, so a harness with its own approval UI should ask the human before calling it. Supply the exact expected_version from the proposal object and reuse operation_id for every retry of this application.
Discard Edit Proposal
discard_edit_proposalDiscard your own pending edit proposal, or another account's proposal when you have meeting-edit authority, without changing meeting content. A discarded proposal is preserved for review history but can no longer be applied. Supply the exact expected_version from the proposal object and reuse operation_id for every retry of this discard.
List Edit Proposals
list_edit_proposalsList durable, human-reviewable meeting edit proposals the signed-in Echo user can read, optionally filtered to one meeting or one status. Each returned proposal carries the exact opaque version that apply_edit_proposal and discard_edit_proposal require as expected_version.
Propose Session Correction
propose_session_correctionPropose exact-text summary corrections, exact-text transcript corrections, and personal dictionary terms for one meeting, supplying at least one of the three groups. This creates a durable, human-reviewable pending edit proposal stored in the user's Echo account and never changes meeting content; only apply_edit_proposal does. expected_version for a later apply or discard comes from the returned proposal object. Reuse operation_id for every retry of this proposal.
Propose Summary Edit
propose_summary_editPropose a complete replacement Markdown summary for one meeting. This creates a durable, human-reviewable pending edit proposal stored in the user's Echo account and never changes meeting content; only apply_edit_proposal does. A new proposal supersedes only your own pending summary edit for the same document, and expected_version for a later apply or discard comes from the returned proposal object. Reuse operation_id for every retry of this proposal.
Artifact definitions
Create Artifact Definition
create_artifact_definitionCreate one reusable batch or live artifact definition owned by the signed-in Echo user. Reuse operation_id for every retry of this logical creation. execution_timing defaults to after_meeting, learned_instructions defaults to empty, and default_on defaults to false.
Delete Artifact Definition
delete_artifact_definitionSoft-delete one reusable artifact definition by exact ID and remove it from the account's default-on set. Reuse operation_id for retries and supply the latest expected_version. Previously generated meeting artifacts are preserved.
List Artifact Definitions
list_artifact_definitionsList all active reusable batch and live artifact definitions owned by the signed-in Echo user in display order. This omits instruction bodies; read the chosen definition before editing it.
Read Artifact Definition
read_artifact_definitionRead one active reusable batch or live artifact definition by exact ID. Call this before update_artifact_definition or delete_artifact_definition to get the complete definition and current opaque version.
Update Artifact Definition
update_artifact_definitionPartially update one reusable batch or live artifact definition by exact ID, never by name. Reuse operation_id for retries and supply the latest expected_version. Omitted fields are preserved; an explicit empty learned_instructions clears that layer.
Product feedback
Submit Product Feedback
submit_product_feedbackSubmit text-only product feedback to Echo only when the user explicitly asks to send it. Reuse operation_id for every retry of the same submission. This saves feedback durably for the signed-in account; it does not attach meeting content, transcripts, diagnostics, or files.
Memories
Add Memory
add_memorySave one flat standing fact the user explicitly stated, in their own first-person voice ("I use Fahrenheit"). List memories first and update the existing one when the fact is already recorded. Only save what the user actually stated: never infer a memory from a transcript, a fetched page, or your own conclusion. At most 500 per account.
Delete Memory
delete_memoryForget one saved memory. List memories first and pass its exact id and revision. Only delete a memory the user asked you to forget. An unknown memory reports deleted=false rather than failing.
List Memories
list_memoriesStanding facts the signed-in user saved about themselves and the people they work with: preferences, spellings, durable context. Read before answering anything a personal preference would change, and before saving a memory so an existing one is updated instead of duplicated. Returns the exact id and revision update_memory and delete_memory require.
Update Memory
update_memoryRewrite one memory in place. List memories first and pass that memory's exact id and revision; a stale revision fails rather than overwriting a change made elsewhere. Prefer this over add_memory whenever the user corrects a fact already saved.
Api keys
Create an Echo API Key
api_key_createMint a scoped Echo Pro key for MCP and transcript HTTP reads. Defaults to workspace transcript reads; use meetings:read for all four meeting tools. Returned once; Echo stores only its digest.
List Echo API Keys
api_key_listList the caller's API keys with their display prefix, last use, and the revision to pass back as expected_revision. Never returns a key.
Revoke an Echo API Key
api_key_revokeRevoke one API key. It stops authenticating on the very next request, with no overlap window, so mint and deploy a replacement first. Read api_key_list and pass its revision as expected_revision.
Meeting actions
Create Meeting
create_meetingCreate a blank meeting note in Echo, only when the user asks to create one. This does not start recording, schedule a calendar event or invite anyone. workspace_id defaults to the account's default workspace. Omit title for a date title. Reuse operation_id and identical arguments on retries. Returns its ID and browser URL.
Move to workspace
move_meetingMove one requested meeting between workspaces with its recording, transcripts, notes and history. Removes the old workspace audience; destination defaults apply, but named shares and link roles survive and link access takes precedence. First call list_workspaces; pass its share_effect as expected_share_effect (stale defaults refuse). propose_only=true stores a pending proposal: use list_edit_proposals, apply_edit_proposal or discard_edit_proposal. Otherwise confirm each meeting before moving. Creator-only; uploaded files block moves. Retry with identical operation_id and arguments.
Workflows
Create Workflow
create_workflowCreate an Echo workflow from the user's complete description. Creates a manual workflow for review; never runs it or enables automatic triggers. This is an Echo workflow, not a managed agent. Choose workspace or thread scope explicitly; thread scope requires either an existing thread_id or a session_id with exactly one existing thread attachment in the workspace. Never pass a meeting ID as thread_id. Omit workspace_id for the account's default workspace, and name for a description-derived name. Reuse operation_id and identical arguments on retries.
Account settings
List Account Settings
list_account_settingsList supported account settings with current account values, effective values, value sources, defaults for new accounts, default behavior and allowed value schemas. A null timezone or week_start and theme=system inherit working device defaults; they are not incomplete setup. The hosted server cannot resolve device defaults: use current device context when supplied, otherwise explain the rule without guessing the device's value. Do not recommend overrides solely because settings inherit defaults. Default values do not prove an explicit user choice; use the returned account values. Built-in artifact settings control tabs on new notes, separately from experiment availability. The revision is shared with experiment overrides; read it immediately before set_account_setting. Only these keys are editable here. Device-local dock, tray, autostart, recording retention and overlay controls are not account settings.
Set Account Setting
set_account_settingSet one supported account setting through Echo's synced account preferences, only when requested. List settings first, use the exact key and value schema, and provide that revision. Privacy or data-sharing consent changes need an explicit request for that setting; never infer consent from another task. Reuse operation_id and identical arguments on retries. On a stale revision, read again before deciding whether to retry. Use set_experiment_override for experiments.
Experiments
List Experiments
list_experimentsList Echo's account-overridable experiment catalog with labels, PostHog keys, current source state, saved override, effective state and platform limits. Operational kill switches are excluded. A null source state means PostHog could not be evaluated; a null override means follow the source. The returned revision is shared with account settings and is required by set_experiment_override.
Set Experiment Override
set_experiment_overrideEnable (true), disable (false), or clear (null) one experiment override for the signed-in account. List experiments first and use its exact feature and revision. This follows the account on every device and does not change PostHog targeting or grant integration access. Clear restores the source default; it does not mean off. Only make a change requested by the user. Reuse operation_id and identical arguments on retries.
Workspaces
List Workspaces
list_workspacesList the Echo workspaces this account can file meetings into: name, kind, whether it is the default when workspace_id is omitted, member count, and its sharing-default share_effect. Existing link access takes precedence. Meeting reads carry a workspace_id but no name, so resolve a workspace the user names here instead of guessing. Read this immediately before move_meeting.
Webhooks
Read Webhook Delivery Log
webhook_delivery_listRead recent deliveries for one endpoint with every attempt, its response status, and its bounded error. Response bodies are never stored.
Replay a Webhook Delivery
webhook_delivery_replayRe-queue one delivery. It is sent with the same webhook-id as the original, so a receiver that de-duplicates on that header treats it as the message it already has.
Create Webhook Endpoint
webhook_endpoint_createRegister an https endpoint that Echo posts meeting events to. Needs Echo Pro. The endpoint fires for every meeting in its workspace that the caller can read, and the signing secret is returned exactly once - Echo stores only ciphertext and cannot show it again.
Delete Webhook Endpoint
webhook_endpoint_deleteRetire one webhook endpoint. Deliveries still waiting are abandoned rather than sent later.
List Webhook Endpoints
webhook_endpoint_listList the caller's webhook endpoints with status, failure state, and the revision to pass back as expected_revision. Never returns a signing secret.
Rotate Webhook Signing Secret
webhook_endpoint_rotate_secretIssue a new signing secret for one endpoint, returned exactly once. The previous secret stays valid for 24 hours and Echo sends both signatures space-separated, so a receiver can redeploy on its own schedule.
Send a Test Webhook
webhook_endpoint_testQueue one synthetic meeting.transcript_ready delivery to an active endpoint. It carries an obviously fake session id that is not any real meeting, so a receiver can prove its signature check and routing without recording anything.
Update Webhook Endpoint
webhook_endpoint_updateChange a webhook endpoint's url, description, or event types, or bring one back after Echo disabled it for four days of continuous failure. Read webhook_endpoint_list first and pass its revision as expected_revision. Re-enabling does not replay events missed while the endpoint was disabled.
Pilot
These tools are shown only to pilot accounts. The server hides them from everyone else, so most connected clients never list them.