Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Find, install and assemble reusable software builds for coding 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.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"pkg": {
"command": "npx",
"args": [
"-y",
"@tneemo/pkg",
"mcp"
]
}
}
}Run this in your terminal
claude mcp add pkg -- npx -y @tneemo/pkg mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"pkg": {
"command": "npx",
"args": [
"-y",
"@tneemo/pkg",
"mcp"
]
}
}
}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": {
"pkg": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@tneemo/pkg",
"mcp"
]
}
}
}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 one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
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 with the GitHub account tneemo, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 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.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.1.0) reached the registry 18 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, AI Deprecations
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.
AI model shutdown dates, replacements, change feed and webhook alerts for 8 providers.
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.
An open, agent-first marketplace for reusable software, at pkg.tneemo.com.
People publish free, reusable builds: small modules, integrations and complete project foundations, in any stack. A coding agent takes the idea and preferred stack from the conversation, finds compatible builds, installs and assembles them, and writes only what's missing. The agent spends tokens discovering software, not regenerating it.
# Connect your agent once (Claude Code, Cursor, Codex, Windsurf, Gemini CLI)
npx -y @tneemo/pkg setup
claude mcp add pkg -- npx -y @tneemo/pkg mcp
Then ask your agent for what you want to build. No spec files and no accounts.
Node.js 20+ is required. npm install -g @tneemo/pkg installs both pkg and tpkg, pointing to the same CLI. The legacy Vercel pkg package also installs a global pkg executable. These names collide in a shared npm global prefix; installing both may fail with EEXIST or leave pkg pointing to the other tool. tpkg identifies this CLI once it is installed, but does not prevent the installation collision because both aliases are shipped.
For coexistence, avoid the global install and run an explicit package command:
npm exec --yes --package=@tneemo/pkg -- tpkg setup
npm exec --yes --package=@tneemo/pkg -- tpkg mcp
If you no longer need Vercel's tool, uninstall the unscoped pkg package before installing @tneemo/pkg globally. Do not use --force to overwrite its executable.
The official MCP Registry entry is io.github.tneemo/pkg. Maintainers: see public distribution and releases.
Asked for *"a TypeScript REST API for a todo app where users sign up, log in and only see their own todos"*, the agent:
rest api, user accounts, database) with the stack it inferred;tneemo/hono-api tneemo/hono-auth tneemo/hono-rate-limit in one call. tneemo/sqlite-db is pulled in as a dependency and the stack is checked. After reviewing the dry-run plan, dependency installation is explicitly enabled with --install-deps, then the assembled tests run before adding application code;src/app.ts), writes the todo routes, migration and tests (3 files, 113 lines);--worked for each build, which feeds the builds' reputation.pkg supplied 23 of the 26 files and 519 lines; the agent wrote 3 files. This exact run is reproducible with the steps in Development.
| Interface | Command | Best for |
|---|---|---|
| MCP server | npx -y @tneemo/pkg mcp | Claude Code, Cursor, Codex, any MCP client. Server instructions tell the agent to check pkg before writing common code. |
| CLI | npx -y @tneemo/pkg --json | Any agent with a shell. |
| Agent Skill | skill/pkg/SKILL.md | Skill-aware agents; installed by pkg setup. |
| HTTP API | /llms.txt | Direct integrations; agents that only fetch URLs. |
MCP tools: search_builds, get_build, install_builds, update_builds, remove_builds, detect_stack, report_outcome, publish_build.
CLI: search, info, detect, add, update, remove, list, init, publish, feedback, mcp, setup.
agent ──MCP/CLI──▶ pkg CLI ──HTTPS──▶ registry (Cloudflare Worker)
│ ├─ D1: metadata, FTS5 search, versions, feedback │ └─ R2: immutable gzipped bundles ├─ detects the project's stack from files on disk ├─ resolves build dependencies (registry) and checks compatibility (locally) ├─ verifies sha256 integrity, rejects unsafe paths ├─ writes files, merges package.json / requirements / .env.example ├─ runs npm/pnpm/yarn/bun or a Python venv + pip └─ writes pkg.lock.json (versions, integrity, per-file hashes)
node, typescript, hono, nextjs, fastapi, …, plus every dependency as npm: / pip: ) with semver ranges. Builds declare stack.requires and stack.provides, so a module that needs hono is matched with a foundation that provides it, inside a single install.pkg update moves builds to the newest version within their major (--latest for new majors) and replaces only files whose sha256 still matches pkg.lock.json; edited files are left untouched and reported as conflicts. pkg remove deletes only unedited files, refuses while another installed build depends on the one being removed, and lists packages no build needs any more without uninstalling them.INTEGRATION.md notes, which agents follow reliably.pkg init (writes pkg.json by detecting the stack, imported packages, the folder's place in the project and imports of other installed builds) and pkg publish. Identity is your GitHub login (gh auth token / GITHUB_TOKEN); builds are named / . pkg has no accounts..git/node_modules paths, secrets and private keys, .env files, invalid manifests, npm/PyPI dependencies that don't exist (dependency confusion), oversized bundles. Shown to every installer as warnings: npm install scripts, pipe-to-shell, evaluating decoded data, hard-coded IPs, minified code, prompt injection aimed at agents, and files that configure agents or editors (.claude/, .mcp.json, AGENTS.md in modules, .vscode/tasks.json, CI workflows).--dry-run first, then explicitly use --install-deps to run npm with --ignore-scripts or pip with --only-binary=:all:. Registry checks are warnings, not a sandbox. Bundles are integrity-checked, every path is re-validated client-side, and existing files are never overwritten without --force (files pkg installed and nobody edited can be updated in place).success / failure / report after integrating a build; votes are deduplicated per day by salted IP hash. Search ranks by relevance (BM25), stack fit, agent-reported success rate (Bayesian) and quality score; flagged builds are demoted. Raw downloads carry no ranking weight.| Existing solution | What pkg takes from it |
|---|---|
| shadcn registry | Source-copy distribution, JSON item with embedded files. Every npm build is also served as a shadcn registry item at /r/ / .json, so projects already set up for shadcn (with a components.json) can npx shadcn add it. |
| Go modules, JSR, GitHub | Namespaces from an existing identity instead of new accounts. |
| npm / PyPI trusted publishing | Publish with a GitHub token, no registry passwords. |
npm, PyPI, package.json engines, PEP 508/440 | Dependencies, version ranges and runtime requirements use the native formats and package managers. |
| Model Context Protocol | Official TypeScript SDK; server instructions make discovery part of the agent's normal workflow. |
Agent Skills, llms.txt, AGENTS.md | Agent-readable entry points; foundations ship an AGENTS.md with their conventions. |
| SQLite FTS5 on Cloudflare D1 | Full-text search with no search service to run. |
Template tools (create-*, degit, cookiecutter, copier) solve starting a project. Component registries (shadcn, Bit) mostly cover one stack, and MCP and skill registries distribute tools rather than application code. pkg combines composable foundations and modules across stacks with agent-native discovery and integration.
One Cloudflare Worker with D1 and R2. The free tier covers 100k requests/day, 5 GB of D1 and 10 GB of R2 with free egress. There are no servers, queues or search clusters, and bundles are immutable and cacheable. The CLI is a single dependency-free file.
Requires Node.js 22.12+ (24 recommended) and, for the Python builds, Python 3.10+.
npm install
npm run build # bundles cli/dist/pkg.js echo "ADMIN_TOKEN=dev-admin-token" > registry/.dev.vars npm run dev # registry on http://localhost:8787 (local D1 + R2)
PKG_REGISTRY=http://127.0.0.1:8787 PKG_TOKEN=dev-admin-token npm run seed PKG_REGISTRY=http://127.0.0.1:8787 node cli/dist/pkg.js search "user accounts" --stack typescript,hono PKG_REGISTRY=http://127.0.0.1:8787 node cli/dist/pkg.js add tneemo/hono-api tneemo/hono-auth --dir /tmp/my-api
PKG_REGISTRY=http://127.0.0.1:8787 npm test # unit tests + MCP end-to-end test npm run typecheck
To point an agent at the local registry, use node /cli/dist/pkg.js mcp as the MCP command with PKG_REGISTRY=http://127.0.0.1:8787 in its environment.
examples/agent-demo/ contains only an .mcp.json that connects the local CLI and registry. With the registry running and seeded, start Claude Code in that folder (approve the pkg MCP server if asked) and ask, without mentioning pkg:
Build a small TypeScript REST API for a todo list app. Users sign up and log in, and each user only sees their own todos. Make sure the tests pass.
The agent learns about pkg only from the MCP server's instructions and tools.
cd registry
npx wrangler login npx wrangler d1 create pkg # put the printed database_id in wrangler.jsonc npx wrangler r2 bucket create pkg-bundles npx wrangler secret put ADMIN_TOKEN # for seeding and moderation npx wrangler secret put IP_SALT # any random string npm run deploy # applies migrations, deploys, binds pkg.tneemo.com cd .. && PKG_TOKEN= npm run seed
The npm package and MCP Registry metadata use the separate, manually confirmed distribution workflows.
cli/ @tneemo/pkg: CLI + MCP server (bundled with esbuild into one file)
registry/ Cloudflare Worker: JSON API, website, llms.txt, shadcn endpoint; D1 migrations shared/ manifest format, compatibility engine and security checks (used by both) builds/ example builds: hono-api, sqlite-db, hono-auth, hono-rate-limit, fastapi-service, fastapi-api-key skill/ Agent Skill (SKILL.md) test/ unit tests and the MCP end-to-end test
GITHUB_TOKEN already works).Only the beginning is shown; read the rest in the repo