Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
The open vocabulary of print for AI agents: terms, product envelopes, validation, fingerprint.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
适用于网页版、桌面版和手机版 Claude:
https://mcp.ptpge.org/mcp在终端中运行这条命令
claude mcp add --transport http ptpge https://mcp.ptpge.org/mcp粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"ptpge": {
"url": "https://mcp.ptpge.org/mcp"
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"ptpge": {
"type": "http",
"url": "https://mcp.ptpge.org/mcp"
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
ChatGPT 只能连接互联网上的服务器:
https://mcp.ptpge.org/mcp菜单名称可能因套餐和版本不同而略有差异。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
我们还没有读取这个服务器的工具列表;我们会轮流检查各个端点。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过域名 ptpge.org 验证(注册中心会核实域名所有权)
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
尚未检查;我们会轮流检查各个端点
尚未检查;我们会轮流检查各个端点
尚未检查;我们会在检查端点时读取工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在作者的云端运行。通过互联网连接,无需安装,但你发送的内容会经过作者的服务器。
GitHub 仓库最后更新于–,最新版本(0.36.8)于25天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
同一分类中有:Spec Driven Development, Remote Desktop Commander, Zendesk
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ 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.
Zendesk MCP Pack — tickets, users, organizations via OAuth.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
A read-only Model Context Protocol server that exposes the PTPGE specification — the open vocabulary of print — to AI agents.
The vocabulary (terms with permanent URIs, product templates, variables, schemas and registers) is published under CC BY 4.0 at https://api.ptpge.org/v1/. This server loads it, keeps it in memory, reloads when the dataset version changes, and offers it to agents as a small set of MCP tools: search a term, read a term, read a product envelope, validate a configuration, resolve a colour notation, compute and expand a configuration fingerprint (ptpge-cfs/1).
Live, open, no key: https://mcp.ptpge.org/mcp (Streamable HTTP). open.mcp.ptpge.org is an alias.
https://mcp.ptpge.org/mcpclaude mcp add ptpge --transport http https://mcp.ptpge.org/mcpThen ask, in any language: «What is a roll fold?» or «Fingerprint an A4 tri-fold brochure, 170 g silk, 4/4».
| Tool | What it does |
|---|---|
ptpge_search_terms | Free-text search over the vocabulary, tokenised and language-independent. Hits carry URI, label, level, group, kind (term · supplier · vendor · schema) and score. Deprecated terms are skipped unless asked for. |
ptpge_get_term | One term in full: definition, relations (broader / narrower / related), mappings, properties, notation. Accepts a full URI or a relative path. |
ptpge_get_version | Dataset version, term counts, licence, scheme URL, server version. |
ptpge_browse | Walk the hierarchy from a node. |
ptpge_get_product_envelope | For a product template: which variables apply, which are required for an identity, which values are allowed. |
ptpge_validate_config | Check a configuration (bindings on vocabulary URIs) against its envelope: membership, cardinality, scope, numeric bands, cross-variable rules. |
ptpge_resolve_color_notation | 4/4, 4/1, 1/0 … → ink counts per face in vocabulary terms. |
ptpge_fingerprint | Canonicalise a validated configuration and compute its ptpge-cfs/1 fingerprint (spec and offer). |
ptpge_expand_fingerprint | A fingerprint back to its configuration, from the register at ptpge.org/f/. |
Responses are plain JSON. The /playground page lets you watch an agent run the loop from a free-text order to a fingerprint, every tool call in the transcript.
| Path | Purpose |
|---|---|
POST /mcp | MCP over Streamable HTTP (also GET for the event stream, DELETE to end a session) |
GET /health, /healthz | Liveness + dataset version |
GET /playground | The Playground |
GET /sse | Retired — answers 410 with a pointer to /mcp |
python3 -m venv venv && source venv/bin/activate
pip install -r requirements.txt python -m ptpge_mcp.server # http://0.0.0.0:8000/mcp
Test with the MCP Inspector: npx @modelcontextprotocol/inspector, transport Streamable HTTP, URL http://localhost:8000/mcp.
pytest -q
| Variable | Default | Purpose |
|---|---|---|
PTPGE_API_BASE | https://api.ptpge.org/v1 | Where the vocabulary is fetched from |
PTPGE_REFRESH_SECONDS | 900 | How often to check version.json for a new dataset |
PTPGE_LOG_LEVEL | INFO | Python logging level |
PTPGE_MCP_AUTH_USERS | — | Optional Basic Auth on the server, comma-separated user:pass pairs. Leave unset for an open server. |
PTPGE_MCP_HTPASSWD | — | Optional path to an Apache htpasswd file used instead of the variable above |
PTPGE_MCP_TOKENS / _TOKENS_FILE | — | Optional per-recipient tokens (?t=), same purpose |
The public server at mcp.ptpge.org runs with none of the auth variables set.
ptpge_mcp/
├── server.py # tools, handlers, Streamable HTTP, Playground route ├── data.py # fetch, cache, index, search ├── config.py # environment-based runtime config ├── cfs_resolution.py # canonicalisation + ptpge-cfs/1 ├── fingerprint.py, fingermark.py # hash and mark ├── completeness.py # required variables / unspecified axes ├── colornotation.py # 4/4-style notation → terms ├── semantic.py # embedding search (term_embeddings.npz) ├── registerclient.py # ptpge.org/f/ register client ├── playground.py, learningpage.py, missreport.py └── _frame.py # ptpge.org site frame (generated; do not edit) tests/ passenger_wsgi.py # cPanel/Passenger entry point for the hosted instance .cpanel.yml # deploy script for the hosted instance CHANGELOG.md # semver; one entry per release
Semver for the server; the dataset has its own date version (ptpge_get_version). The fingerprint algorithm is a separate contract, ptpge-cfs/1, and does not change with server releases.
Code: Apache License 2.0. Vocabulary and data: CC BY 4.0, held by PTPGE, a non-profit association (being formed). See ptpge.org/governance.
Listed in the official MCP Registry as org.ptpge/mcp-server (server.json in this repository; published with mcp-publisher, namespace verified by a DNS record on ptpge.org).