MockMCP
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.
README
MockMCP
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":"alice@example.com","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.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.