Skip to content
AI clients · MCP

PromptCraft MCP Server

Connect the public PromptCraft catalog to Claude Code, Cursor or another MCP client. Choose a configuration scope, then check the connection.

繁體中文設定指南
Public endpoint
https://prompt.luvai.net/api/mcp
Transport
Streamable HTTP · POST
Request limit
60 requests / minute / IP

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_tools

Read 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_references

Read 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_newsletters

Search 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_newsletter

Use 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_tutorials

Search 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_tutorial

Use a returned slug to read complete Markdown, reading minutes, stored dates and the real source URL. content_format=markdown; content_language=zh-Hant.

search_keywords

Search 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_keyword

Use 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_tags

Discover 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_prompts

Filter 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_prompt

Read 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_collections

List public collections in zh or en. translation_status describes translation completeness; missing translations use source metadata.

get_collection

Read 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