@prompty-tools/mcp
v0.2.0
Published
Model Context Protocol (MCP) server for the prompty.tools platform - search, fetch, create, and version prompts from your AI client.
Readme
@prompty-tools/mcp
Model Context Protocol (MCP) server for prompty.tools. Search, fetch, create, and version your prompts from any MCP-aware AI client - Claude Desktop, Claude Code, Cursor, and others.
Documentation: https://mcp.prompty.tools
Quick start
- Create an API key at https://www.prompty.tools/dashboard/api-keys. Keys start with
pk_and can only be created in the dashboard. - Register the server with your client:
# Claude Code
claude mcp add prompty -e PROMPTY_API_KEY=pk_... -- npx -y @prompty-tools/mcp{
"mcpServers": {
"prompty": {
"command": "npx",
"args": ["-y", "@prompty-tools/mcp"],
"env": { "PROMPTY_API_KEY": "pk_..." }
}
}
}- Ask your assistant: "Search prompty for public prompts about code review."
What it does
On prompty.tools, a prompt is assembled from a task plus reusable building blocks - personas (versioned), tones, outputs, constraints - referenced by ID. The platform compiles the final prompt text server-side. This server exposes 50 tools across nine resources:
| Resource | Tools |
| --- | --- |
| Prompts | search_prompts, get_prompt, list_prompt_versions, get_prompt_version, create_prompt, update_prompt, set_prompt_visibility |
| Personas | search_personas, get_persona, list_persona_versions, get_persona_version, create_persona, update_persona, set_persona_visibility |
| Tones | search_tones, get_tone, create_tone, update_tone |
| Outputs | search_outputs, get_output, create_output, update_output |
| Constraints | search_constraints, get_constraint, create_constraint, update_constraint |
| Libraries | search_libraries, get_library, list_library_prompts, create_library, update_library, add_prompt_to_library, remove_prompt_from_library |
| Tone Collections | search_tone_collections, get_tone_collection, create_tone_collection, update_tone_collection, set_tone_collection_items |
| Constraint Collections | search_constraint_collections, get_constraint_collection, create_constraint_collection, update_constraint_collection, set_constraint_collection_items |
| Queues | search_queues, create_queue, list_queue_items, add_prompt_to_queue, dequeue_queue, mark_queue_item, remove_queue_item |
Full input schemas per tool: https://mcp.prompty.tools
Deliberate omissions:
- No delete tools. Deletion stays in the dashboard; an assistant cannot destroy data through this server.
- Explicit visibility. Every create tool requires
isPublic- nothing is published (or hidden) by a silent default.
Configuration
| Environment variable | Required | Default | Purpose |
| --- | --- | --- | --- |
| PROMPTY_API_KEY | yes | - | Bearer key (pk_...) from the dashboard. |
| PROMPTY_BASE_URL | no | https://www.prompty.tools/api/v1 | Override for local development. |
| PROMPTY_TIMEOUT_MS | no | 30000 | Per-request HTTP timeout in milliseconds. |
Rate limits
Every tool call is one API request. Daily quotas: free 20, pro 1,000, teams 10,000 requests, plus 30 requests/minute per action. On HTTP 429 the tool error reports the quota and any Retry-After; the server never retries automatically. The free tier is sufficient to try the server, not for regular agentic use.
Troubleshooting
PROMPTY_API_KEY is required- the environment variable is missing from your client's MCP config.PromptyAuthError (HTTP 401)- the key is invalid or revoked; create a new one in the dashboard.PromptyNotFoundError (HTTP 404)when creating a prompt - a referenced building-block ID does not exist or is not accessible to your account. Note that prompts reference a persona version id (personaVersionId), not the persona id.PromptyRateLimitError (HTTP 429)- daily quota or per-minute limit reached; see the tier table above.
Development
npm ci
npm test # unit + tool tests (100% coverage enforced)
npm run lint && npm run typecheck
npm run build
npm run docs:serve # docs site with generated tool reference at :4173
PROMPTY_TEST_API_KEY=pk_... npm run test:integration # live API round-trip (~12 requests)This package is a thin adapter over @prompty-tools/core, the typed TypeScript client for the same API.
License
MIT - prompty.tools
