MCP Server
Connect Claude Desktop, Claude Code, Cursor or ChatGPT to the hosted Yedric MCP server to manage assistants and read conversation data.
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
Section titled âConnectingâ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
Section titled â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
Section titled âAssistantsâ| Tool | Parameters | What it does |
|---|---|---|
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
Section titled â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â:
"liveChat": { "supportEmail": "support@example.com", "autoAssign": true, "maxChatsPerAgent": 2, "idleTimeoutMinutes": 15, "assignedUserIds": [], "schedule": { "timezone": "America/Los_Angeles", "week": [[], [{ "open": "09:00", "close": "17:00" }], [{ "open": "09:00", "close": "17:00" }], [{ "open": "09:00", "close": "17:00" }], [{ "open": "09:00", "close": "17:00" }], [{ "open": "09:00", "close": "17:00" }], []] }}update_assistant takes the same settings as flat, individually optional fields:
| Field | Value |
|---|---|
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.
| Tool | Parameters | What it does |
|---|---|---|
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
Section titled âConversationsâ| Tool | Parameters | What it does |
|---|---|---|
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. |
| Tool | Parameters | What it does |
|---|---|---|
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. |
Simulations
Section titled âSimulationsâ| Tool | Parameters | What it does |
|---|---|---|
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.
