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
Get Meeting Recording
get_meeting_recordingGet a ready recording's five-minute download URL and timing. Videos have no audio.
List Meeting Recordings
list_meeting_recordingsList a meeting's recordings.
Read Meetings
read_meetingsRead meetings by ID: title, time, participants, notes, documents, URLs and recording availability. For what people said, use read_transcripts.
Search Meetings
search_meetingsFind or list meetings by words, people, domains, tags or dates; use search_transcripts for what was said.
Write Meeting Note
write_meeting_notePrepend or append Markdown to a meeting's My notes, or replace it. Acts as you and requires editing access. For replace, pass expected_revision from read_meetings.note_revision. Returns the saved note_revision after cloud persistence; open collaborative editors merge the edit live. Retry uncertain results with identical arguments and the same operation_id.
Transcripts
Read Transcripts
read_transcriptsRead what was said in meetings by ID: a timestamped, speaker-attributed script per recording. Use it for quotes and exact wording; follow next_offset for more.
Search Transcripts
search_transcriptsSearch what was said in meeting transcripts.
Meeting edits
Apply Edit Proposal
apply_edit_proposalApply one pending edit proposal, changing meeting content; ask the human before calling it.
Discard Edit Proposal
discard_edit_proposalDiscard a pending edit proposal permanently; meeting content is unchanged.
List Edit Proposals
list_edit_proposalsList meeting edit proposals by meeting or status, with the expected_version apply and discard need.
Propose Session Correction
propose_session_correctionPropose exact-text summary or transcript fixes and dictionary terms for one meeting: a durable, human-reviewable pending edit proposal that never changes meeting content; only apply_edit_proposal does.
Propose Summary Edit
propose_summary_editPropose a full replacement Markdown summary for one meeting: a durable, human-reviewable pending edit proposal that never changes meeting content; only apply_edit_proposal does.
Artifact definitions
Create Artifact Definition
create_artifact_definitionCreate an artifact definition: a named brief Echo generates per meeting, after it or live.
Delete Artifact Definition
delete_artifact_definitionSoft-delete one artifact definition; meeting artifacts it already generated are kept.
List Artifact Definitions
list_artifact_definitionsList the user's active artifact definitions, without instruction bodies.
Read Artifact Definition
read_artifact_definitionRead one artifact definition in full with the version update and delete need.
Update Artifact Definition
update_artifact_definitionUpdate one artifact definition by exact ID; omitted fields are kept.
Feedback to Echo
Send feedback to Echo
send_feedback_to_echoSend text feedback to Echo only when the user explicitly asks; it does not attach meeting content. Reuse operation_id on retries.
Managed agents
Read Agent Sharing Default
managed_agent_defaults_getRead a workspace's default sharing for new agents.
Set Agent Sharing Default
managed_agent_defaults_setSet a workspace's default sharing for new agents; existing agents are unchanged.
Record agent feedback
managed_agent_feedbackSave a person's lasting preference about an agent; changes nothing now. Then say: Saved your feedback for improvement.
List Agent Feedback
managed_agent_feedback_listList the feedback people gave an agent, newest first, a page at a time: id, time, body (cut at 4,000 characters, truncated marks it), rating, classification, source, run_id and the proposal it answered. Pass next_cursor as cursor for the next page. Record new feedback with managed_agent_feedback.
Get Agent
managed_agent_getRead an agent's purpose, trigger, status, version (expected_version) and open proposal; include=details adds setup, include=specification the native version. A slack_watch trigger row carries its live watch status (pending batch, sources, recovery) and the platform batch window.
List Agents
managed_agent_listList accessible agents and Slack routers as a paged index: name, aliases, status, purpose, trigger, last run and open proposal. Read setup with managed_agent_get.
Get Agent Proposal
managed_agent_proposal_getRead one proposal: title and summary, report, decision and reason, base and head commits, test verdicts, the feedback it addresses, changed files with line counts, and their unified diff. The diff holds up to 48 KB; diff_omitted names files left out, and path reads one file's diff. Publish or reject it with its id and content_hash.
List Agent Proposals
managed_agent_proposal_listList an agent's proposals, newest first, a page at a time: id, title, state (open, publishing, failed, published, rejected or abandoned), origin (reviewer, agent, learning or editor), who decided and when, a rejection's reason, the version it published, content_hash and review_url. Pass next_cursor as cursor for the next page. Read one with managed_agent_proposal_get.
Propose Agent Changes
managed_agent_proposeDraft instruction, skill or routing changes for review, based on managed_agent_get include=implementation; nothing changes until a person approves via managed_agent_publish.
Publish Agent Proposal
managed_agent_publishApply an open proposal only after a person who saw its diff (managed_agent_proposal_get) explicitly approves; enthusiasm or a judge report is not approval. Pass the proposal ID and the content_hash they saw. Returns the proposal's row.
Reject Agent Proposal
managed_agent_rejectReject an open proposal when a person explicitly asks. Pass the proposal ID, the content_hash they saw and, when they said why, reason in their words; later proposals read it. Returns the proposal's row.
Close Run
managed_agent_run_closeClose an idle run and archive its Anthropic session. Set stop_running=true to stop active work too.
Get Agent Run
managed_agent_run_getRead one exact run. Defaults to a small status summary without provider reads. Request result={turn_index,request_id} for the exact answer and reports; turn_index=0 is the initial turn. Optional confirmed_posts, events, access and configuration require editor access and report unavailable/not_authorized separately. Each paged section owns its cursor. Events are credential-redacted; incomplete history cannot prove no calls occurred, and current access does not prove historical access. Never executes tools or changes the agent.
List Agent Runs
managed_agent_run_listList an agent's recent runs, statuses, failure reasons and delivery receipts. Use managed_agent_run_get for one exact run and its optional result, confirmed posts, events or connection access.
Agent Run Messages
managed_agent_run_messagesDeprecated compatibility tool; use managed_agent_run_get with confirmed_posts. Reads confirmed explicit Slack posts (editors only). limit 1–5; before=next_cursor. Excludes host answers and ephemeral replies.
Run Agent (Legacy)
managed_agent_run_nowDeprecated compatibility tool; use managed_agent_run_start. Starts a chat, transcript or latest-call run. Reuse request_id only to retry the same request.
Agent Run Result
managed_agent_run_resultDeprecated compatibility tool; use managed_agent_run_get with result={turn_index,request_id}. Reads the public answer and reports for one exact run turn. turn_index=0 is the initial turn; follow-ups require their send-message request_id. pending is working; completed includes idle awaiting_reply turns.
Send Run Message
managed_agent_run_send_messageQueue a follow-up on a hosted run, including while it is working. Messages run in order and replies stay in Echo. Reuse request_id only to retry; after poll_after_ms read managed_agent_run_get with the returned run_id and result={turn_index,request_id}. Echo Desktop delivers the reply automatically.
Start Agent Run
managed_agent_run_startStart a direct conversation with source=chat and text, or run a hosted agent on a pasted transcript. Customer-owned agents run only from their own triggers. Reuse request_id only to retry; read managed_agent_run_get with the admitted run.id and result={turn_index:0} for its result. Echo Desktop delivers the reply automatically.
Agent Runs (Legacy)
managed_agent_runsDeprecated compatibility tool; use managed_agent_run_list. Read an agent's recent runs and failure reasons; include_result=true adds output.
List Agent Schedules
managed_agent_schedule_listList all schedules that start new sessions for this agent, including existing recurring triggers and routines. Read IDs and revisions here before schedule_save. For continuing the current session later, use schedule_resumption instead.
Save Agent Schedule
managed_agent_schedule_saveCreate or patch a schedule that starts a new session, with an optional prompt. Use cron for recurring work or at for a one-time run, plus timezone. New schedules default inactive; set enabled=true to activate. Missed recurring occurrences combine into one catch-up run; one-time work remains pending. Set ends_at only for an explicit deadline. Read schedule_list first; use a new schedule_id and revision 0 to create, the returned revision to edit. Null clears prompt or ends_at; other omissions preserve settings. Saving never runs work immediately. To continue this session later, use schedule_resumption instead.
Agent Script Candidates
managed_agent_script_candidatesList or read an agent's saved script candidates; never installs, runs or approves code.
Read Agent Sharing
managed_agent_sharing_getRead an agent's audience, role and grants. View access exposes retained run inputs and outputs.
Set Agent Sharing
managed_agent_sharing_setReplace an agent's audience and View/Edit grants, which cover retained history and connections; keep wanted users from managed_agent_sharing_get.
Update Agent
managed_agent_updateChange an agent's settings, triggers or active state; omitted fields stay. triggers replaces the set; trigger_changes patches triggers by kind (upsert merges enabled/params over the current row, remove deletes it) and cannot be combined with triggers. expected_version comes from managed_agent_get; a connection change sends only agent, expected_version, request_id and connection. Google: connection.kind=google with broker_policy; detach with connection_id null and no policy. Reuse an environment connection in the same workspace: connection.kind=environment, connection_id from managed_agent_connection_list, expected_revision, no server name or policy. The attachment has its own revocable connection; rotation affects every holder of the shared value. Prompt or skill drafts: managed_agent_propose. Builders may also set environment and external_target, and provision with expected_version=0.
Managed agent connections
Get Slack Connection Link
slack_connection_beginGet a single-use link to connect or reconnect Echo's Slack app for a workspace. Never changes agents or disconnects Slack.
Memories
Add Memory
add_memorySave a fact the user explicitly stated, in first person; never infer one. If it is already saved, use update_memory.
Delete Memory
delete_memoryForget one saved memory, only when the user asks.
List Memories
list_memoriesList facts the user saved about themselves and their contacts.
Update Memory
update_memoryRewrite a saved memory in place, e.g. to correct it.
Api keys
Create an Echo API Key
api_key_createCreate a scoped Echo Pro API key for meeting reads or workspace imports; it is shown once.
List Echo API Keys
api_key_listList the caller's API keys and revisions, without secrets.
Revoke an Echo API Key
api_key_revokePermanently revoke an API key, effective next request; deploy any replacement first.
Meeting actions
Create Meeting
create_meetingCreate a blank meeting note only when the user asks; it does not record or invite. Reuse operation_id on retries.
Get or Create Calendar Meeting
get_or_create_calendar_meetingGet the Echo meeting for an upcoming event on your connected Google or Outlook calendar, creating its note with the event title, time and participants if needed. Supply provider event_id or ical_uid plus the exact starts_at. Returns session_id for My notes tools. Does not schedule, invite or record. Repeated calls reuse the meeting.
Import Meeting
import_meetingImport an external meeting into an authorized workspace. Supply text, or enroll audio metadata and PUT the raw file to /v1/meetings/{session_id}/audio with a meetings:import API key. Echo can transcribe and diarize uploaded audio. Reuse source identity on retries; existing text is never overwritten or resurrected. No automatic workflow runs.
Move to workspace
move_meetingMove one meeting to another workspace; the old workspace loses access, named shares and links stay. Pass share_effect from list_workspaces; confirm each meeting with the user or use propose_only.
Workflows
Create Workflow
create_workflowCreate a manual Echo workflow (not a managed agent) only when asked; it never runs.
Account settings
List Account Settings
list_account_settingsList account settings with values, sources and revision. Null timezone or week_start and theme=system follow the device.
Set Account Setting
set_account_settingChange one account setting only when the user asks; change privacy or data-sharing consent only on an explicit request for that setting.
Experiments
List Experiments
list_experimentsList account-overridable experiments with source, override and effective states, and revision.
Set Experiment Override
set_experiment_overrideTurn one experiment on or off for this account, or clear its override (restoring the source default, not off), only when the user asks.
Workspaces
List Workspaces
list_workspacesList workspaces with share_effect; resolve names here, never guess, right before move_meeting.
Product guidance
Onboard to Echo
onboardEcho's onboarding and product guide, for 'Onboard me to Echo', getting started or how-to help.
Webhooks
Read Webhook Delivery Log
webhook_delivery_listList an endpoint's recent deliveries.
Replay a Webhook Delivery
webhook_delivery_replayResend a delivery with its original webhook-id; de-duplicating receivers ignore it.
Create Webhook Endpoint
webhook_endpoint_createRegister an https webhook for every meeting the caller can read in a workspace (Echo Pro); its secret is shown once.
Delete Webhook Endpoint
webhook_endpoint_deleteDelete a webhook endpoint and its pending deliveries.
List Webhook Endpoints
webhook_endpoint_listList the caller's webhook endpoints and revisions, without secrets.
Rotate Webhook Signing Secret
webhook_endpoint_rotate_secretIssue a new signing secret, shown once; the old one stays valid for 24 hours.
Send a Test Webhook
webhook_endpoint_testSend a fake meeting.transcript_ready event to an active endpoint.
Update Webhook Endpoint
webhook_endpoint_updateEdit an endpoint's url, description or event types, or re-enable it.
Pilot
These tools are shown only to pilot accounts. The server hides them from everyone else, so most connected clients never list them.