Machine access

The MCP endpoint

Read-only access to the PromptThief registry of curated business prompts. Public tools need no authentication. Tools prefixed with progress_ require a bearer token belonging to an approved member of the Progress Partners private community. No write, submit, moderation, or member-directory operations are exposed.

Endpoint
https://promptthief.com/api/public/mcp
JSON-RPC 2.0 over HTTP POST · protocol 2025-06-18 · read-only · CORS open

Public tools

No authentication. Anyone may call these.

search_prompts

Search public prompts

Search the public PromptThief registry. Returns reference id, title, one-liner, taxonomy, tags and canonical URL. Bounded to 25 results.

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Free-text match on title, one-liner, prompt text and tags."
    },
    "category": {
      "type": "string",
      "description": "Exact category, e.g. 'Marketing'."
    },
    "use_case": {
      "type": "string",
      "description": "Substring match on use case."
    },
    "vertical": {
      "type": "string",
      "description": "Substring match on vertical."
    },
    "difficulty": {
      "type": "string",
      "enum": [
        "beginner",
        "intermediate",
        "advanced"
      ],
      "description": "Difficulty level."
    },
    "tool_fit": {
      "type": "string",
      "description": "Substring match on tool fit, e.g. 'ChatGPT'."
    },
    "tag": {
      "type": "string",
      "description": "Single tag that must be present."
    },
    "sort": {
      "type": "string",
      "enum": [
        "used",
        "new",
        "ref"
      ],
      "default": "used",
      "description": "Most used (default), newest, or reference order."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 25,
      "default": 10
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "maximum": 500,
      "default": 0
    }
  },
  "additionalProperties": false
}
get_prompt

Get a public prompt

Fetch one public prompt in full by slug or reference id (e.g. 'PT-0001'), including prompt text, inputs needed, success criteria (what good output looks like), tags and canonical URL.

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "description": "Prompt slug."
    },
    "ref": {
      "type": "string",
      "description": "Reference id such as PT-0001."
    }
  },
  "additionalProperties": false
}
list_categories

List categories

List the registry categories with the number of public prompts in each.

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Progress-only tools

These require an Authorization: Bearer <access token> header from a signed-in account that is an approved member of the Progress Partners community. Any other token is refused. No other community is reachable through this server.

progress_search_prompts

Search Progress community prompts

Search prompts approved inside the Progress Partners private community. Requires a bearer token for an approved member.

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Free-text match on title, one-liner, prompt text and tags."
    },
    "category": {
      "type": "string",
      "description": "Exact category, e.g. 'Marketing'."
    },
    "use_case": {
      "type": "string",
      "description": "Substring match on use case."
    },
    "vertical": {
      "type": "string",
      "description": "Substring match on vertical."
    },
    "difficulty": {
      "type": "string",
      "enum": [
        "beginner",
        "intermediate",
        "advanced"
      ],
      "description": "Difficulty level."
    },
    "tool_fit": {
      "type": "string",
      "description": "Substring match on tool fit, e.g. 'ChatGPT'."
    },
    "tag": {
      "type": "string",
      "description": "Single tag that must be present."
    },
    "sort": {
      "type": "string",
      "enum": [
        "used",
        "new",
        "ref"
      ],
      "default": "used",
      "description": "Most used (default), newest, or reference order."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 25,
      "default": 10
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "maximum": 500,
      "default": 0
    }
  },
  "additionalProperties": false
}
progress_get_prompt

Get a Progress community prompt

Fetch one Progress Partners community prompt in full by slug or reference id. Requires an approved member bearer token.

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string"
    },
    "ref": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
progress_community_info

Progress community overview

Name, description, vetting mode and approved prompt count for Progress Partners. Never returns member emails or moderation data. Requires an approved member bearer token.

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Curl examples

List the tools

curl -s https://promptthief.com/api/public/mcp \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Search public prompts

curl -s https://promptthief.com/api/public/mcp \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call",
       "params":{"name":"search_prompts",
                 "arguments":{"query":"cold email","limit":5}}}'

Read one prompt in full

curl -s https://promptthief.com/api/public/mcp \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":3,"method":"tools/call",
       "params":{"name":"get_prompt","arguments":{"ref":"PT-0001"}}}'

Progress member access

curl -s https://promptthief.com/api/public/mcp \
  -H 'content-type: application/json' \
  -H "authorization: Bearer $PROMPTTHIEF_TOKEN" \
  -d '{"jsonrpc":"2.0","id":4,"method":"tools/call",
       "params":{"name":"progress_search_prompts","arguments":{"limit":5}}}'

Security model

  • Read-only. Only initialize, tools/list, tools/call and ping are implemented. Every other method — including any write, submit, or moderation call — is refused with a method-not-supported error.
  • Never exposed. Member emails, submitter identities, private comments, moderation queues, review notes, AI notes, admin data, other communities, and any service credential.
  • Database-enforced. Public tools query with the anonymous key so row-level security applies as an anonymous visitor. Progress tools query with the caller's own token, and membership is verified as approved before any community row is read.
  • Bounded. Maximum 25 results per call, capped paging, truncated prompt text, and 60 requests per minute per caller. Errors are generic and never leak database detail.