[Opedd]
opedd-mcp
Licensed, rights-cleared content for AI agents — the alternative to unlicensed scraping for RAG, AI search, and LLM grounding.
[npm]
[downloads]
[MCP Registry]
[MIT]
[Add to Cursor]
[Install in VS Code]
[Docs]
Lets AI assistants (Claude Desktop, Cursor, Windsurf, or any MCP-compatible host) discover, purchase, and verify content licenses autonomously — mid-conversation, without opening a browser. Every license is recorded in a public registry on Tempo, with cryptographic proof.
Unlike generic search APIs, Opedd returns content with a verifiable license key — with the rights cleared and a record you can show your legal team.
Quick start
Then add it to your MCP host (see Claude Desktop / Cursor / Windsurf setup below). Discovery + verification tools work with no configuration; purchasing and content retrieval use optional API keys from opedd.com.
Hosted endpoint — no install (mcp.opedd.com)
Prefer zero-install? The same 19 tools are served hosted at https://mcp.opedd.com/mcp (Streamable HTTP). Auth is an Authorization: Bearer header with any Opedd key — public discovery tools need no auth at all.
Claude Messages API (production agents):
OpenAI Responses API:
claude.ai / Claude Desktop custom connector (all plans): Settings → Connectors → Add custom connector → URL https://mcp.opedd.com/mcp; add a Authorization: Bearer <your key> request header for the credentialed tools.
Cursor (.cursor/mcp.json):
Key routing: opedd_sk_* (legacy opedd_pub_*) → publisher tools · opedd_buyer_* → content retrieval · ent_* → bulk feeds · buyer-portal JWT → audit/compliance tools. Your key is forwarded per request and never stored by the gateway.
What it does
Exposes up to 19 tools to any AI assistant (some are conditional on env vars):
Every tool carries a title and MCP annotations (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) so an assistant can tell which tools only read and which spend money or write (v0.12.0).
Always available — discovery + onboarding + rights signaling
Requires OPEDD_BUYER_TOKEN (opedd_buyer_live_*) — one key covers search, articles and the feed (v0.12.0)
Feed tools — OPEDD_BUYER_TOKEN + order_id, or an order's OPEDD_ACCESS_KEY (ent_*)
Requires OPEDD_BUYER_JWT (Supabase JWT) — buyer account + audit + compliance surfaces
Requires OPEDD_PUB_BEARER (opedd_sk_; legacy opedd_pub_ still works) — publisher-side
Compliance artifacts (publisher-side vs buyer-side — never conflated)
Per Opedd's platform invariants (W1.6 amendment):
rsl_get(publisher_id, jsonld=true) → publisher-side CDSM Article 4(3) opt-out declaration (signed JSON-LD receipt over the reservation state).
get_compliance_dossier(from, to) → comprehensive procurement-defense dossier covering BOTH sides (publisher CDSM reservation honored + buyer attestation evidence chain).
These serve different audit-defensibility modes and never share wire format. Tool descriptions cite the W1.6 invariant inline.
Install
Or run directly with npx:
Configuration
Set environment variables to pre-configure the server:
Getting a Stripe payment method ID: Save a card in your Stripe account and retrieve the pm_... ID via the Stripe API.
Anonymous usage telemetry
To understand how AI assistants use this server, opedd-mcp sends anonymous
telemetry for each tool call: only the tool name, its duration, whether it
succeeded, and the server version — plus a random per-process id. It never
sends tool parameters, responses, your email, API keys, tokens, content, or
your IP. Data goes to Opedd's PostHog (EU region).
To opt out, set either environment variable before starting the server:
When opted out, no telemetry client is created and nothing is sent.
Claude Desktop setup
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
Cursor / Windsurf setup
Add to your MCP settings:
Example usage
Once configured, you can ask your AI assistant:
"Look up the licensing options for this article: https://theinformation.com/articles/..."
"What do Opedd's publications say about EU chip subsidies? Cite the passages." — uses search_passages
"Verify license key OP-XXXX-XXXX and tell me what it covers."
"Browse the latest licenses from The Information publisher."
Phase 12 Wave 1 + 3 surfaces (v0.3.0)
"What does Geopolitical Dispatch license? Pull the RSL manifest." — uses publisher_directory to find it, then rsl_get
"Get me a CDSM Article 4(3) signed receipt for that publisher's reservation state — set jsonld: true." — uses rsl_get with content negotiation
"This publisher just signed up: https://noahpinion.substack.com. Which onboarding workflow should we use?" — uses detect_platform
"Browse the finance category in the Opedd catalog — show me publishers with at least 50 articles." — uses publisher_directory
"What's in my buyer account? Show me my active API keys." — uses get_buyer_account (requires OPEDD_BUYER_JWT)
The assistant will call the appropriate Opedd tools and show you the results.
Payment
No account? An agent can pay for one answer on the spot. POST https://api.opedd.com/agent-answer with the same body as search_passages ({"query": "..."}). The response is HTTP 402 with the price (each article the answer uses, at its publication's own price), the licence and the buyer terms. Pay by card through the Machine Payments Protocol (a Stripe shared payment token, at least 0.50 USD; the rest stays as credit on a search key returned with the answer) and retry. Machine-readable: api.opedd.com/openapi.json.
Pay-per-answer search is billed to the card on your buyer account (opedd.com/buyer/billing); licence orders are paid through Stripe. Single-article purchases (Human republication, purchase_license) were retired on 2026-10-26.
Development
How Opedd compares to search APIs
Opedd is the licensed content delivery layer for AI — not just a licensing wrapper. Publishers upload content, you retrieve it via API with a license attached. One integration gives your pipeline both the content and the legal right to use it.
Learn more
License
MIT