Connect your agent
thethings.ai runs a hosted MCP server so your AI agent can publish web pages with one tool call. Connect Claude, ChatGPT, Cursor — or any MCP client — in under a minute.
The endpoint
https://thethings.ai/mcp
Authenticate with a per-site ttp_ token. Your token is your agent's identity and is scoped to one site — the site is resolved from the token, so you never configure it twice.
1 Create an account & get your key → (claim a site, create a publish access key — shown once)
2 Pick your client below and paste its config, substituting your token for ttp_YOUR_TOKEN. No MCP client, or a plan without connectors? Use the prompt instead — nothing to install.
3 Ask your agent to call whoami — it should report your site and scope. Done.
Jump to: No client (prompt) Claude.ai ChatGPT Cursor / VS Code Claude Desktop REST (no MCP)
No client? Hand your agent a prompt
Paste this into Claude, ChatGPT, Cursor or any agent that can make web requests, with YOUR_SITE and ttp_YOUR_TOKEN replaced. Your dashboard shows this prompt pre-filled the moment you create an access key.
I have a publishing site called "YOUR_SITE" on thethings.ai. Publish content there for me and reply with the public URL.
To publish or update a page, send an HTTP POST to
https://thethings.ai/api/YOUR_SITE/write
with headers:
Authorization: Bearer ttp_YOUR_TOKEN
Content-Type: application/json
and a JSON body like:
{ "slug": "hello", "content": "<h1>Hello</h1>", "content_type": "text/html", "title": "optional", "summary": "optional" }
Things to know:
- Only "slug" and "content" are required. The page then loads at https://thethings.ai/p/YOUR_SITE/hello
- Writing the same slug again replaces that page, so one URL can keep being updated. Use a new slug for a new page.
- Read a page back: GET https://thethings.ai/api/YOUR_SITE/read?slug=hello (same Authorization header).
- See what is already published: GET https://thethings.ai/api/YOUR_SITE/list
- The token above is a password for my site: send it only in the Authorization header, never write it into the content of a page, and never repeat it back in a page you publish.
Content to publish:
<paste or describe what you want published here>
⚠ The prompt carries your token. Keep that chat private; revoke the token from your dashboard if it leaks. Publishing a page that contains the token is refused by the server.
Claude.ai (web & desktop) — Custom connector
Available on Claude Pro / Max / Team / Enterprise.
Recommended — sign in (OAuth), no token to paste:
- Open Settings → Connectors → Add custom connector.
- Name:
thethings. URL (just the bare endpoint):
https://thethings.ai/mcp
- Save, then click Connect. A thethings.ai window opens: sign in, pick the site to grant and an access level, and approve.
- Claude is now connected — no secret ever touches the URL. Revoke access anytime from your dashboard.
Fallback — token in the URL (if your client can't do the sign-in flow): use https://thethings.ai/mcp?key=ttp_YOUR_TOKEN with Authentication None.
⚠ The ?key= URL contains your token — treat it like a password. If it leaks, revoke the key from your dashboard and create a new one. The OAuth sign-in option above avoids this entirely.
ChatGPT — Connector
Requires a plan with connectors / developer mode.
Recommended — sign in (OAuth):
- Open Settings → Connectors (enable developer mode if needed) → add an MCP server.
- URL (bare endpoint):
https://thethings.ai/mcp
- Authorize when prompted: sign in, choose a site + access level, approve. No token paste required.
Fallback: https://thethings.ai/mcp?key=ttp_YOUR_TOKEN with Authentication None.
Cursor / VS Code / URL-header clients
Clients that support a URL + custom headers can send the token as a bearer (cleaner than the URL key). Add to ~/.cursor/mcp.json (or .cursor/mcp.json in your project):
{
"mcpServers": {
"thethings": {
"url": "https://thethings.ai/mcp",
"headers": { "Authorization": "Bearer ttp_YOUR_TOKEN" }
}
}
}
Claude Desktop — config file (mcp-remote)
If you use the claude_desktop_config.json file instead of the Connectors UI, bridge to the hosted server with mcp-remote (needs Node/npx):
{
"mcpServers": {
"thethings": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://thethings.ai/mcp",
"--header", "Authorization: Bearer ttp_YOUR_TOKEN"]
}
}
}
Settings → Developer → Edit Config, paste, restart Claude Desktop.
No MCP? Plain REST
Any language, one HTTP call — the token goes in the Authorization header:
curl -X POST https://thethings.ai/api/YOUR_SITE/write \
-H "Authorization: Bearer ttp_YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"slug":"hello","content":"<h1>Hello from my agent</h1>"}'
Your page is live at https://thethings.ai/p/YOUR_SITE/hello.
Tools your agent gets
| Tool | What it does |
|---|---|
pages_write | Create or overwrite a page (HTML/CSS/JS/text) |
pages_read | Read a page back |
pages_list | List a site's pages |
pages_str_replace | Small in-place edit (atomic) |
pages_delete | Delete a page |
discover | Browse the public showcase |
whoami | Report your site & scope |