About Mcpmock
Mcpmock is an MCP server published by Dimirolz in the Files category: rapid MCP server prototyping from a single YAML file.
The repository has 10 stars and 1 forks, with the last commit 11 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.
Install
git clone https://github.com/Dimirolz/mcpmockThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Mcpmock
Powered by Claude · Grounded in docs
Security checks
Static checks derived from the repository 2 days ago. Heuristics on the source, not an audit.
- ✓README presentThe repository ships documentation.
- ✓License declaredUsable under a stated license.
- ✓Tests presentA test suite exists in the repository.
- ✓Dependencies pinnedA lockfile pins dependency versions.
- ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
1 check has not been run yet.
README
mcpmock
A Bun + TypeScript playground for rapidly prototyping Model Context Protocol (MCP) servers.
Describe your mock server in a single YAML file, run the CLI, and the server (stdio or HTTP) responds with mocked data. The goal is to help iterate on tool shapes and responses without building full backends.
Project status
- Single-file YAML configs (
examples/basic/mock.yaml) load into a typed representation with clear errors. - The CLI now spins up a mock MCP server:
transport: stdio(default) connects via stdin/stdout for agent integrations.transport: httpstarts an Express server backed byStreamableHTTPServerTransport.
- Tool calls return the configured
responseas text (and structured content when applicable).
Installation
Once the package is published to npm you can install or run it instantly:
npm install -g mcpmock
# or run without installing
npx mcpmock ./examples/basic/mock.yaml
Usage
Point the CLI at any project YAML file:
npx mcpmock path/to/server.yaml
transport: stdio(default) connects via stdin/stdout for agent integrations.transport: httpstarts an Express server backed byStreamableHTTPServerTransport.- Cross-origin requests are enabled (with
Mcp-Session-Idexposed) so browsers like MCP Inspector can connect directly.
If the configuration contains mistakes, the CLI prints readable error messages with annotated paths so coding agents (and humans) can quickly fix them.
Local development
To work on the CLI locally:
bun install
bun run build
node dist/index.js examples/basic/mock.yaml
The build step emits the Node-ready bundle (dist/index.js) and TypeScript declarations used when publishing to npm.
Configuration format
All configuration lives in one YAML file. Example (examples/basic/mock.yaml):
server:
name: demo-mock
transport: stdio
description: Minimal mock MCP server example
tools:
- name: echo
description: Returns the provided message
input_schema:
type: object
properties:
message:
type: string
required:
- message
response:
message: default echo
Response templating
Within response values you can reference tool arguments using {{ args.* }} expressions. Strings are interpolated at call time and work inside nested objects and arrays. For example:
tools:
- name: echo
response:
message: "You said: {{ args.message }}"
If a referenced argument is missing, the tool call raises an error to make debugging easier.
Key rules:
- Every tool must have a unique
name. input_schemafollows JSON Schema conventions (currently a subset focused on objects, strings, numbers, booleans, arrays).responsecan be any JSON value (plain strings work too if you want Markdown).
Roadmap
- Harden the HTTP transport (SSE sessions, resumability, auth helpers).
- Provide richer response scripting options (multiple scenarios, templating).
- Build a companion MCP client CLI to run scripted interactions, log tool calls, and support lightweight evals.
- Support optional multi-file layouts for large projects.
- Package for npm distribution and provide compiled binaries with
bun build --compile.
Contributions, ideas, and feedback are welcome! Feel free to sketch new formats in examples/ and iterate on the CLI.***
README fetched from the repository 2 days ago. The original is authoritative.