filesystem, time, and github MCP servers distributed as npx or uvx packages.
Because STDIO servers run as local processes, you must register them using a JSON config file — the CLI flags only cover Streamable HTTP registration.
Register a STDIO server
Write a config file
Create a JSON file describing your server. Here is an example for the official MCP filesystem server:
Config file format
The full set of fields for a STDIO server config:| Field | Required | Description |
|---|---|---|
name | Yes | Unique identifier. No spaces, special characters, or consecutive underscores. |
transport | Yes | Must be "stdio". |
description | No | Human-readable description surfaced in the CLI and API. |
command | Yes | The executable to run — typically "npx" or "uvx". |
args | No | List of arguments passed to command when MCPJungle spawns the process. |
env | No | Map of environment variables injected into the process environment at startup. |
Examples
Environment variable substitution
Config files support${VAR_NAME} placeholders in any string field. The CLI resolves them from your shell environment before sending the request to MCPJungle:
- Only the
${VAR_NAME}syntax is resolved — not$VAR_NAME. - Placeholders can appear anywhere inside a string, including as a substring.
- Resolution runs in the CLI process, so the variable must be available in the shell where you run
mcpjungle register. - If a referenced variable is not set, the command fails with an error.
- Nested objects and string arrays are also resolved.
Running in Docker: filesystem access
When MCPJungle runs inside a Docker container, the container process does not have access to your host filesystem by default. To use thefilesystem MCP server from inside Docker, you need to mount the host directory you want to expose.
The default docker-compose.yaml provided by MCPJungle mounts your current working directory as /host inside the container. Use /host as the target directory in your config:
filesystem server access to your current working directory on the host machine, mounted at /host inside the container.
Using the stdio Docker image
STDIO-based servers that rely onnpx or uvx require those tools to be present in the MCPJungle container.
Start MCPJungle with the stdio image using the MCPJUNGLE_IMAGE_TAG environment variable:
If you are using the development
docker-compose.yaml, the latest-stdio tag is already the default. You only need to set MCPJUNGLE_IMAGE_TAG explicitly when using docker-compose.prod.yaml.npx or uvx, create a custom Docker image that builds on the MCPJungle base image and installs the additional dependency.
Debugging STDIO servers
If a STDIO server fails to start or throws errors during a tool call, check the MCPJungle server logs. The server capturesstderr output from child processes and writes it to its own log stream, making it the primary place to diagnose STDIO server issues.