About Mockmcp
MockMCP is a hosted MCP server for developers prototyping agent workflows without building a backend or fixtures. Its 12 tools return deterministic, realistic fake data across common tutorial scenarios.
Key features
- 0112 tools for common data scenarios
- 02Seeded, repeatable fake data
- 03User, product, and order operations
- 04Mock events, email, and knowledge-base search
- 05Hosted Streamable HTTP endpoint
Use cases
- 01Prototype an agent workflow without a backend
- 02Test user, product, or order interactions
- 03Try event logging, email, or knowledge-base search
MCP support
MockMCP exposes 12 fake-data tools through a hosted Streamable HTTP MCP endpoint. It can be connected directly by MCP clients such as Claude Code, Cursor, and Claude Desktop.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://mockmcp.io/mcpclaude mcp add --transport http mockmcp https://mockmcp.io/mcp{"mcpServers":{"mockmcp":{"type":"http","url":"https://mockmcp.io/mcp"}}}Open in Cursor{"servers":{"mockmcp":{"type":"http","url":"https://mockmcp.io/mcp"}}}Open in VS Code{"mcpServers":{"mockmcp":{"type":"http","url":"https://mockmcp.io/mcp"}}}{"mcpServers":{"mockmcp":{"serverUrl":"https://mockmcp.io/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
Details
From the project READMEMockMCP
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.
Try it
# 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}}}'
Connect your client
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.
Tools
| 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.
Limits
Free tier, per hashed IP + User-Agent fingerprint:
- 30 requests per minute
- 500 requests per day
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.
Run locally
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).
Stack
@modelcontextprotocol/sdk— MCP server + Streamable HTTP transport- Raw Node
http— no framework overhead, clean shutdown @faker-js/faker— deterministic fake data via seeds@upstash/ratelimit+@upstash/redis— sliding-window rate limitingzod— tool input validation
Deploy (for forks)
Targets Node 20+. Build + start are pinned via nixpacks.toml; health checks + restart policy via railway.json.
- Fork this repo, push to GitHub.
- Railway → New Project → Deploy from GitHub → pick your fork.
- Add env vars in Railway → Variables:
| 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 |
- Railway service → Settings → Networking → Custom Domain → paste your domain → follow the DNS instructions.
Health check
GET /health returns {"ok":true}. Railway pings this during deploy.
Waitlist signups
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.
License
MIT — see LICENSE.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.