Connect PromptHub via MCP
Let Claude Code, Claude Desktop, claude.ai, or the Claude API search, run, and improve your Prompts, Chains, Skills, PlugIns, and Agents directly from the tools you already use.
What is the PromptHub MCP server?
The Model Context Protocol (MCP) is an open standard that lets AI assistants call tools on external services. PromptHub runs an MCP server at a single endpoint — https://promthub.ai/api/mcp/mcp — over Streamable HTTP, exposing 15 tools across 5 areas: Prompts, Prompt Chains (including Composite Steps), Skills, PlugIns, and Agents.
Once connected, you can ask your AI assistant things like “search my PromptHub prompts for anything about onboarding” or “run my Summarize & Translate chain on this text” — the assistant calls the matching tool, PromptHub executes it against your real data, and the result comes back into the conversation.
Step 1 — Create an API key
Go to Dashboard → Settings → API Keys → Create API Key. Give it a name and pick only the scopes it needs — read-only integrations should stick to the *:read scopes. You can optionally set an expiry and a token spend cap.
Prefer not to manage a key at all? If you use claude.ai in the browser, skip to the “claude.ai” tab below — it connects via OAuth instead.
Step 2 — Connect your client
One command, replacing <YOUR_KEY> with your plaintext key:
claude mcp add --transport http prompthub https://promthub.ai/api/mcp/mcp \
--header "Authorization: Bearer <YOUR_KEY>"Or, to avoid hardcoding the key, add it to .mcp.json:
{
"mcpServers": {
"prompthub": {
"type": "http",
"url": "https://promthub.ai/api/mcp/mcp",
"headers": {
"Authorization": "Bearer ${PROMPTHUB_API_KEY}"
}
}
}
}What can you ask it to do? (15 tools, 5 areas)
Prompts
Scope: prompts:read / prompts:improve
search_prompts— Search prompts by title/description substring — your own, public, or both.get_prompt— Fetch a prompt's full final text by id.improve_prompt— AI-optimize a prompt for clarity or effectiveness. Spends tokens.
Prompt Chains
Scope: chains:read / chains:execute
list_chains— Search chains by title/description substring.get_chain— Fetch a chain's ordered nodes by id.execute_chain— Run a chain end-to-end with input variables. Spends tokens.get_chain_execution— Poll a chain execution by id for status and results.
Skills
Scope: skills:read
list_skills— Search reusable instruction-module Skills by name/description.get_skill— Fetch a Skill’s full instruction content and resources by id.
PlugIns
Scope: plugins:read
list_plugins— Search versioned Skill collections (PlugIns) by name/description.get_plugin— Fetch a PlugIn’s published-version content snapshot by id.
Agents
Scope: agents:read / agents:execute
list_agents— Search Agents (persona + model + tools) by name/description.get_agent— Fetch an Agent’s full configuration by id.execute_agent— Run one Agent turn with a message. Spends tokens.get_agent_execution— Poll an Agent execution by id for status and transcript.
Token billing
improve_prompt, execute_chain, and execute_agent spend your normal PromptHub AI token balance. If a key has a spend cap, calls that would exceed it are rejected once the cap is reached. Running low returns a clear error pointing at your token dashboard.
Rate limits
- Any tool call: 120 requests/minute per key
execute_chain/execute_agent: 10 requests/minute per key
How is my data protected?
- Plaintext keys are shown once and never stored — only a SHA-256 hash is kept server-side.
- Every call is scoped to the key’s owner — tools only ever read or write data you own or that is public.
- A resource that would reveal someone else’s private content returns the same generic “not found” whether it exists or not — so a resource URI can’t be used to probe for other users’ data.
- Every tool result is marked as untrusted user data before it re-enters your assistant’s context, so content stored in a prompt or chain can’t be misread as instructions to the assistant.
- Deactivated accounts and expired or revoked keys are rejected before any tool runs.