Skip to main content
These commands form the day-to-day interface for managing the tools and servers registered in your MCPJungle gateway. Use them to register new upstream servers, inspect what is available, call tools directly, and control which tools are visible to MCP clients.

register

Registers an MCP server with the gateway. Once registered, the server’s tools, prompts, and resources are immediately available through the MCPJungle proxy.
mcpjungle register [flags]
A server name must be unique across the registry. Names must not contain whitespace, special characters, or consecutive underscores (__).

Flags

--name
string
Unique name for the MCP server. Required when not using --conf.
--url
string
URL of a streamable HTTP MCP server, for example http://localhost:8000/mcp. Required for HTTP-based servers when not using --conf.
--description
string
Optional human-readable description of the server.
--bearer-token
string
Static bearer token MCPJungle forwards to the upstream server in every request. Use this when the upstream server requires a fixed API token for authentication.
--force
boolean
default:"false"
Deregister an existing server with the same name, then register the new one. Without this flag, registering a duplicate name returns an error.
-c / --conf
string
Path to a JSON configuration file. When provided, all other flags are ignored. Required for stdio and sse transport servers.

Config file format

The --conf flag accepts a JSON file matching the following structure. Fields not used by the chosen transport can be omitted.
server-config.json
{
  "name": "my-server",
  "transport": "streamable_http",
  "url": "https://example.com/mcp",
  "description": "Optional description",
  "bearer_token": "optional-api-token",
  "headers": {
    "X-Custom-Header": "value"
  },
  "session_mode": "stateless"
}
For a stdio server:
filesystem-server.json
{
  "name": "filesystem",
  "transport": "stdio",
  "command": "npx",
  "args": ["-y", "@modelcontextprotocol/server-filesystem", "/home/user"],
  "env": {
    "HOME": "/home/user"
  }
}
FieldTypeRequiredDescription
namestringYesUnique server name.
transportstringYesstreamable_http, stdio, or sse.
urlstringFor HTTPURL of the HTTP MCP server.
descriptionstringNoHuman-readable description.
bearer_tokenstringNoStatic token forwarded to the upstream server.
headersobjectNoAdditional HTTP headers forwarded to HTTP servers. If both bearer_token and headers["Authorization"] are set, the explicit header takes precedence.
commandstringFor stdioExecutable to run.
argsarrayNoArguments passed to the command.
envobjectNoEnvironment variables passed to the stdio process.
session_modestringNostateless (default) or stateful.
Values in env and elsewhere can reference environment variables using ${VAR_NAME} syntax — the CLI resolves them at registration time.

Examples

Register a streamable HTTP server with flags:
mcpjungle register --name context7 --url https://mcp.context7.com/mcp
Register a server that requires an API token:
mcpjungle register --name github --url https://api.githubcopilot.com/mcp \
  --bearer-token ghp_your_token_here
Register any server type using a config file:
mcpjungle register --conf ./filesystem-server.json

deregister

Removes an MCP server from the registry, along with all of its tools, prompts, and resources.
mcpjungle deregister <server-name>
Deregistering a server immediately removes all its tools from the gateway. Any MCP client currently using those tools will receive errors. Make sure no clients depend on the server before deregistering.

Example

mcpjungle deregister context7

list

Lists entities registered in the gateway.
mcpjungle list <subcommand> [flags]

list servers

Lists all registered MCP servers with their transport and connection details.
mcpjungle list servers

list tools

Lists available tools, optionally filtered by server or tool group.
mcpjungle list tools [flags]
--server
string
Filter tools to those provided by the specified server name.
--group
string
Filter tools to those currently active in the specified tool group. Note: tools that are in the group config but have been deleted or disabled globally will not appear here. Use get group to see the full configured list.
--server and --group cannot be used together.

list prompts

Lists prompt templates, optionally filtered by server.
mcpjungle list prompts [--server <name>]
--server
string
Filter prompts to those from the specified server.

list resources

Lists resources, optionally filtered by server.
mcpjungle list resources [--server <name>]
--server
string
Filter resources to those from the specified server.

list groups

Lists all tool groups. For detailed group configuration, use get group.
mcpjungle list groups

Examples

# List all tools across all servers
mcpjungle list tools

# List tools from a specific server
mcpjungle list tools --server github

# List tools visible through a tool group
mcpjungle list tools --group my-agent-group

# List all prompts
mcpjungle list prompts

usage

Displays the name, description, and full input schema for a registered tool. Use this to understand what parameters a tool accepts before invoking it.
mcpjungle usage <tool-name>

Example

mcpjungle usage github__create_issue
Output includes each input parameter’s type, whether it is required or optional, and any constraints from the tool’s JSON schema.

invoke

Calls a registered tool and prints its response.
mcpjungle invoke <tool-name> [flags]

Flags

--input
string
default:"{}"
JSON object of input parameters to pass to the tool. Must be valid JSON.
--group
string
Invoke the tool within a specific tool group’s context. The tool must be included in the group, otherwise the command returns an error.

Examples

Invoke a tool with no input:
mcpjungle invoke github__list_repos
Invoke a tool with parameters:
mcpjungle invoke github__create_issue \
  --input '{"owner": "myorg", "repo": "myrepo", "title": "Bug report", "body": "Details here"}'
Invoke a tool within a group context:
mcpjungle invoke github__create_issue \
  --input '{"owner": "myorg", "repo": "myrepo", "title": "Bug"}' \
  --group engineering-tools
Text responses are printed to stdout. Image and audio responses are saved to the current working directory. Embedded resource content is displayed inline or saved as a file depending on content type.

enable

Enables one or more tools, prompts, or an entire server globally. Enabled entities are visible and callable by MCP clients.
mcpjungle enable <subcommand> <name>

Subcommands

SubcommandArgumentDescription
enable tool <name>Tool name or server nameEnable a specific tool, or all tools from a server.
enable prompt <name>Prompt name or server nameEnable a specific prompt, or all prompts from a server.
enable server <name>Server nameEnable all tools and prompts from a server.

Examples

# Enable a specific tool
mcpjungle enable tool github__create_issue

# Enable all tools from a server
mcpjungle enable tool github

# Enable all prompts from a server
mcpjungle enable prompt github

# Enable all tools and prompts from a server at once
mcpjungle enable server github
The legacy form mcpjungle enable <name> (without a subcommand) is still accepted for backward compatibility but is deprecated. Use enable tool <name> or enable server <name> instead.

disable

Disables one or more tools, prompts, or an entire server globally. Disabled entities are hidden from MCP clients and cannot be called.
mcpjungle disable <subcommand> <name>

Subcommands

SubcommandArgumentDescription
disable tool <name>Tool name or server nameDisable a specific tool, or all tools from a server.
disable prompt <name>Prompt name or server nameDisable a specific prompt, or all prompts from a server.
disable server <name>Server nameDisable all tools and prompts from a server.

Examples

# Disable a specific tool
mcpjungle disable tool github__delete_repo

# Disable all tools from a server
mcpjungle disable tool github

# Disable all tools and prompts from a server at once
mcpjungle disable server github
The legacy form mcpjungle disable <name> (without a subcommand) is still accepted for backward compatibility but is deprecated. Use disable tool <name> or disable server <name> instead.

get prompt

Retrieves a rendered prompt template from a registered MCP server, with optional argument substitution.
mcpjungle get prompt <prompt-name> [--arg key=value ...]

Flags

--arg
key=value
An argument to pass to the prompt template. Can be specified multiple times for prompts that accept several arguments.

Examples

Retrieve a prompt with no arguments:
mcpjungle get prompt github__code-review
Retrieve a prompt with arguments:
mcpjungle get prompt github__code-review \
  --arg code="def hello(): print('world')" \
  --arg language="python"
The output shows each generated message with its role (user or assistant) and content, as returned by the upstream MCP server.