Saaya, in every model you use.
The Model Context Protocol endpoint lets Claude, ChatGPT, Cursor, and any MCP-compatible client query your Saaya workspace directly. No glue code, no shims.
A wire between your model and your platform.
MCP is an open protocol any AI client can speak. Saaya exposes one MCP endpoint at https://mcp.saaya.ai — your client authenticates, lists the tools you've granted it, and starts calling them mid-conversation.
The model is yours. The conversation is yours. Saaya just becomes one of the things it can reach for.
Endpoint
https://mcp.saaya.ai
Auth
Bearer token, same key as the REST API. Permissions inherit from the key's RBAC role.
Default scope
Read-only by default. Write tools can be enabled per-key from the dashboard.
Your platform, inside your prompts.
Summarize last week's sessions
"Claude, pull the last 30 sessions and summarize the top three themes customers raised."
Draft prompt iterations from data
"ChatGPT, look at my top-performing inbound qualifier and write three variants tuned for healthcare."
Query KBs from inside Cursor
"Cursor, search the Saaya knowledge base for the latest pricing tier — I'm wiring it into my checkout."
Surface campaign signals in one prompt
"Surface the bottom-quartile campaigns by answer rate and tell me what's common across them."
Hook Saaya into your client.
Claude Desktop
Add the Saaya server to your Claude Desktop config. Restart Claude — the tools light up automatically.
{
"mcpServers": {
"saaya": {
"url": "https://mcp.saaya.ai",
"headers": {
"Authorization": "Bearer ${SAAYA_API_KEY}"
}
}
}
}Cursor
Drop the Saaya bridge into your project's .cursor/mcp.json. The bridge handles the HTTP stream so Cursor sees a local MCP process.
// .cursor/mcp.json
{
"mcpServers": {
"saaya": {
"command": "npx",
"args": ["@saaya/mcp-bridge"],
"env": { "SAAYA_API_KEY": "sk_live_..." }
}
}
}The tools Saaya exposes.
- read
list_agents
Return all agents in the workspace, including drafts and published versions.
{ status?: "draft" | "published", limit?: number }{ agents: Agent[], next_cursor?: string } - read
get_agent
Fetch a single agent by ID with full config and version history.
{ agent_id: string, include_history?: boolean }{ agent: Agent, history?: AgentVersion[] } - read
query_knowledge_base
Run a semantic + keyword query against a knowledge base. Returns chunks with citations.
{ kb_id: string, query: string, top_k?: number }{ chunks: Chunk[], confidence: number } - read
list_sessions
Return recent sessions, optionally filtered by agent, channel, or sentiment.
{ agent_id?: string, channel?: Channel, since?: string }{ sessions: SessionSummary[] } - read
get_session_transcript
Fetch the full transcript for a session, including tool calls and timing.
{ session_id: string }{ transcript: Turn[], duration_ms: number } - read
get_session_summary
AI-generated summary of a session: outcome, sentiment, and follow-ups.
{ session_id: string }{ summary: string, outcome: string, sentiment: number } - read
list_campaigns
Return campaigns with high-level stats and current run state.
{ status?: CampaignStatus, limit?: number }{ campaigns: CampaignSummary[] } - read
get_campaign_status
Live status for a single campaign — progress, success rate, fallback usage.
{ campaign_id: string }{ status: CampaignStatus, stats: CampaignStats }
Security
- RBAC permissions are enforced per API key — every MCP call inherits the key's role.
- Default scope is read-only. Write tools (create / publish / start) require explicit opt-in per key.
- Every tool call lands in the audit log with the key ID, tool name, params, and trace ID.
- HMAC-signed responses on streamable channels — clients verify before applying.
- Saaya never forwards your data to a third-party model on its own.
Common questions
By default, yes. Read-only is the safest scope and covers 90% of use cases — surfacing transcripts, KB hits, and campaign telemetry inside any LLM client. Write scopes (create_agent, publish_agent, start_campaign) can be enabled per-key from the dashboard.
Bring Saaya into the model.
Generate a key, drop the URL into your client, and your sessions, KBs, and campaigns are one prompt away.