PromptCraft MCP Server
Connect the public PromptCraft catalog to Claude Code, Cursor or another MCP client. Choose a configuration scope, then check the connection.
1. Add it in your project
Run this from the project where you need the prompt library. Local scope is private to you in that project. Public queries require no login or API key.
claude mcp add --transport http --scope local promptcraft https://prompt.luvai.net/api/mcp
2. Check the connection
Run the check command. Connected confirms an MCP connection. In a Claude Code conversation, open /mcp to inspect the tools.
claude mcp get promptcraft
Share the configuration with your team
Project scope writes .mcp.json in the project root so you can share it through version control.
claude mcp add --transport http --scope project promptcraft https://prompt.luvai.net/api/mcp
When approval is pending
A shared project configuration may initially show Pending approval. Start claude in that project, review and approve this server, then run the check command again. Connection checks begin after approval.
Claude Code .mcp.json format
{
"mcpServers": {
"promptcraft": {
"type": "http",
"url": "https://prompt.luvai.net/api/mcp"
}
}
}Read-only tools
list_prompt_toolsRead effective tool keys, public counts and localized links. Counts use library rules and may overlap. Use query/category/lang, limit 1–25 and offset/next_offset. Not version or generation acceptance.
list_model_referencesRead sourced model references, review dates and documented, retired, deprecated or unverified states. Read-only; no provider call. Use query/category/lang and limit 1–25/offset.
search_newslettersSearch published issue titles literally (not HTML bodies), with full total, limit 1–25 and offset/next_offset. lang selects the source UI URL only; stored titles are unchanged. No email, subscription or AI actions.
get_newsletterUse the returned literal slug to read complete published HTML, stored dates and the source URL. content_format=html; no body translation, recipient fields, delivery states or private issues.
search_tutorialsSearch stored public tutorial titles, summaries and Markdown literally. Use limit 1–25 and offset/next_offset for every match. Content stays Traditional Chinese; no lang option or AI generation.
get_tutorialUse a returned slug to read complete Markdown, reading minutes, stored dates and the real source URL. content_format=markdown; content_language=zh-Hant.
search_keywordsSearch the stored public engineering glossary with literal query and category. Use limit 1–25 and offset/next_offset. Definitions remain Traditional Chinese; no AI inference, credits or lang parameter.
get_keywordUse a returned slug to read definition, when-to-use, how_to_ask, cautions, related slugs and source URL. Only slug is accepted; content_language is zh-Hant.
list_tagsDiscover public topics and prompt counts. Search names or aliases with query; min_count is 1–100. Use limit 1–25 and a zero-based offset, continuing until next_offset is null. Pass a returned slug as search_prompts tag.
search_promptsFilter exact topics with tag and search by query, tool or medium. free_only limits results to free entries; lang accepts zh or en. Use limit 1–25 and next_offset for pagination.
get_promptRead a public prompt by slug. Free entries include full text and variables; PRO entries include previews. Ratings are null when unavailable. Drafts and scheduled entries stay private.
list_collectionsList public collections in zh or en. translation_status describes translation completeness; missing translations use source metadata.
get_collectionRead collection prompt summaries, editorial notes and links. Use limit 1–25 and next_offset to continue. Use get_prompt for individual entries.
Returned data
- Free entries return access: full, full text and variables. PRO entries return access: preview without full text or variables.
- Prompt details include a rating object or null, matching the public REST detail.
- Set lang to zh or en. Missing translations fall back to source metadata.
- Tool discovery includes inputSchema and outputSchema. Compatible SDKs can validate structuredContent automatically. The response also includes the same data as JSON text.
Connection troubleshooting
- Pending approval: start claude in that project, approve the server and check again.
- Some clients probe a GET stream. A 405 response to GET is expected here. Use Connected status or a successful POST call to confirm the connection.
- If connection fails, check the URL, HTTP transport and configuration scope for your current project.
- For 429 responses, wait for Retry-After. The limit includes initialization, discovery and tool calls.
Protocol and HTTP details
Supports per-request metadata for 2026-07-28 and initialization for 2025-11-25, 2025-06-18 and 2025-03-26. Modern clients first call server/discover, include version and clientCapabilities on each request and keep headers consistent with the body.
POST /api/mcp
Content-Type: application/json
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2026-07-28
Mcp-Method: server/discover
{
"jsonrpc": "2.0",
"id": "discover-1",
"method": "server/discover",
"params": {
"_meta": {
"io.modelcontextprotocol/protocolVersion": "2026-07-28",
"io.modelcontextprotocol/clientCapabilities": {}
}
}
}For tools/call, Mcp-Name must match params.name. Error -32022 includes supported versions; -32020 indicates inconsistent headers and content. Legacy clients send initialize, then notifications/initialized, and include the negotiated MCP-Protocol-Version afterward.
The server returns JSON without allocating a session ID or independent SSE stream. GET and DELETE return 405. The public tool catalog cache TTL is 60 seconds. Cite the public URLs returned by tools.
Official MCP versioning spec