---
title: "MCP Server"
url: "https://consenttheater.org/mcp"
description: "Connect AI agents to the ConsentTheater Playbill over the Model Context Protocol. Free, read-only, no API key: look up any cookie or domain tracker from Claude, Cursor, VS Code, or any MCP client."
---

Tools

# MCP Server

Ask your AI assistant what a cookie or tracker actually does — instead of googling domain names. The Playbill catalogue is exposed over the [Model Context Protocol](https://modelcontextprotocol.io), free, read-only, no API key.

For DPA work

Paste a cookie list from a complaint or scan output and ask which entries are advertising vs strictly necessary, and what the consent burden is.

For personal audits

"What is this cookie?" in plain language, with the company, category, and lifetime — no tab-hopping through vendor docs.

No key, no account

Read-only, stateless, nothing stored. The endpoint exposes the same public data as the npm package and the [web lookup](/).

## Connect your client

Claude (claude.ai / Claude Desktop)

1.  Customize → Connectors → + → Add custom connector (Desktop: Settings → Connectors).
2.  Paste the URL: https://consenttheater.org/mcp
3.  No authentication — leave the OAuth fields empty, the endpoint is public and read-only.
4.  Enable the connector in a chat and ask about a cookie.

Claude Code

```
claude mcp add --transport http consenttheater https://consenttheater.org/mcp
```

Cursor / VS Code / Windsurf / Cline

```
{
  "mcpServers": {
    "consenttheater": {
      "url": "https://consenttheater.org/mcp"
    }
  }
}
```

Hermes Agent

```
# ~/.hermes/config.yaml
mcp_servers:
  consenttheater:
    url: https://consenttheater.org/mcp
```

ChatGPT (custom connector)

1.  Settings → Apps & Connectors → Create (or "Add custom connector" in the composer).
2.  Paste the URL: https://consenttheater.org/mcp
3.  No authentication — leave it off, the endpoint is public and read-only.
4.  Enable it in the conversation (developer mode prompt) or just ask about a cookie and pick the connector.

Restart your client after adding the config. Tools register as `mcp__consenttheater__search_tracker` and siblings.

## Available tools

| Tool | Arguments | Returns |
| --- | --- | --- |
| search_tracker | query (required), kind (optional: "cookie" \| "domain" \| "auto") | Look up a tracker by cookie name or domain. Auto-detects the kind. Returns company, service, GDPR category, consent-burden tag, description, typical lifetime, and documentation link. |
| list_companies | none | List every company tracked in the Playbill. |
| list_categories | none | List every tracker category (advertising, analytics, and so on). |
| get_stats | none | Catalogue counts: cookies, domains, companies. |
| get_playbill_info | none | Catalogue version and freshness: npm release version, worker load timestamp, entry counts. |

## What to ask

"Which company sets the \_\_qca cookie?"

search\_tracker detects a cookie, returns Quantcast + the GDPR category.

"Audit the cookies on this page and tell me which ones need consent under GDPR."

Agent runs search\_tracker per cookie, then explains each one's category and consent burden.

"Is metrics.example.com an analytics vendor or something shadier?"

search\_tracker with kind=domain resolves the domain to its operator.

"How fresh is the catalogue you're using?"

get\_playbill\_info returns the npm release version and load timestamp.

## Good to know

-   Endpoint: `https://consenttheater.org/mcp` (Streamable HTTP, stateless JSON-RPC).
-   Read-only. The server holds no secrets, no user data, and no state — same exposure as the public [/api/search](/api/search).
-   The catalogue itself is public anyway: install [@consenttheater/playbill](https://www.npmjs.com/package/@consenttheater/playbill) for local bulk use — don't hammer the endpoint for it.
-   Not legal advice. Categories and consent-burden tags are educational reference, not a verdict — see [methodology](/methodology/).

Test it without installing anything

Any JSON-RPC POST works: send `{"jsonrpc":"2.0","id":1,"method":"tools/list"}` to `/mcp` and you'll get the tool list.