{"_id":"@ai3stack/prompts-mcp","name":"@ai3stack/prompts-mcp","dist-tags":{"latest":"0.2.0"},"versions":{"0.2.0":{"name":"@ai3stack/prompts-mcp","version":"0.2.0","description":"MCP server exposing 930+ structured, expert-curated English AI prompts from the AI³ Prompt Dictionary. Plug into Claude, ChatGPT, Gemini, Copilot, Cursor, Cline, and any MCP-capable AI client.","type":"module","main":"dist/index.js","bin":{"ai3-prompts-mcp":"dist/index.js"},"exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"}},"types":"dist/index.d.ts","scripts":{"build":"tsc","postbuild":"node -e \"const{chmodSync}=require('fs');try{chmodSync('dist/index.js',0o755)}catch{}\"","dev":"tsx src/index.ts","sync-data":"tsx scripts/sync-data.ts","inspect":"npx -y @modelcontextprotocol/inspector node dist/index.js","smoke-test":"tsx scripts/smoke-test.ts","test":"vitest run","test:watch":"vitest","lint":"eslint src/","format":"prettier --write \"src/**/*.ts\"","format:check":"prettier --check \"src/**/*.ts\"","prepublishOnly":"node -e \"console.log('[prepublishOnly] using committed data/*.json as source of truth; run \\'npm run sync-data\\' manually against upstream content before publishing if data changed')\" && npm run build"},"dependencies":{"@modelcontextprotocol/sdk":"^1.0.0","zod":"^3.23.0"},"devDependencies":{"@eslint/js":"^10.0.1","@types/node":"^20.11.0","@typescript-eslint/eslint-plugin":"^8.59.1","@typescript-eslint/parser":"^8.59.1","eslint":"^10.2.1","eslint-config-prettier":"^10.1.8","globals":"^17.5.0","prettier":"^3.8.3","tsx":"^4.7.0","typescript":"^5.4.0","vitest":"^4.1.5"},"engines":{"node":">=18"},"keywords":["mcp","model-context-protocol","prompts","prompt-library","ai","claude","claude-desktop","chatgpt","cursor","cline","ai3","prompt-engineering"],"license":"MIT","author":{"name":"AI³ Prompt Dictionary contributors"},"publishConfig":{"access":"public"},"homepage":"https://ai3stack.com","bugs":{"email":"ai3@ai3stack.com"},"repository":{"type":"git","url":"git+https://github.com/ai3stack/ai-prompt-dictionary.git","directory":"mcp-server"},"_id":"@ai3stack/prompts-mcp@0.2.0","gitHead":"d5345c2bb38f11d6aa1eb33e8edcf915a9f7c6a7","_nodeVersion":"22.22.2","_npmVersion":"10.9.7","dist":{"integrity":"sha512-/KuMla14GE7+LV3dgQCJa4wka/esFecnoFzDXUXMbkBD6D5Dx6L1TAS4XLiurNRmrSMlJUkrfIlhN1xJEqsyuw==","shasum":"85a63668be4c966bd68db860e87cd60284e10784","tarball":"https://registry.npmjs.org/@ai3stack/prompts-mcp/-/prompts-mcp-0.2.0.tgz","fileCount":25,"unpackedSize":696598,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCPW5bZBgqxPl9cfUUie0LIL10Ih6PbGipl1A+1ygbWQAIgSeFu6rebK8iaggbKhL6LFIUbojOijnxXQ5YIgTFaIOM="}]},"_npmUser":{"name":"ai3stack","email":"ai3@ai3stack.com"},"directories":{},"maintainers":[{"name":"ai3stack","email":"ai3@ai3stack.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/prompts-mcp_0.2.0_1780792543782_0.4602153584723341"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-07T00:35:43.601Z","0.2.0":"2026-06-07T00:35:43.991Z","modified":"2026-06-07T00:35:44.159Z"},"maintainers":[{"name":"ai3stack","email":"ai3@ai3stack.com"}],"description":"MCP server exposing 930+ structured, expert-curated English AI prompts from the AI³ Prompt Dictionary. Plug into Claude, ChatGPT, Gemini, Copilot, Cursor, Cline, and any MCP-capable AI client.","homepage":"https://ai3stack.com","keywords":["mcp","model-context-protocol","prompts","prompt-library","ai","claude","claude-desktop","chatgpt","cursor","cline","ai3","prompt-engineering"],"repository":{"type":"git","url":"git+https://github.com/ai3stack/ai-prompt-dictionary.git","directory":"mcp-server"},"author":{"name":"AI³ Prompt Dictionary contributors"},"bugs":{"email":"ai3@ai3stack.com"},"license":"MIT","readme":"# @ai3stack/prompts-mcp\n\n> Plug **930+ expert-curated English AI prompts** into Claude, ChatGPT, Gemini, Copilot/VS Code, Cursor, Cline, and any MCP-capable AI client. Ask your AI for help with a task — it picks the right prompt automatically.\n\n[![npm](https://img.shields.io/npm/v/@ai3stack/prompts-mcp)](https://www.npmjs.com/package/@ai3stack/prompts-mcp)\n[![License: MIT](https://img.shields.io/badge/license-MIT-blue)](LICENSE)\n[![MCP](https://img.shields.io/badge/MCP-compatible-purple)](https://modelcontextprotocol.io)\n[![Prompts](https://img.shields.io/badge/prompts-930%2B-brightgreen)]()\n\n## What you get\n\nStop writing prompts from scratch. After you install this in 30 seconds, your AI client can do this:\n\n> **You**: Help me write a weekly report.\n>\n> **Claude/ChatGPT** _(silently calls `find_prompt_for_task(\"weekly report\")`, picks AI³-00001 \"Weekly Report\" by Intel OKR designer, applies the structured framework)_: Here's a structured weekly report for you...\n\nNo more \"what was that good prompt I saw last week\" — your AI just uses the right one.\n\n## Quick Start (30 seconds)\n\n### Claude Desktop\n\n1. Open `~/Library/Application Support/Claude/claude_desktop_config.json` (Mac) or `%APPDATA%\\Claude\\claude_desktop_config.json` (Windows)\n2. Add this:\n   ```json\n   {\n     \"mcpServers\": {\n       \"ai3-prompts\": {\n         \"command\": \"npx\",\n         \"args\": [\"-y\", \"@ai3stack/prompts-mcp\"]\n       }\n     }\n   }\n   ```\n3. Restart Claude Desktop\n4. Ask Claude any work task — it'll pull from AI³\n\nThat's it. No install, no account, no API key. `npx -y` handles everything.\n\n### Other clients\n\nThe same `npx -y @ai3stack/prompts-mcp` stdio config works across the major MCP ecosystem. Per-client config-file locations and formats differ — each has a 30-second setup doc in [docs/client-configs/](docs/client-configs/).\n\n**First-party AI families**\n\n| Family | Client | Doc |\n|---|---|---|\n| Anthropic Claude | Claude Desktop | [claude-desktop.md](docs/client-configs/claude-desktop.md) |\n| OpenAI ChatGPT | ChatGPT (desktop / connectors) | [chatgpt.md](docs/client-configs/chatgpt.md) |\n| Google Gemini | Gemini CLI | [gemini-cli.md](docs/client-configs/gemini-cli.md) |\n| Microsoft Copilot | VS Code Copilot Chat | [vscode.md](docs/client-configs/vscode.md) |\n\n**Editors & tools**\n\n| Client | Doc |\n|---|---|\n| Cursor | [cursor.md](docs/client-configs/cursor.md) |\n| Cline | [cline.md](docs/client-configs/cline.md) |\n| Windsurf | [windsurf.md](docs/client-configs/windsurf.md) |\n| Zed | [zed.md](docs/client-configs/zed.md) |\n| Continue.dev | [continue.md](docs/client-configs/continue.md) |\n| Cherry Studio | [cherry-studio.md](docs/client-configs/cherry-studio.md) |\n\n### SSE Transport (remote / web deployments)\n\nFor web-based clients or remote deployments, run with SSE transport:\n\n```bash\nMCP_TRANSPORT=sse MCP_PORT=3001 npx @ai3stack/prompts-mcp\n```\n\nThen connect your client to `http://localhost:3001/sse`.\n\n#### Remote / SSE deployment security\n\nThe SSE transport is reachable over the network, so it is gated by two environment\nvariables:\n\n| Env var | Effect |\n| --- | --- |\n| `MCP_AUTH_TOKEN` | When set, every `GET /sse` and `POST /messages` request must send `Authorization: Bearer <token>`. Missing/incorrect tokens get `401`. Comparison is constant-time. |\n| `MCP_READONLY` | Set to `1` to force read-only mode: the write tools (`add_custom_prompt`, `remove_custom_prompt`, `add_bookmark`, `remove_bookmark`) are not advertised or callable. |\n\nRead-only mode is **automatically enabled** when running SSE without `MCP_AUTH_TOKEN`,\nso an unauthenticated public endpoint can never expose write tools. On startup the\nserver logs its security posture (auth on/off, readonly on/off) to stderr and warns\nwhen it is running unauthenticated read-only.\n\nRecommended for any non-localhost deployment:\n\n```bash\nMCP_TRANSPORT=sse MCP_PORT=3001 MCP_AUTH_TOKEN=\"$(openssl rand -hex 32)\" npx @ai3stack/prompts-mcp\n```\n\nThe stdio transport is local and trusted, so it is unaffected by these variables\n(write tools stay available unless you explicitly set `MCP_READONLY=1`).\n\n## What it does\n\nThis MCP server exposes **11 tools** to your AI client:\n\n| Tool | Purpose |\n|---|---|\n| `find_prompt_for_task` | Natural-language task → top 5 matching prompts |\n| `search_prompts` | Filter by keyword / category / role |\n| `get_prompt` | Retrieve a specific prompt's full content |\n| `list_categories` | Browse all 47 categories across 4 sections |\n| `random_prompt` | Get a random prompt suggestion (with optional filters) |\n| `get_stats` | Catalog statistics: total counts, section breakdown |\n| `add_custom_prompt` | Add your own prompt to the local overlay |\n| `remove_custom_prompt` | Remove a custom prompt from the overlay |\n| `add_bookmark` | Save a prompt to your local favorites |\n| `remove_bookmark` | Remove a bookmark |\n| `list_bookmarks` | List your saved prompts (stored locally, never synced) |\n\nThe AI calls these automatically based on what you ask. You don't see the tool names — you just get better answers.\n\n## What's in the catalog\n\n930+ prompts from the [AI³ Prompt Dictionary](https://ai3stack.com), every prompt is:\n\n- **Structured** — not free text. Each has `role`, `task`, `framework`, `style`, output format\n- **English** — every prompt is written in English\n- **Classified** — 4 sections × 47 categories × 10 types\n- **Versioned** — quality tier per prompt (`draft` / `community-reviewed` / `expert-reviewed`)\n\nCategories span: weekly/monthly reports, OKR planning, market analysis, contract review, code review, lesson plans, travel itineraries, customer service routing, public communications, and 40 more.\n\n## Custom Prompts\n\nAdd your own prompts that appear alongside the built-in catalog. Tell your AI \"create a custom prompt for X\" and it will call `add_custom_prompt`. Custom prompts are stored locally at `~/.config/ai3-prompts-mcp/custom-prompts.json` (or `%APPDATA%` on Windows).\n\n## Privacy\n\n- ✅ **Zero telemetry** — no tracking, no analytics, no phone-home\n- ✅ **Zero network calls** in stdio mode — data is bundled into the package\n- ✅ **Bookmarks stored locally** at `~/.local/share/ai3-prompts-mcp/bookmarks.json` (or `%APPDATA%` on Windows), never synced anywhere\n- ✅ **Custom prompts stored locally** at `~/.config/ai3-prompts-mcp/custom-prompts.json`, never synced anywhere\n- ✅ **MIT licensed** — fork it, audit it, ship it commercially\n\n## Bookmarks\n\nTell your AI \"I really like this one, save it\" and the AI will call `add_bookmark`. Your bookmarks live as a JSON file on **your machine only**. Move computers? Copy the file.\n\n## Updating\n\nPrompts get updated monthly. `npx -y @ai3stack/prompts-mcp` always runs the latest version on cold start. To force-pin a version:\n\n```json\n\"args\": [\"-y\", \"@ai3stack/prompts-mcp@0.2.0\"]\n```\n\n## Development\n\n```bash\n# from the project root\nnpm install\nnpm run sync-data    # pull latest from upstream ai-prompt-dictionary\nnpm run build\nnpm test             # run test suite\nnpm run lint         # check code quality\nnpm run inspect      # opens MCP Inspector (official debug UI)\n```\n\nFor local testing in Claude Desktop, point the config at your local build:\n\n```json\n{\n  \"mcpServers\": {\n    \"ai3-prompts\": {\n      \"command\": \"node\",\n      \"args\": [\"/absolute/path/to/mcp-server/dist/index.js\"]\n    }\n  }\n}\n```\n\n## Architecture\n\n```\nYour AI client (Claude Desktop / Cursor / Cline / ...)\n              │  stdio or SSE + JSON-RPC (MCP protocol)\n              ▼\n    ai3-prompts-mcp (this Node.js server)\n              │\n              ├── Bundled JSON  (930 English prompts, ~650KB)\n              └── Local overlay  (user custom prompts, ~/.config/...)\n```\n\nNo database, no external server. Single Node process, runs as child process of your AI client (stdio) or as standalone HTTP server (SSE). SSE deployments support Bearer-token auth and read-only mode (see [Remote / SSE deployment security](#remote--sse-deployment-security)).\n\n## Project status\n\n**v0.2** — current release. Working features:\n- ✅ All 11 tools functional\n- ✅ English keyword search (BM25 ranking)\n- ✅ Bookmarks with local persistence\n- ✅ stdio transport (default)\n- ✅ SSE transport (for remote / web deployments)\n- ✅ Custom prompt overlays\n- ✅ Random prompt discovery\n- ✅ Catalog statistics\n- ✅ Full test suite (Vitest)\n- ✅ CI pipeline (build + test + lint)\n\nComing in v1.0:\n- Full English prompt pass to `expert-reviewed` quality\n- Registry listings (official MCP registry, mcp.so, Smithery, Glama)\n\n## Related\n\n- **AI³ Prompt Dictionary**: [ai3stack.com](https://ai3stack.com) (the dictionary and web UI)\n- **MCP protocol**: [modelcontextprotocol.io](https://modelcontextprotocol.io)\n\n## Contributing\n\nThis server is a thin wrapper over the AI³ Prompt Dictionary catalog. **Most contributions belong upstream** in the dictionary — adding prompts, fixing schema, improving quality.\n\nFor server-specific changes (new tool, transport, bug fix), open an issue first.\n\n## License\n\nMIT. Use it however you want.\n","readmeFilename":"README.md","_rev":"1-bfadb8c9aeceae9ec8642e8196e0f8ea"}