MIDNIGHT/ docs
PricingSign inStart free

Point ChatGPT or Claude at your agent

Every agent exposes a Model Context Protocol endpoint. Connect it and an assistant can search your knowledge base directly — getting the same grounded, cited answers your widget gives, instead of guessing from whatever it remembers about your company.

Your endpoint

It is your agent's public key on the chat API, the same key the embed snippet uses:

https://<your-chat-api-host>/mcp/<agent-public-key>

The Deploy tab shows the public key. The endpoint speaks streamable HTTP, which every current MCP client supports.

What it offers

NameKindNeeds a token
knowledge_searchToolNo
Your agent’s enabled actionsToolYes
Agent profileResourceNo

knowledge_search returns excerpts with the URL each came from, so the assistant can cite them. When nothing in your knowledge base clears the confidence threshold it says so rather than answering — the same refusal rule the widget follows.

Money-moving actions are never exposed here
Refunds, order cancellations and subscription cancellations are not offered over MCP with any token. They run through a conversation where a person can approve them. An endpoint an unattended assistant can call is the wrong place to move somebody's money.

Connect Claude Desktop

Add the endpoint to claude_desktop_config.json:

claude_desktop_config.json
{
  "mcpServers": {
    "acme-support": {
      "type": "http",
      "url": "https://<your-chat-api-host>/mcp/<agent-public-key>"
    }
  }
}

Restart Claude Desktop; the agent appears as a connected tool source.

Claude Code

terminal
claude mcp add --transport http acme-support https://<your-chat-api-host>/mcp/<agent-public-key>

Connect ChatGPT

In a Deep Research or custom connector configuration, add the same URL as an MCP server. ChatGPT will list knowledge_search and call it when a question is about your business.

Unlocking action tools

Searching is public. Anything that does something — capturing a lead, looking up an order — needs a workspace API token. Mint one under Settings → API tokens, then send it as a bearer token:

claude_desktop_config.json
{
  "mcpServers": {
    "acme-support": {
      "type": "http",
      "url": "https://<your-chat-api-host>/mcp/<agent-public-key>",
      "headers": { "Authorization": "Bearer mck_..." }
    }
  }
}

A token is shown once, at mint. It grants the actions your agent already has, minus the money-moving ones — treat it like a password and revoke it the moment it is no longer needed.

Limits

  • knowledge_search is rate limited per IP, on the same budget as the chat widget. A limited call returns a message saying how long to wait, not an empty answer.
  • Searching costs no credits. Actions behave exactly as they do in a conversation.
  • Revoking a token takes effect on the next call — there is no cached session.

llms.txt

Agents that do not speak MCP can still find you. Every shared agent publishes a plain-text index at /a/<public-key>/llms.txt, listing what has been ingested and pointing at the MCP endpoint. It is generated from your real sources and updates when they do.

Sources & training
What the endpoint can search is what you have ingested.
Credits & limits
What each kind of call costs.