Mock MCP Servers — Free Public URLs for Testing

FreeNo sign-up

Six hosted MCP servers that exist purely to be connected to. Paste a URL into your MCP client, agent framework, or IDE and prove your integration works against known, predictable behaviour — before you point it at a real server whose responses you do not control. Every endpoint serves both the stateless 2026-07-28 revision and the 2025-era initialize handshake.

ServerPublic URLAuth
Echo MCP Serverhttps://mcpplaygroundonline.com/mcp-echo-serverNone
Auth MCP Serverhttps://mcpplaygroundonline.com/mcp-auth-serverBearer token
Error MCP Serverhttps://mcpplaygroundonline.com/mcp-error-serverNone
Complex Schema MCP Serverhttps://mcpplaygroundonline.com/mcp-complex-serverNone
MCP Apps Serverhttps://mcpplaygroundonline.com/mcp-app-serverNone
Stateless 2026-07-28 Serverhttps://mcpplaygroundonline.com/mcp-stateless-serverNone

Try one in ten seconds

curl -X POST https://mcpplaygroundonline.com/mcp-echo-server \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

A plain GET on any of these URLs returns a description of the server and the revisions it speaks — useful for a quick sanity check from a browser tab.

The six mock servers

Echo MCP Server

Returns exactly what you send.

URL
https://mcpplaygroundonline.com/mcp-echo-server
Tools
echo
Auth
None
Tests
Basic connectivity, transport negotiation, message round-tripping, and your first tool call.

The one to start with. If your client cannot complete a call against the echo server, the problem is in your client, not in the server you were originally debugging.

Auth MCP Server

Answers 401 with a WWW-Authenticate challenge until you present a valid Bearer token.

URL
https://mcpplaygroundonline.com/mcp-auth-server
Tools
get_user
Auth
Bearer token — mint one with POST /api/auth/token (valid 30 minutes)
Tests
Your 401 handling, Bearer-token attachment, scope enforcement, and the token-refresh path.

Requires the read:user and write:user scopes. A token missing a scope gets an insufficient_scope challenge rather than a flat 401, which is the case most clients get wrong.

Error MCP Server

Deliberately fails, on demand, in eight different ways.

URL
https://mcpplaygroundonline.com/mcp-error-server
Tools
simulate_error, simulate_network_error, simulate_partial_success
Auth
None
Tests
Error handling, retry logic, timeout behaviour, and partial-result handling.

simulate_error takes an errorType of validation, not_found, unauthorized, rate_limit, server_error, timeout, invalid_request or permission_denied, plus an optional delay in milliseconds so you can force a real timeout instead of mocking one.

Complex Schema MCP Server

Four tools with deeply nested, mutually confusable input schemas.

URL
https://mcpplaygroundonline.com/mcp-complex-server
Tools
create_user_profile, process_order, analyze_data, configure_workflow
Auth
None
Tests
Parameter validation, JSON Schema handling, and — with a real model attached — tool-selection accuracy.

This is the one to point a model at. Four plausible tools with overlapping argument shapes is where tool-selection drift and -32602 Invalid params show up.

MCP Apps Server

Returns a ui:// resource that renders as live interactive UI.

URL
https://mcpplaygroundonline.com/mcp-app-server
Tools
get_mcp_app_demo
Auth
None
Tests
MCP Apps support — whether your client resolves ui:// resources and renders them instead of dumping JSON.

Most clients silently fall back to showing the raw resource. Use this to check yours before claiming MCP Apps support.

Stateless 2026-07-28 Server

The machinery the 2026-07-28 revision introduced — Multi Round-Trip Requests and signed requestState.

URL
https://mcpplaygroundonline.com/mcp-stateless-server
Tools
mrtr_confirm, mrtr_signed_state, which_protocol_era
Auth
None
Tests
Whether your client handles input_required results, re-issues the original request with inputResponses, and echoes requestState back untampered.

Pin ?rev=2026-07-28 and send a 2025-era initialize handshake to exercise the -32022 UnsupportedProtocolVersion rejection path. which_protocol_era reports back which revision the server decided you were speaking.

Testing against the 2026-07-28 stateless spec

The 2026-07-28 revision removes the initialize handshake and the protocol-level session entirely. That is a breaking change for every client written against the 2025 revisions, and the only honest way to find out whether yours survives it is to talk to a server that speaks it.

Every mock on this page detects the revision from the request itself. Pin one explicitly with a query parameter:

  • ?rev=2026-07-28 — stateless only. A 2025-era handshake is rejected with -32022 UnsupportedProtocolVersion.
  • ?rev=2025-11-25 — legacy only. Handshake required.
  • No parameter — the server works out which revision you speak and answers in kind.

To check the other direction — whether your server is ready — paste its URL into the MCP Checker and force a revision with the Protocol Revision switch. It shows the revision you requested, the one that actually answered, and the raw JSON-RPC in between. The migration itself is covered in the stateless migration guide.

Testing the auth server

The auth server rejects unauthenticated requests with a 401 and a WWW-Authenticate challenge — the exact shape the spec requires and the one most clients mishandle. Mint a token, then attach it:

# 1. mint a token (valid 30 minutes)
curl -X POST https://mcpplaygroundonline.com/api/auth/token

# 2. use it
curl -X POST https://mcpplaygroundonline.com/mcp-auth-server \
  -H 'Authorization: Bearer <token>' \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Omit step 1 to see the challenge your client has to parse. The MCP Test Client mints and attaches the token for you if you would rather do this in a browser.

What to do after the mocks pass

  • MCP Test Client — drive all six from the browser, with a live protocol log and a revision switch
  • MCP Agent Studio — point Claude, GPT-5, Gemini or Grok at the complex-schema server and watch which tool each model actually picks
  • MCP Server Tester — the opposite job: test the server you built
  • MCP Inspector Online — schema-first inspection without npx
  • MCP Security Scanner — 35+ checks including ones written for the stateless revision

Further reading

Frequently asked questions

What is a mock MCP server?
A mock MCP server is a hosted Model Context Protocol server that exists purely to be connected to. It exposes predictable tools with known responses, so you can prove your MCP client, agent framework, or IDE integration works before pointing it at a real server whose behaviour you do not control. It is the MCP equivalent of httpbin.org.
What is a public MCP server URL I can test with right now?
The simplest is https://mcpplaygroundonline.com/mcp-echo-server — an echo server with a single echo tool, no authentication, and no rate limit for normal use. Paste it into any MCP client that supports remote Streamable HTTP servers. Five more are listed on this page: auth, error, complex schema, MCP Apps, and a stateless 2026-07-28 server.
Do the mock servers need an API key or sign-up?
No. Five of the six are completely open — no key, no sign-up, no install. The auth server requires a Bearer token by design, because testing your 401 handling is the point of it; you mint one yourself with a single POST to /api/auth/token and it lasts 30 minutes.
Which MCP protocol revisions do the mock servers support?
Both. Every mock serves the stateless 2026-07-28 revision and the 2025-era initialize handshake, and detects which one you are speaking from the request itself — so an old client and a new client can point at the same URL. Append ?rev=2026-07-28 or ?rev=2025-11-25 to pin one and test the rejection path deliberately.
How do I test that my MCP server is ready for the 2026-07-28 stateless spec?
Two halves. To check your own server, paste its URL into the MCP Checker or MCP Tester and use the Protocol Revision switch to force 2026-07-28 — you will see the requested revision, the one that actually answered, and the raw JSON-RPC. To check your client, point it at the stateless mock server on this page, which implements Multi Round-Trip Requests and signed requestState.
Which transport do these mock MCP servers use?
Streamable HTTP, the transport both current spec revisions use. HTTP+SSE still works for legacy clients but was reclassified as Deprecated in the 2026-07-28 revision. There is no stdio endpoint, because stdio is a local-only transport that a hosted server cannot expose.
Can I use these mock servers in CI?
Yes, within reason. They are rate-limited per IP to keep them available for everyone, so a normal test suite is fine and a load test is not. If you need guaranteed throughput, copy the behaviour — the tools are simple enough to reimplement in a few dozen lines.
How is this different from running the official MCP Inspector?
The Inspector is a client you run locally to talk to your server. These are servers you talk to from your client. They solve opposite problems, and most people building on MCP need both: the mock servers to prove the client half works, and a tool like the browser-based MCP Inspector Online to prove the server half works.
Mock MCP Servers — Free Public MCP Server URLs for Testing | MCP Playground