Skip to main content
Glama
shriramkv

mcp-mock-server

by shriramkv

mcp-mock-server

A zero-dependency, configurable mock MCP server for testing MCP clients and harnesses.

When you build an MCP client, an agent, or a testing tool, you need a server to point it at. Spinning up a real one (with real credentials and side effects) just to check that your client speaks the protocol correctly is heavy and flaky. mcp-mock-server is a tiny stand-in: describe your tools and their canned responses in a JSON file, and it serves a correct MCP handshake over stdio.

Part of the AAIF (Agentic AI Innovation Foundation) open-source toolset for the agentic AI ecosystem. It pairs naturally with MCP conformance, audit, and load-testing tools: use the mock as the target while you test the tester.

Highlights

  • Speaks JSON-RPC 2.0 over stdio: initialize, notifications/initialized, ping, tools/list, tools/call.

  • Tools, schemas, and responses are fully driven by a JSON config.

  • Simulates error responses and missing-argument handling for testing sad paths.

  • Simple {argument} templating in responses.

  • Standard library only. No pip dependencies.

Related MCP server: Mock MCP Server

Install

pip install -e .

Requires Python 3.9 or newer.

Quick start

Serve the built-in echo tool:

mcp-mock-server

Print the default config to use as a starting point:

mcp-mock-server --print-default-config > my-tools.json

Serve your own tools:

mcp-mock-server --config examples/weather.json

Config format

{
  "name": "weather-mock",
  "version": "1.0.0",
  "tools": [
    {
      "name": "get_forecast",
      "description": "Return a canned weather forecast for a city.",
      "inputSchema": {
        "type": "object",
        "properties": { "city": { "type": "string" } },
        "required": ["city"]
      },
      "response": { "text": "Forecast for {city}: 30C, clear skies." }
    }
  ]
}
  • inputSchema is standard JSON Schema. Listed required fields are enforced.

  • response.text supports {argument} templating from the call arguments.

  • Set response.isError to true to simulate a tool that fails.

  • If response.text is omitted, the server echoes the arguments back.

Try it by hand

Send a request on stdin (each message is one JSON line):

printf '%s\n' \
  '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}' \
  '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}' \
  '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"echo","arguments":{"message":"hello"}}}' \
  | mcp-mock-server

Wiring into an MCP client

Most clients accept a command to launch a server. Point them at:

{
  "mcpServers": {
    "mock": { "command": "mcp-mock-server", "args": ["--config", "my-tools.json"] }
  }
}

Development

pip install -e .
pytest

License

MIT. See LICENSE.

Install Server
A
license - permissive license
B
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Tools

Related MCP Servers

  • F
    license
    -
    quality
    D
    maintenance
    A simple demonstration MCP server that provides an echo tool and resource for learning how to build MCP servers. Serves as a starting point and template for creating custom MCP server implementations.
    Last updated
  • F
    license
    -
    quality
    C
    maintenance
    A minimal local HTTP MCP mock server for development and testing, providing predictable tool responses with OAuth token support and zero dependencies.
    Last updated
  • A
    license
    -
    quality
    A
    maintenance
    A local MCP server that breaks on demand, allowing you to test your client against auth failures, disappearing tools, flaky responses, and token expiry from a web UI.
    Last updated
    12
    10
    MIT

View all related MCP servers

Related MCP Connectors

  • A basic MCP server to operate on the Postman API.

  • MEOK MCP Test MCP — golden-file + schema-drift + tool-failure tests for any MCP server. Drop-in

  • MCP server for understanding Javascript internals from ECMAScript specification.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/shriramkv/mcp-mock-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server