loading…
Search for a command to run...
loading…
Hosted MCP endpoint that returns realistic fake data for prototyping agents. Paste one URL into Claude Code, Cursor, or Claude Desktop — 12 pre-built tools cove
Hosted MCP endpoint that returns realistic fake data for prototyping agents. Paste one URL into Claude Code, Cursor, or Claude Desktop — 12 pre-built tools covering users, products, orders, events, email, and knowledge base search. No signup, no config, no auth. Built for developers who want to prototype agent workflows before wiring up a real backend.
Hosted MCP endpoint returning realistic fake data for prototyping agents. Paste one URL, zero setup.
Live at mockmcp.io — https://mockmcp.io/mcp
Built for devs who want to prototype agent workflows without wiring up a backend, writing fixtures, or standing up a local MCP server. 12 pre-built tools covering the scenarios in most agent tutorials.
# Initialize a session and get back a session id
curl -i -X POST https://mockmcp.io/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"curl","version":"0.1"}}}'
# Use the Mcp-Session-Id header in subsequent calls:
curl -X POST https://mockmcp.io/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "Mcp-Session-Id: <paste-id-here>" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"list_users","arguments":{"limit":3}}}'
Claude Code
claude mcp add --transport http mockmcp https://mockmcp.io/mcp
Cursor — add to ~/.cursor/mcp.json:
{
"mcpServers": {
"mockmcp": {
"url": "https://mockmcp.io/mcp"
}
}
}
Claude Desktop — Settings → Connectors → Add custom connector → paste https://mockmcp.io/mcp as the URL.
No mcp-remote proxy required. All three clients speak Streamable HTTP natively.
| Tool | What it does |
|---|---|
list_users |
Paginated list of mock users |
get_user |
One mock user by id or seed |
create_user |
Create a mock user (no persistence) |
list_products |
Paginated list of mock products |
get_product |
One mock product |
list_orders |
Mock orders with optional status filter |
get_order |
One mock order |
create_order |
Create a mock order (no persistence) |
list_events |
Mock analytics events |
create_event |
Record a mock event |
send_email |
Returns fake success, nothing delivered |
search_knowledge_base |
Mock KB search with ranked results |
All data is seeded from your inputs — same input, same output.
Free tier, per hashed IP + User-Agent fingerprint:
Hit the wall? Drop your email at mockmcp.io/waitlist for paid-tier access when it launches.
429 responses carry a structured JSON-RPC error with upgrade_url and retry_after_seconds. Every successful response carries X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, and X-RateLimit-Scope headers.
npm install
npm run dev
Server listens on http://localhost:3000. MCP endpoint at /mcp. Without Upstash env vars, rate limiting falls back to an in-memory store (per-process, fine for dev).
http — no framework overhead, clean shutdown@upstash/redis — sliding-window rate limitingTargets Node 20+. Build + start are pinned via nixpacks.toml; health checks + restart policy via railway.json.
| Var | Notes |
|---|---|
UPSTASH_REDIS_REST_URL |
From upstash.com free tier |
UPSTASH_REDIS_REST_TOKEN |
Paired with the URL above |
PORT |
Railway sets this automatically |
GET /health returns {"ok":true}. Railway pings this during deploy.
POST /api/waitlist logs a structured JSON line per signup:
{"event":"waitlist_signup","email":"[email protected]","at":"2026-04-24T19:33:06.396Z"}
Grep them with railway logs | grep waitlist_signup. Storage-free by design — swap in Resend, a Tally forward, or a DB when the paid tier is live.
MIT — see LICENSE.
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"mockmcp": {
"command": "npx",
"args": []
}
}
}