Connect the MCP server
Teddit has an MCP server built in. Connect it to Claude, Cursor or another MCP client, and your own AI can read every answer, source and number in your workspace, manage prompts and competitors, and run scans if the key allows it.
What you get
The server is part of Teddit. There is nothing to install on our side or to deploy.
| Item | Value |
|---|---|
| Address | https://teddit.io/mcp |
| Transport | Streamable HTTP, stateless: every request stands on its own, there is no session to keep open. |
| Authentication | A workspace API key in the header Authorization: Bearer tdt_… |
| Contents | 30 tools, one resource (teddit://projects) and two prompt templates (weekly_review, grow_prompt_set). All of them are listed in the tools reference. |
Every tool call gets the same checks as the web app. A key can never do more than its access level allows, and nothing a tool does is hidden from the app: a scan started over MCP shows up in Scan history like any other.
Reading is free. One tool costs money: start_scan runs a scan, paid from the workspace balance. rewrite_queries is not charged, but it needs a balance above zero.
Create a key
- In the app, click the gear icon in the top bar and open the API & MCP tab.
- Press Create key. Give it a name that says where it will be used, for example “Claude on my laptop”.
- Choose the access: Read, Read + edit or Read + scan.
- Copy the key. It starts with
tdt_and is shown once. Teddit keeps only a fingerprint of it and cannot show it again.
Anyone in the workspace can create a key; what it may do depends on their role. A key belongs to one workspace. While the dialog with the new key is open, the config snippets on the API & MCP page are filled in with it, ready to copy.
To take a key out of use, press the bin icon next to it. It stops working at once. More on keys: Authentication.
Claude
Claude Code
One command adds the server over HTTP:
claude mcp add --transport http teddit https://teddit.io/mcp \ --header "Authorization: Bearer tdt_…"
Claude Desktop
Claude Desktop starts MCP servers as local programs from its config file. A small bridge, the open-source mcp-remote package, connects it to Teddit’s address and sends the key. It needs Node.js. Add this to claude_desktop_config.json and restart Claude:
{
"mcpServers": {
"teddit": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://teddit.io/mcp", "--header", "Authorization:${TEDDIT_AUTH}"],
"env": {
"TEDDIT_AUTH": "Bearer tdt_…"
}
}
}
}The key goes in TEDDIT_AUTH, after Bearer and a space.
ChatGPT
ChatGPT adds remote MCP servers as connectors, by address. To connect Teddit, the connector has to send your key in the Authorization header:
Name: Teddit URL: https://teddit.io/mcp Auth: Bearer tdt_…
Authorization header and nothing else. It has no OAuth sign-in. A client whose connector form offers only OAuth, or no way to send a header, cannot connect to it directly.Cursor and other clients
Any client that speaks MCP over Streamable HTTP and can send a header works. For Cursor, put this in .cursor/mcp.json:
{
"mcpServers": {
"teddit": {
"type": "http",
"url": "https://teddit.io/mcp",
"headers": {
"Authorization": "Bearer tdt_…"
}
}
}
}For a client you configure by hand, these are the three facts it needs:
- the address
https://teddit.io/mcp; - the transport: Streamable HTTP;
- the header
Authorization: Bearer tdt_…on every request.
A client that can only start local programs can use the mcp-remote bridge shown under Claude Desktop.
Check the connection
Ask your AI: “Use Teddit and tell me which workspace you are connected to.” It should call whoami and answer with the workspace name and the access level of the key.
To test a key without any client, call the API directly:
curl https://teddit.io/api/whoami \ -H "Authorization: Bearer tdt_…"
| What you see | What it means |
|---|---|
HTTP 401 from /mcp | No key was sent, the header is not in the form Bearer tdt_…, or the key was revoked. A browser sign-in does not count here; the MCP address takes keys only. |
A tool answers Error: You do not have permission to do that. | The key’s access level is too low for that tool. Create a key with more access. |
A tool answers Error: Project not found. | The site id is wrong, or the site belongs to another workspace. Ids come from list_projects. |
What a key may do
| Access | Tools it can use |
|---|---|
| Read | Everything that reads: reports, trends, prompts and their answers, competitors, pages, scan history and progress, cost estimates, charts. |
| Read + edit | The above, and: add, edit, pause, import and delete prompts; add, edit and remove competitors; change a site’s settings; read the sitemap again. |
| Read + scan | The above, and: start and cancel scans, rewrite imported queries as questions, and add a site. |
You cannot create a key with more access than you have yourself. Scans started with a key are paid from the same balance and count against the same limits as scans started in the app, and are recorded under the name of the person who created the key.
Next: the tools reference and some example questions.