Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Content licensing for the AI era: licensed, rights-cleared content for AI agents.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
OPEDD_BUYER_TOKEN, OPEDD_ACCESS_KEY, OPEDD_BUYER_JWT, OPEDD_PUB_BEARER, Authorization标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 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"
}
}
}
}在终端中运行这条命令
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-mcp运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"opedd": {
"url": "https://mcp.opedd.com/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}粘贴到项目中的 .cursor/mcp.json,或 ~/.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"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"opedd": {
"type": "http",
"url": "https://mcp.opedd.com/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}粘贴到项目中的 .vscode/mcp.json
{
"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"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。
你的选择通过 Cookie 保存在这台设备上,无需账户。
Authorization 机密 HTTP header这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
工具名称和描述与服务器在 2026年11月6日 报告的完全一致。这些内容由作者撰写,不是我们写的;我们以纯文本形式显示。
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
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月6日
注册名称已通过域名 opedd.com 验证(注册中心会核实域名所有权)
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
在 458 毫秒内响应(HTTP 200)
无需登录
已读取 16 个工具描述,未发现针对 AI 的隐藏指令
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 3 项适用的基础检查中通过了 3 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:OPEDD_BUYER_TOKEN, OPEDD_ACCESS_KEY, OPEDD_BUYER_JWT, OPEDD_PUB_BEARER, Authorization
两种方式都可以:安装在你的电脑上,或者连接云端版本。
GitHub 仓库最后更新于–,最新版本(0.12.15)于3天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
同一分类中有:Spec Driven Development, Remote Desktop Commander, topo^alpin
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
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.
Avalanche bulletins and mountain weather forecasts for any place in the Alps.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
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
只显示了开头部分;其余内容请在仓库中阅读