{"_id":"@danzimon/next-best-prompt-mcp","_rev":"2-b5f574a7c2edf5d9223477396648f0e7","name":"@danzimon/next-best-prompt-mcp","dist-tags":{"latest":"0.2.1"},"versions":{"0.2.0":{"name":"@danzimon/next-best-prompt-mcp","version":"0.2.0","keywords":["mcp","model-context-protocol","claude","claude-code","claude-desktop","next-best-prompts","next_best_prompt","ai","prompt"],"author":{"name":"Dan Zimon"},"license":"MIT","_id":"@danzimon/next-best-prompt-mcp@0.2.0","maintainers":[{"name":"danzimon","email":"danzimon@gmail.com"}],"bin":{"next-best-prompt-mcp":"dist/index.js","next-best-prompt-mcp-server":"dist/index.js"},"dist":{"shasum":"9bf6225667fb9559fd6ad590e693448de126675b","tarball":"https://registry.npmjs.org/@danzimon/next-best-prompt-mcp/-/next-best-prompt-mcp-0.2.0.tgz","fileCount":16,"integrity":"sha512-sWV5X/T9ZaWBc+F5AfVDHcrp8okyx0CGSpSujN1rq1H1I8WOe7leVge5qfVDj816Qry7OPI0ufIWTsRIGVg93A==","signatures":[{"sig":"MEUCIDgq9KR49s5kevJCEqYkxu7Ijifw2Ki+dSZtG5P1gEqbAiEA7AwPgsKPah1hN/FnTb+wK7OKsM9ybAARm83mTOINyck=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41476},"type":"module","engines":{"node":">=20.9.0"},"gitHead":"7a8a18c643e32ced9f57aba3eadcf9d0458c6ce2","scripts":{"test":"npm run check-sync && npm run build && npm run smoke","build":"tsc -p tsconfig.json","embed":"node scripts/embed.mjs","smoke":"node scripts/smoke.mjs","start":"node dist/index.js","prebuild":"node scripts/embed.mjs","typecheck":"tsc -p tsconfig.json --noEmit","check-sync":"node scripts/check-sync.mjs","prepublishOnly":"node scripts/check-sync.mjs && npm run build"},"_npmUser":{"name":"danzimon","email":"danzimon@gmail.com"},"_npmVersion":"9.2.0","description":"MCP server for the next_best_prompt 'next-best-prompts' end-of-turn rule — end a substantive turn with 2-4 ranked, copy-paste-ready next moves, and skip when there's none. Pure guidance: no secrets, no network, no side-effecting tools. Install locally (st","directories":{},"_nodeVersion":"18.19.1","dependencies":{"@modelcontextprotocol/sdk":"1.13.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/next-best-prompt-mcp_0.2.0_1781971013322_0.26635291614378476","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@danzimon/next-best-prompt-mcp","version":"0.2.1","description":"MCP server for the next_best_prompt 'next-best-prompts' end-of-turn rule — end a substantive turn with 2-4 ranked, copy-paste-ready next moves, and skip when there's none. Pure guidance: no secrets, no network, no side-effecting tools. Install locally (st","type":"module","bin":{"next-best-prompt-mcp":"dist/index.js","next-best-prompt-mcp-server":"dist/index.js"},"scripts":{"embed":"node scripts/embed.mjs","check-sync":"node scripts/check-sync.mjs","prebuild":"node scripts/embed.mjs","build":"rm -rf dist && tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"node scripts/check-sync.mjs && npm run build","smoke":"node scripts/smoke.mjs","test":"npm run check-sync && npm run build && npm run smoke","start":"node dist/index.js"},"keywords":["mcp","model-context-protocol","claude","claude-code","claude-desktop","next-best-prompts","next_best_prompt","ai","prompt"],"author":{"name":"Dan Zimon"},"license":"MIT","publishConfig":{"access":"public"},"dependencies":{"@modelcontextprotocol/sdk":"1.13.0"},"devDependencies":{"@types/node":"^22.10.0","typescript":"^5.6.0"},"engines":{"node":">=20.9.0"},"gitHead":"d79e4caedcbb57ed916b815834376d42ebf3bece","_id":"@danzimon/next-best-prompt-mcp@0.2.1","_nodeVersion":"18.19.1","_npmVersion":"9.2.0","dist":{"integrity":"sha512-v3jxiepfjR5VYYeo+AJKCzhJQ4HHkfNLMfK9aOtLneMsf4wIjpwwayfkDGHY0nJ5coRlK2kKyyU5puFyKsfc3g==","shasum":"62993a6194a871e0076bf8ad2c0cfd2ad4407ec9","tarball":"https://registry.npmjs.org/@danzimon/next-best-prompt-mcp/-/next-best-prompt-mcp-0.2.1.tgz","fileCount":12,"unpackedSize":25887,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDk9wjKzqh4Jy2LEaop90eQJNRoI7rgJmyS6+4PjuPZsQIgDe4kTJzy3NjZLGwuhIehGXoKqvq5Z5767yis6B3BJIc="}]},"_npmUser":{"name":"danzimon","email":"danzimon@gmail.com"},"directories":{},"maintainers":[{"name":"danzimon","email":"danzimon@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/next-best-prompt-mcp_0.2.1_1781972258638_0.18674341195083155"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-20T15:56:53.181Z","modified":"2026-06-20T16:17:38.883Z","0.2.0":"2026-06-20T15:56:53.476Z","0.2.1":"2026-06-20T16:17:38.791Z"},"author":{"name":"Dan Zimon"},"license":"MIT","keywords":["mcp","model-context-protocol","claude","claude-code","claude-desktop","next-best-prompts","next_best_prompt","ai","prompt"],"description":"MCP server for the next_best_prompt 'next-best-prompts' end-of-turn rule — end a substantive turn with 2-4 ranked, copy-paste-ready next moves, and skip when there's none. Pure guidance: no secrets, no network, no side-effecting tools. Install locally (st","maintainers":[{"name":"danzimon","email":"danzimon@gmail.com"}],"readme":"# next_best_prompt — next-best-prompts\n\nA pointer to your best next moves. **next_best_prompt** is a tiny MCP server that carries\none rule: after a substantive turn, end your reply with a short, ranked menu of\n**next-best-prompts** — the 2–4 highest-leverage things to do next, each a\ncopy-paste-ready prompt you can trigger by replying with a single digit — and\n**skip entirely when there's no high-value next move.**\n\nPure guidance: **no secrets, no network calls, no side-effecting tools.** Safe to\ninstall anywhere, against any project or chat.\n\n## One rule, two transports\n\nThe rule lives in [`rule/next-best-prompt.md`](rule/next-best-prompt.md) (single source of truth)\nand is code-generated into a shared module that both transports import:\n\n- **stdio** (`src/`) — published to npm as `@danzimon/next-best-prompt-mcp`. For local\n  clients: **Claude Code** and **Claude Desktop** (local install).\n- **HTTP** (`remote/`, Next.js + [`mcp-handler`](https://www.npmjs.com/package/mcp-handler))\n  — deployed to Vercel as a remote connector. For **Claude.ai web + mobile** and\n  any client that takes a hosted MCP URL.\n\nBoth expose identical surfaces: the `instructions` field, a `next_best_prompt` prompt, and\na `get_next_best_prompts_rule` tool.\n\n## Install\n\n### Claude Code\n\n```bash\nclaude mcp add next_best_prompt -- npx -y @danzimon/next-best-prompt-mcp\n```\n\nClaude Code auto-injects the server `instructions`, so the rule applies every\nturn automatically. (Optional belt-and-suspenders: also wire the SessionStart\nhook in [`hook/sessionstart-next-best-prompt.sh`](hook/sessionstart-next-best-prompt.sh).)\n\n### Claude Desktop\n\nEither point it at the local stdio server…\n\n```jsonc\n// claude_desktop_config.json\n{ \"mcpServers\": { \"next_best_prompt\": { \"command\": \"npx\", \"args\": [\"-y\", \"@danzimon/next-best-prompt-mcp\"] } } }\n```\n\n…or use the hosted endpoint as a remote connector (see below). Fully quit and\nrelaunch Desktop after editing the config.\n\n### Claude.ai web + mobile (hosted connector)\n\nMobile can't run a local server — use the hosted endpoint. On **claude.ai**\n(web): **Settings → Connectors → Add custom connector**, URL:\n\n```\nhttps://next-best-prompt-mcp-remote.vercel.app/api/mcp\n```\n\nIt's account-scoped, so it appears in the **mobile app** automatically. Requires\na plan that supports custom connectors (Pro / Max / Team / Enterprise).\n\n### Self-host the hosted endpoint\n\n```bash\ncd remote\nnpm install\nnpm run dev        # local\n# or deploy remote/ to Vercel; the MCP endpoint is /api/mcp\n```\n\n## Always-on everywhere\n\nOnly **Claude Code** auto-fires the rule every turn. On Desktop, web, and mobile,\nnext_best_prompt is available as an on-demand prompt/tool — for automatic every-turn\nbehavior, paste the condensed rule into your account preferences or a project's\ncustom instructions. See [`ALWAYS-ON.md`](ALWAYS-ON.md).\n\n## Development\n\n```bash\nnpm install\nnpm run embed        # rule/next-best-prompt.md + shared/next-best-prompt.template.ts -> generated modules\nnpm run check-sync   # fail if the generated copies drifted from source\nnpm run build        # tsc -> dist/ (prebuild runs embed)\n```\n\nEdit the rule in `rule/next-best-prompt.md` or the prompt/tool wiring in\n`shared/next-best-prompt.template.ts`, then `npm run embed`. `check-sync` (run on\n`prepublishOnly`) guarantees the stdio and HTTP builds never drift.\n\n## License\n\n[MIT](LICENSE) © 2026 Dan Zimon\n","readmeFilename":"README.md"}