MCP Server
Yedric exposes a hosted MCP server, so you can manage your assistants and read your conversation data from any MCP client, such as Claude Desktop, Claude Code, Cursor, or ChatGPT.
The MCP server lives at:
https://app.yedric.ai/mcpConnecting
Add the URL above as a remote (HTTP) MCP server in your client. The first time your client connects, Yedric walks you through a standard OAuth sign-in.
Your client then receives a token and stays connected. The token is scoped to the organization you chose, so tools only ever see that organization's assistants and conversations. You can grant access to a different organization by reconnecting and choosing another one.
Clients that support MCP's Dynamic Client Registration (Claude Desktop, Claude Code, and others) register themselves automatically, so there is nothing to configure beyond the URL.
Available tools
Once connected, the following tools are available (subject to the permissions you granted). Every parameter is listed. Anything not marked optional is required.
Assistants
list_assistants
none
Every assistant in the organization.
search_assistants
query
Find assistants by a substring of the name.
get_assistant
assistantId
Full detail for one assistant: prompt, model, first message, selected tool servers, knowledge base documents, and a liveChat block with the live chat settings (see below).
update_assistant_prompt
assistantId, systemPrompt
Replace the assistant's instructions outright.
update_assistant
assistantId, plus any of name, modelId, firstMessage, knowledgeBaseEnabled, toolServerIds, supportEmail, liveChatAutoAssign, liveChatMaxChatsPerAgent, liveChatIdleTimeoutMinutes, liveChatAssignedUserIds, liveChatSchedule
Update one or more fields. Every field except assistantId is optional, so send only what you are changing. toolServerIds is an array and replaces the current selection. The liveChat* fields and supportEmail are described below.
add_knowledge_base_document
assistantId, title, content
Add a plain-text document to the knowledge base. Chunking and embedding happen in the background, so the document is not searchable the instant this returns.
pull_agent_config
assistantId
The assistant's full configuration, for diffing or version control.
Live chat settings
The settings on the assistant's Live chat & support card are readable and writable over MCP, so a connected tool can set business hours or staffing without opening the dashboard. See Live Chat for what each setting does.
get_assistant returns them grouped in a liveChat block. Every key is always present, with null meaning "not set", so you can tell "no cap" from "did not look":
update_assistant takes the same settings as flat, individually optional fields:
supportEmail
The address that receives live chat transcripts and offline-form messages. An empty string falls back to the organization default.
liveChatAutoAssign
true to hand incoming chats to the least-loaded available agent automatically.
liveChatMaxChatsPerAgent
How many concurrent live chats one agent can hold. 0 or null means unlimited.
liveChatIdleTimeoutMinutes
Minutes of silence before an active chat ends itself. 0 or null means no timeout.
liveChatAssignedUserIds
Dashboard user ids allowed to staff this assistant. An empty array means any available agent.
liveChatSchedule
Weekly business hours, or null to turn business hours off. timezone is an IANA zone name. week is exactly seven entries, index 0 being Sunday, each a list of { "open", "close" } intervals in HH:MM. open is inclusive, close is exclusive and must be later than open, and "24:00" means end of day. An empty list means closed that day.
A schedule is validated the same way the dashboard validates it, so an unknown timezone or an interval that closes before it opens is rejected with the reason rather than saved.
Widget
get_widget_config
assistantId
The assistant's current widget appearance.
update_widget_config
assistantId, appearance
Patch the widget appearance. appearance is a partial object and its keys must match the widget configuration schema, so read the current config first and change what you need.
Conversations
list_conversations
all optional: assistantId, limit, cursor, startDate, endDate, sentiment, tag
Conversation sessions, newest first. limit is 1 to 200. startDate and endDate are epoch milliseconds and are inclusive bounds on last activity. sentiment is one of positive, neutral, negative. tag matches a system or custom tag. Pass the nextCursor from a previous response as cursor to page; omit it for the first page.
get_conversation
sessionId
The full message transcript for one session.
Trends
get_trends
assistantId, optional startDate, endDate
Aggregated trends: volume, sentiment, request types, top topics, feature requests, pain points, and token usage. Dates here are ISO YYYY-MM-DD strings, not epoch milliseconds. Defaults to the last 60 days.
The date parameters are not consistent between these two tools. list_conversations takes epoch milliseconds; get_trends takes YYYY-MM-DD strings. Passing one format where the other is expected is the most common mistake here.
Simulations
list_simulations
assistantId
The assistant's saved simulations.
list_simulation_suites
assistantId
The assistant's simulation suites.
run_simulation
simulationId, optional numberOfRuns
Run one simulation. numberOfRuns is a positive integer.
run_simulation_suite
suiteId, optional pinnedAgentVersionId
Run a whole suite, optionally against a specific saved version of the assistant.
list_suite_runs
suiteId
Past runs of a suite.
get_suite_run
suiteRunId
One suite run.
get_agent_test_job
jobId, optional includeTranscripts, includeConfig, failedOnly, runIndex
Results for a run. The optional flags exist to keep responses manageable: failedOnly returns just the runs that errored, halted, or failed a criterion, and within those only the failing criteria. includeTranscripts is expensive, so pair it with runIndex to fetch one run at a time. includeConfig returns the simulation definition that was actually run.
See Simulations for what these concepts mean.
Last updated