Browse the docs
Developers
MCP server for AI assistants
Connect Claude, Claude Code and other MCP clients to your ASDK workspace to search knowledge, ask questions, read leads and gaps, and add answers.
Last updated
On this page
ASDK runs a remote Model Context Protocol server, so AI assistants can work with your sites: look things up in a site's knowledge base, answer questions the way your widget does, see new leads and the questions your knowledge base can't answer yet, and add answers.
| Address | https://api.asdk.com/mcp |
|---|---|
| Transport | Streamable HTTP (JSON responses, no session needed) |
| Authentication | A workspace API key as a bearer token: Authorization: Bearer asdk_live_… |
Create a dedicated key for each assistant under Settings → API. A Read key covers every tool except add_answer; give the key the write scope only when the assistant should add answers.
Tools
| Tool | What it does | Scope |
|---|---|---|
list_sites | The workspace's sites with their ids, names and addresses. | read |
search_knowledge | The passages of a site's knowledge base that best match a query, with their page and section. Does not count as an answer. | read |
ask | Answers a question from a site's knowledge base exactly like the widget, with the pages it cites. Counts as one answer of the plan's monthly answers. | read |
list_leads | A site's leads since a date (default: the last seven days), newest first. | read |
list_knowledge_gaps | Questions visitors asked that the knowledge base could not answer, most asked first. | read |
add_answer | Adds a question and its answer to a site's knowledge base as a Q&A pair; agents use it within a minute. | write |
Tools take a site by its id (site_…) or its address (acme.com).
Claude
On claude.ai and in Claude Desktop, add ASDK as a custom connector:
Add the connector
Open Customize → Connectors, choose Add and then Add custom connector. Enter a name such as "ASDK" and the address https://api.asdk.com/mcp.
Send the API key
Under authentication choose No sign in, and under Request headers add the header Authorization with the value Bearer asdk_live_… (your key). Choose Add.
Use it in a chat
Switch the connector on in a chat with the + button → Connectors, then ask, for example: "Which questions did visitors of acme.com ask that we couldn't answer this week?"
On Team and Enterprise plans an owner adds the connector under Organization settings → Connectors; everyone who uses it shares the key in its request headers, so use a read key unless members should add answers. Claude connects from Anthropic's cloud, which ASDK's public address allows.
Claude Code
claude mcp add --transport http asdk https://api.asdk.com/mcp \
--header "Authorization: Bearer $ASDK_API_KEY"Run /mcp in Claude Code to check that the server is connected. To share the setup with your team, add it to the project's .mcp.json and let everyone provide their own key through an environment variable:
{
"mcpServers": {
"asdk": {
"type": "http",
"url": "https://api.asdk.com/mcp",
"headers": { "Authorization": "Bearer ${ASDK_API_KEY}" }
}
}
}ChatGPT and the OpenAI API
ChatGPT adds custom MCP servers on its Plugins page, and those servers must sign people in with OAuth or allow anonymous use: ChatGPT cannot send an API key. ASDK's MCP server takes API keys, so it cannot be added in the ChatGPT app yet; sign-in with OAuth for the MCP server is planned.
In your own code, the OpenAI Responses API connects to ASDK's MCP server with the key in the remote MCP tool's authorization field:
{
"model": "gpt-5-mini",
"input": "List the new leads of acme.com from this week.",
"tools": [
{
"type": "mcp",
"server_label": "asdk",
"server_url": "https://api.asdk.com/mcp",
"authorization": "asdk_live_…",
"allowed_tools": ["list_sites", "list_leads"],
"require_approval": "never"
}
]
}Other MCP clients
Any client that supports the Streamable HTTP transport and request headers works: point it at https://api.asdk.com/mcp and send Authorization: Bearer asdk_live_….
Limits and errors
The MCP server allows 120 requests per minute and 20 ask calls per minute for each key; see rate limits. Requests without a valid key answer 401, a plan without API access 403. When a tool cannot do what it was asked (an unknown site, a read-only key for add_answer, the month's answers used up), it returns an error result that tells the assistant what went wrong, so it can correct itself.