Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Content licensing for the AI era: licensed, rights-cleared content for AI agents.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
OPEDD_BUYER_TOKEN, OPEDD_ACCESS_KEY, OPEDD_BUYER_JWT, OPEDD_PUB_BEARER, AuthorizationValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"opedd": {
"command": "npx",
"args": [
"-y",
"opedd-mcp"
],
"env": {
"OPEDD_BUYER_TOKEN": "your-value",
"OPEDD_ACCESS_KEY": "your-value",
"OPEDD_BUYER_JWT": "your-value",
"OPEDD_PUB_BEARER": "your-value"
}
}
}
}Run this in your terminal
claude mcp add --transport http opedd https://mcp.opedd.com/mcp --header 'Authorization: your-value'claude mcp add opedd --env OPEDD_BUYER_TOKEN=your-value --env OPEDD_ACCESS_KEY=your-value --env OPEDD_BUYER_JWT=your-value --env OPEDD_PUB_BEARER=your-value -- npx -y opedd-mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"opedd": {
"url": "https://mcp.opedd.com/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"opedd": {
"command": "npx",
"args": [
"-y",
"opedd-mcp"
],
"env": {
"OPEDD_BUYER_TOKEN": "your-value",
"OPEDD_ACCESS_KEY": "your-value",
"OPEDD_BUYER_JWT": "your-value",
"OPEDD_PUB_BEARER": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"opedd": {
"type": "http",
"url": "https://mcp.opedd.com/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}Paste into .vscode/mcp.json in your project
{
"servers": {
"opedd": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"opedd-mcp"
],
"env": {
"OPEDD_BUYER_TOKEN": "your-value",
"OPEDD_ACCESS_KEY": "your-value",
"OPEDD_BUYER_JWT": "your-value",
"OPEDD_PUB_BEARER": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Your choice stays on this device in a cookie; no account needed.
Authorization secret HTTP headerThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Tool names and descriptions exactly as the server reported them on Nov 6, 2026. The maker wrote them, not us; we show them as plain text.
lookup_contentLooks up an article on Opedd by its web address. Returns the title, publication and how to license it (pay-per-answer search or a licence order); for a publication's homepage, the publication and its licensing page; or that it is not on Opedd yet (then request_publication records
request_publicationAsks Opedd to tell you when a publication it does not carry yet becomes available to license. For an article that lookup_content reports is not on Opedd. Records the request against the email given; nothing is bought. If the publication is already on Opedd, returns its licensing
search_contentFull-text search of the articles licensable on Opedd. Returns matching articles with the publication, prices, word count and a short description; never article text. Supports quoted phrases and -word to exclude a word. Free; no key needed.
verify_licenseChecks an Opedd licence key. Returns the licence details (article title, publication, licence type, issue date, amount paid, buyer and public-record proof status), or that the key was not found.
browse_registryLists licences recently issued on Opedd and the content they cover. Filters: publisher_id and article_id. Public; no key needed.
publisher_directoryLists the publications on Opedd with their article counts, licences, prices and sample articles. Filters: category (case-insensitive substring), min_articles and verified status. Public; no key needed.
rsl_getFetch a publisher's RSL Standard manifest (machine-readable licensing terms). Public no-auth endpoint — discovery surface for AI agents/crawlers wanting to know what's licensable from a publisher BEFORE going through the buyer-account signup flow. Returns the licences the publish
place_licence_orderPlace a licence order with Opedd for one or more publishers. One order = one licence and one billing mode; each publisher becomes its own Schedule priced from that publisher's settings (publishers that do not offer it are returned in `unavailable` and never charged). Licences: 'e
search_passagessearch_passages answers questions that the publications on Opedd cover, with licensed passages and a citation for each; it returns nothing for subjects none of them cover. Publications on Opedd now: Bill Emmott's Global View (Geopolitics); Coffee in the Desert (Geopolitics); Worl
get_contentRetrieve the full body of a licensed article using a buyer API token (opedd_buyer_live_* canonical; opedd_buyer_test_* for sandbox). Requires OPEDD_BUYER_TOKEN env var (create one at opedd.com/licenses after purchasing). Works for licence orders (and for Human republication licen
list_feedList the articles in a licence order you hold. Content contract: AI training orders include full content_body for the back catalogue up to the order date (content_access 'included'). Every other order is discovery-only (content_body null): AI answers monthly and client display fe
stream_feed_ndjsonBulk-export the articles in a licence order you hold. Returns up to 1000 articles per call (collected from line-delimited JSON wire format). Same content contract as list_feed: full text for AI training orders only; every other order exports metadata (content_body null); get_cont
list_licence_ordersLists the account's licence orders, newest first, each with its lines (publication, licence, unit, price, quantity, status). With order_id, returns one order, each line with its Schedule text and the SHA-256 fingerprint recorded in the public registry on Tempo when the line was i
get_audit_eventsReturns the account's audit records, one per licensed access, each with its licence terms and public-record attestation (Merkle root and inclusion proof once confirmed). Filter: event_type ('content_access', 'bulk_content_access' or 'compliance_report_generated'). At most 30 days
get_buyer_accountFetch the authenticated buyer's account profile + masked API key list via GET /buyer-account. Returns the enterprise_buyers row (contact_email, buyer_org, created_at, etc.) plus a list of all buyer-side API keys with masked prefixes (NEVER plaintext post-issuance — only the 12-ch
get_compliance_dossierReturns the account's compliance dossier for a period: one row per licensed article, with article metadata, licence terms, public-record attestation and compliance flags (CDSM Article 4(3) and text-and-data-mining reservations). At most 90 days per call; longer periods are pagina
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026
The registry name was verified against the domain opedd.com (the registry checks domain ownership)
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Responded in 458 ms (HTTP 200)
No sign-in needed
Read 16 tool descriptions and found no hidden instructions to the AI
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: OPEDD_BUYER_TOKEN, OPEDD_ACCESS_KEY, OPEDD_BUYER_JWT, OPEDD_PUB_BEARER, Authorization
Either way works: install it on your computer or connect to the cloud version.
The GitHub repo last changed –, and the latest version (0.12.15) reached the registry 3 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Spec Driven Development, Remote Desktop Commander, zanadir
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Find what a repository's CI is missing, and which security checks cannot fail the build.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
opedd-mcp
Licensed, rights-cleared content for AI agents — the alternative to unlicensed scraping for RAG, AI search, and LLM grounding.
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.
npx opedd-mcp
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.
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):
{
"mcp_servers": [{ "type": "url", "url": "https://mcp.opedd.com/mcp", "name": "opedd", "authorization_token": "opedd_buyer_live_..." }] }
OpenAI Responses API:
{
"tools": [{ "type": "mcp", "server_label": "opedd", "server_url": "https://mcp.opedd.com/mcp", "authorization": "opedd_buyer_live_..." }] }
claude.ai / Claude Desktop custom connector (all plans): Settings → Connectors → *Add custom connector* → URL https://mcp.opedd.com/mcp; add a Authorization: Bearer request header for the credentialed tools.
Cursor (.cursor/mcp.json):
{
"mcpServers": { "opedd": { "url": "https://mcp.opedd.com/mcp", "headers": { "Authorization": "Bearer ${env:OPEDD_KEY}" } } } }
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.
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
| Tool | Description |
|---|---|
search_content | Free discovery. Full-text search across everything licensable (v0.8.0) — ranked matches with publisher, prices, word count and a description snippet; quotes for phrases, -word to exclude. Returns no article text — use search_passages to actually read |
search_passages | Paid per answer, or included in a monthly subscription. Ask a question, get licensed passages that answer it, with citations. Pay per answer: charged once per article the answer uses, at that publication's own price per article, each passage capped at 300 words or 25% of the article, counted cumulatively. Monthly AI answers subscriptions (v0.12.0): included, not capped, from the subscription's start. Narrow with publishers, published_after, published_before, max_results (1–10, default 5) and cap a question's cost with max_charge_cents. Needs a buyer key with the search scope. Re-asking within 24h is free |
lookup_content | Look up an article by URL — returns title, publisher and how to license it, or that it is not on Opedd yet |
request_publication | Ask to be told when a publication Opedd does not carry yet becomes available (url + email; no key) |
verify_license | Verify a license key — returns validity, article, publisher, public-record proof |
browse_registry | Browse the public Opedd registry — lists issued LICENSES (use publisher_directory to browse publishers themselves) |
publisher_directory | Browse the public Opedd publisher catalog — paginated publishers with article counts + pricing + sample articles (primary buyer-discovery surface for AI labs) |
place_licence_order | Place a licence order for one or more publishers: AI answers (monthly full text, or metered pay-per-request snippets ≤300 words / 25%), Full catalogue (archive, one_time: everything published up to the order date, kept permanently, no AI training), AI training (one_time, back catalogue), client display (monthly × end clients). Optional include_archive: true on a monthly AI answers order adds each publisher's Full catalogue for complete access. Each publisher is its own Schedule at its own price; returns the order, lines, unavailable publishers and hosted_invoice_url. Needs OPEDD_BUYER_JWT and terms_accepted: true |
rsl_get | Fetch a publisher's RSL Standard manifest — public discovery surface; jsonld: true returns CDSM Article 4(3) signed receipt (Phase 12 W1.1) |
detect_platform | Detect the content platform behind a URL — returns suggested onboarding workflow for Substack / Beehiiv / Ghost / Medium / Brevo / custom (Phase 12 W3.1) |
**Requires OPEDD_BUYER_TOKEN (opedd_buyer_live_*) — one key covers search, articles and the feed (v0.12.0)**
| Tool | Description |
|---|---|
get_content | Retrieve a licensed article under any order your account holds — full text for AI answers monthly and client display orders; pay-per-request licences read through search_passages (403 SEARCH_ONLY_LICENCE); includes 7 RAG metadata fields (author, language, word_count, content_hash, image_urls, canonical_url, tags) |
**Feed tools — OPEDD_BUYER_TOKEN + order_id, or an order's OPEDD_ACCESS_KEY (ent_*)**
| Tool | Description |
|---|---|
list_feed | List the articles a licence order covers, with since delta-feed support. AI training and Full catalogue orders carry full content_body (content_access: "included"); monthly orders are discovery-only (content_access: "retrieval_per_article", fetch text via get_content); per-request orders are "search_only". With a buyer key, pass order_id (optional when the account holds one active order) |
stream_feed_ndjson | Bulk-export up to 1000 articles per call via NDJSON wire format. Same content contract and credentials as list_feed |
Requires `OPEDD_BUYER_JWT` (Supabase JWT) — buyer account + audit + compliance surfaces
| Tool | Description |
|---|---|
get_buyer_account | Fetch buyer profile + masked API key list — buyer-dashboard mental model |
list_licence_orders | The buyer's licence orders and lines; with order_id, each line's Schedule document and its SHA-256 (the fingerprint recorded on Tempo). Also works with an audit-scoped OPEDD_BUYER_TOKEN |
get_audit_events | Per-event audit ledger with public-record (Tempo) inclusion proofs inline (Phase 9.x + 10 M5) |
get_compliance_dossier | Procurement-defense compliance dossier mapping retrievals to license terms (Phase 11 M4) |
**Requires OPEDD_PUB_BEARER (opedd_sk_*; legacy opedd_pub_* still works) — publisher-side**
| Tool | Description |
|---|---|
list_publisher_content | List your own articles with pricing and stats |
push_content | Push your articles to Opedd so AI buyers can license them — 1–100 per call (title/url/html_body required, everything else optional). Onboard your back-catalogue or new posts with no code, straight from your AI assistant. |
Per Opedd's platform invariants (W1.6 amendment):
npm install -g opedd-mcp
Or run directly with npx:
npx opedd-mcp
Set environment variables to pre-configure the server:
| Variable | Required | Description |
|---|---|---|
OPEDD_BUYER_TOKEN | Optional | Buyer API key (opedd_buyer_live_*; opedd_buyer_test_* for sandbox) — enables search_passages (with the search scope), get_content, list_feed + stream_feed_ndjson (with order_id) |
OPEDD_ACCESS_KEY | Optional | An order's enterprise access key (ent_*) — alternative credential for list_feed + stream_feed_ndjson |
OPEDD_BUYER_JWT | Optional | Supabase session JWT from the buyer portal — enables place_licence_order + list_licence_orders + get_buyer_account + get_audit_events + get_compliance_dossier |
OPEDD_PUB_BEARER | Optional | Publisher API key (opedd_sk_<32-hex>, canonical since 2026-08-27; older opedd_pub_<32-hex> keys keep working) — from the Opedd dashboard, Settings → Developers. Enables list_publisher_content (+ include_body) and push_content. |
OPEDD_API_KEY | Deprecated | Legacy Publisher API key (op_...) — fallback during the transition window; will stop working when opedd-backend Phase C deploys. Migrate to OPEDD_PUB_BEARER. |
OPEDD_API_URL | Optional | Override the API base URL (default: Opedd production) |
OPEDD_MCP_TELEMETRY | Optional | Set to 0 to disable anonymous usage telemetry (see below) |
Getting a Stripe payment method ID: Save a card in your Stripe account and retrieve the
pm_...ID via the Stripe API.
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:
OPEDD_MCP_TELEMETRY=0
DO_NOT_TRACK=1
When opted out, no telemetry client is created and nothing is sent.
Add to `~/Library/Application Support/Claude/claude_desktop_config.j
Only the beginning is shown; read the rest in the repo