{"_id":"@danzimon/compass-mcp","name":"@danzimon/compass-mcp","dist-tags":{"latest":"0.2.0"},"versions":{"0.2.0":{"name":"@danzimon/compass-mcp","version":"0.2.0","description":"MCP server for the compass '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 (stdio) for ","type":"module","bin":{"compass-mcp":"dist/index.js","compass-mcp-server":"dist/index.js"},"scripts":{"embed":"node scripts/embed.mjs","check-sync":"node scripts/check-sync.mjs","prebuild":"node scripts/embed.mjs","build":"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","compass","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":"0189b96f8a61b217bdb199a171cfbc4cbb15213f","_id":"@danzimon/compass-mcp@0.2.0","_nodeVersion":"24.15.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-rJetsBtLlysMK5weBeJomSDNODQEQza5vUH7BRtS/DoPXHozP2Qy7maYuFChylSdgA1ptz5gsjoYbm1fSkCZFA==","shasum":"32fd931f6040b0e3200f17df4a1794d7feb5f437","tarball":"https://registry.npmjs.org/@danzimon/compass-mcp/-/compass-mcp-0.2.0.tgz","fileCount":12,"unpackedSize":18766,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIE+3erE4pbagcbWfmTfB9lD324byLuO1OENKvFigtuywAiEAnc73hIpUytF1Ay3Kidx4Syf71I+Ipzt1GxlyjlIqAiY="}]},"_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/compass-mcp_0.2.0_1780067208270_0.6161252539855968"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-29T15:06:48.122Z","0.2.0":"2026-05-29T15:06:48.421Z","modified":"2026-05-29T15:06:48.632Z"},"maintainers":[{"name":"danzimon","email":"danzimon@gmail.com"}],"description":"MCP server for the compass '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 (stdio) for ","keywords":["mcp","model-context-protocol","claude","claude-code","claude-desktop","next-best-prompts","compass","ai","prompt"],"author":{"name":"Dan Zimon"},"license":"MIT","readme":"# compass\n\nA pointer to your best next moves. **compass** 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/compass.md`](rule/compass.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/compass-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 `compass` prompt, and\na `get_next_best_prompts_rule` tool.\n\n## Install\n\n### Claude Code\n\n```bash\nclaude mcp add compass -- npx -y @danzimon/compass-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-compass.sh`](hook/sessionstart-compass.sh).)\n\n### Claude Desktop\n\nEither point it at the local stdio server…\n\n```jsonc\n// claude_desktop_config.json\n{ \"mcpServers\": { \"compass\": { \"command\": \"npx\", \"args\": [\"-y\", \"@danzimon/compass-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://compass-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,\ncompass 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/compass.md + shared/compass.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/compass.md` or the prompt/tool wiring in\n`shared/compass.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","_rev":"1-64c2fda919ae1a10b08694fcf74247cf"}