MCP: use OneType from Claude Code, Cursor and other AI tools
OneType is an MCP server (Model Context Protocol, Streamable HTTP). Any MCP client can call it with an API key: Claude Code, Cursor, Claude Desktop, or your own agents. There are two servers:
| Server | URL | For | Tools |
|---|---|---|---|
| Workspace | https://api.onetype.ai/v1/mcp | Your team and your own automations: read agents and conversations, search knowledge, ask an agent, and build agents | Read tools: list_agents, get_agent, list_conversations, get_conversation, list_messages, search_knowledge, ask_agent. Builder tools: see Builder tools |
| One agent's docs (hosted) | https://api.onetype.ai/v1/mcp/agents/YOUR_AGENT_ID | Your developers and customers: the same cited answers as your chat, inside their editor | search_docs, ask_agent |
Status: both servers are Available. Both need Premium: on Free, MCP connections are refused with 422 PLAN_LIMIT.
1. Create a key
- Workspace server: in Developer › API keys, create a restricted key (
rk_live_…) and tick only the permissions you need:agents.readforlist_agentsandget_agentconversations.readforlist_conversations,get_conversationandlist_messagessearch.debugforsearch_knowledgeconversations.writeforask_agent- for a builder tool, the permission of the same action in the app (for example
agents.updateforupdate_agent,knowledge.writeforadd_website)
- One agent's docs: on the MCP page, open the agent's card and create its key. The key holds
mcp.agentand is limited to that one agent, so it can't read anything else in your workspace. You can safely share it with the developers who use your docs.
Keys are shown once. Revoking one takes effect on the next request.
2. Connect your client
Claude Code
claude mcp add --transport http onetype https://api.onetype.ai/v1/mcp \
--header "Authorization: Bearer rk_live_…"One agent's docs:
claude mcp add --transport http onetype-docs https://api.onetype.ai/v1/mcp/agents/YOUR_AGENT_ID \
--header "Authorization: Bearer rk_live_…"Cursor (.cursor/mcp.json), Claude Desktop and other clients that take JSON:
{
"mcpServers": {
"onetype-docs": {
"url": "https://api.onetype.ai/v1/mcp/agents/YOUR_AGENT_ID",
"headers": { "Authorization": "Bearer rk_live_…" }
}
}
}Developer › MCP shows both snippets with your URL filled in.
Then ask in your editor: "Using onetype-docs, how do I verify a webhook signature?" The answer comes with its sources.
What each tool does
| Tool | Server | Returns | Billing |
|---|---|---|---|
list_agents, get_agent | workspace | Agents, as the REST API returns them | free |
list_conversations, get_conversation, list_messages | workspace | Conversations and their messages | free |
search_knowledge | workspace | The best-matching passages from an agent's knowledge, with sources | free |
search_docs | one agent | The best-matching passages from that agent's knowledge, with sources | free |
ask_agent | both | A full answer from the agent, with citations | one answer, like a chat reply |
Passages, messages and answers are marked as untrusted content for the calling model, so text inside your documents can't instruct the client's AI: on both servers, every field your documents, your visitors or a model wrote (a passage's header and text, a message's text, a source's title, an agent's name and instructions) comes as an object { "untrusted_text": "…" }, never a bare string. Read the string from untrusted_text. Every call is recorded in your audit log (mcp.tool.called). A tool result never starts anything on the server.
Builder tools
The workspace server also builds and runs agents. Each tool works like the same action in the app: the same permissions, plan limits and audit log.
| Group | Tools |
|---|---|
| Account | get_account |
| Agents | list_models, create_agent, update_agent, publish_agent, take_agent_offline, resume_agent, delete_agent |
| Knowledge | list_sources, get_source, add_website, add_pages, add_text, add_file, resync_source, remove_source, list_qna, add_qna, update_qna, delete_qna |
| Chat and site | set_allowed_domains, get_look, update_look, apply_look, set_bubble, get_install_snippet, test_agent (billed like a chat reply) |
| Templates and links | list_templates, get_template, get_builder_prompt, get_checkout_link, get_connect_link, get_app_link |
Destructive calls wait for a person. Deleting an agent, a source or a Q&A, publishing an agent or taking it offline, and on a live agent publishing its look, changing its allowed domains or changing what visitors are told or what is collected from them, answer needs_confirm with a link. A person signed in to OneType approves it in the browser; the same call with confirm set to the given id then goes through once, within 10 minutes. Payment and connecting other tools also happen in the browser, through the links the tools return. Changes are limited to 60 a minute, and create_agent to 10 an hour.
For developers of other MCP clients
POSTtakes one JSON-RPC message.initializeanswers with anMcp-Session-Idheader; send it on later requests.- Supported protocol versions are
2025-11-25and2025-06-18. - Methods:
ping,tools/list,tools/call. Notifications answer202.DELETEends a session, andGETanswers405. Sessions end after a day unused. tools/listoffers a tool only when the key holds its permission.
Errors
| Response | Meaning | Fix |
|---|---|---|
401 | Missing or revoked key | Check the Authorization header |
403 ORIGIN_NOT_ALLOWED | Called from a browser page | Call it from a server or a desktop client. Keys never belong in a browser |
403 AGENT_SCOPED_KEY | An agent's key used on the workspace server | Use the agent's URL, or a workspace key |
403 AGENT_OUT_OF_SCOPE, 422 PLAN_LIMIT | The key isn't for this agent, or the workspace is on Free | Use that agent's key, or upgrade to Premium |
400 SESSION_REQUIRED, PROTOCOL_VERSION_MISMATCH · 404 SESSION_NOT_FOUND | Session handling | Re-run initialize |
JSON-RPC -32601 / -32602 | Unknown method, or unknown tool or bad arguments | Call tools/list for what this key may use |
A result with isError: true | The tool was refused (e.g. a missing permission) | Its code and message say why |
People can also connect with OAuth instead of a key: claude.ai and Claude Desktop (a custom connector) and ChatGPT sign in through OneType's consent screen. The MCP page in the app has the steps for each tool.