Mock MCP Studio
Mock MCP Studio lets you create fully configurable mock MCP servers — ideal for developing MCP clients before the real server exists, or for testing error scenarios and edge cases.
Creating a Mock MCP Server
- Go to Explorer in the navigation
- Click Add New → MCP Server
- Choose Create Mock MCP Server
- Name your server and optionally add a description
- Define tools, resources, and prompts (see below)
- Save — the mock is immediately live as an MCP endpoint
Defining Capabilities
Tools
Each tool has a name, description, and a JSON Schema input schema:
{
"name": "get_weather",
"description": "Get current weather for a location",
"inputSchema": {
"type": "object",
"properties": {
"location": { "type": "string", "description": "City name or coordinates" }
},
"required": ["location"]
}
}
Resources
Resources expose data by URI:
{
"uri": "file:///data/{path}",
"name": "Data Files",
"description": "Access project data files",
"mimeType": "text/plain"
}
Prompts
Prompts are pre-defined templates with optional arguments:
{
"name": "code_review",
"description": "Review code for issues",
"arguments": [
{ "name": "language", "required": true },
{ "name": "code", "required": true }
]
}
Flows Tab
Each capability gets its own response flow. Open the Flows tab to see all capabilities listed. Click Edit ↗ on any capability to open the Flow Builder for that capability.
Template Variables in MCP Flows
Use {{variableName}} syntax to reference context in node fields:
| Variable | Description |
|---|---|
{{toolName}} | Name of the invoked tool |
{{toolArgs.X}} | Individual tool argument by key |
{{resourceUri}} | URI of the resource being read |
{{promptName}} | Name of the prompt |
{{promptArgs.X}} | Individual prompt argument by key |
{{mcpServerId}} | This mock server's ID |
MCP End Node
The End node for MCP flows includes an output type selector that controls the wire format of the response:
| Output type | Wire format |
|---|---|
| Tool | content: [{ type: "text", text: "..." }] |
| Resource | contents: [{ uri, mimeType, text }] |
| Prompt | messages: [{ role, content: { type, text } }] |
Set isError: true on the End node to return a tool error response instead of a result.
Mock MCP Endpoint
After creation, the server is available at:
{base-url}/api/mock-mcp-servers/{id}/mcp
This endpoint handles all MCP JSON-RPC methods: initialize, tools/list, tools/call, resources/list, resources/read, prompts/list, prompts/get.
The capability manifest is served at:
{base-url}/api/mock-mcp-servers/{id}/.well-known/mcp-server.json
API Key Protection
Enable Require API Key in the Settings tab to restrict access to your mock server. Generate API keys in the same tab. Include the key as a Bearer token in requests:
Authorization: Bearer your_api_key_here
API Routes
| Method | Path | Description |
|---|---|---|
| GET/POST | /api/mock-mcp-servers | List / create mock servers |
| GET/PUT/DELETE | /api/mock-mcp-servers/:id | Server operations |
| POST | /api/mock-mcp-servers/:id/mcp | MCP JSON-RPC endpoint |
| GET | /api/mock-mcp-servers/:id/.well-known/mcp-server.json | Capability manifest |
| GET/POST | /api/mock-mcp-servers/api-keys | List / create API keys |
| DELETE | /api/mock-mcp-servers/api-keys/:id | Revoke API key |