Skip to main content
UMCP provides a command-line interface for running, validating, and testing your MCP aggregation configuration.

Quick Start

# Start umcp with default stdio transport
umcp serve

# Start umcp with HTTP transport
umcp serve --transport http --port 8787

# Validate your configuration
umcp validate

# Preview tool discovery without starting the server
umcp dry-run

Available Commands

serve

Start the UMCP aggregation server

validate

Validate your configuration file

dry-run

Preview tool discovery without starting

Global Flags

--config
string
default:"~/.config/umcp/umcp.jsonc"
Path to the UMCP configuration file. Supports only .jsonc format.
umcp serve --config /path/to/custom.jsonc
--help
boolean
Display help information and exit.
umcp --help
-h
boolean
Short form of --help.

Help Text

Running umcp --help displays:
umcp - Unified MCP Aggregator

Usage:
  umcp serve [--transport stdio|http] [--host 127.0.0.1] [--port 8787] [--path /mcp] [--config /path/to/umcp.jsonc]
  umcp validate [--config /path/to/umcp.jsonc]
  umcp dry-run [--config /path/to/umcp.jsonc]

Compatibility flags:
  umcp --validate [--config /path/to/umcp.jsonc]
  umcp --dry-run [--config /path/to/umcp.jsonc]

Compatibility Flags

For backward compatibility, UMCP supports legacy flag syntax:
# Legacy syntax (still supported)
umcp --validate
umcp --dry-run

# Modern syntax (recommended)
umcp validate
umcp dry-run
Both forms are functionally identical.

Default Behavior

When no command is specified, UMCP defaults to serve:
# These are equivalent
umcp
umcp serve

Error Handling

Unknown Command

If you provide an invalid command:
umcp invalid-command
Error: Unknown command 'invalid-command'. Use --help for usage.

Invalid Flag Values

UMCP validates flag values and provides clear error messages:
umcp serve --transport invalid
Error: Invalid --transport value 'invalid'. Expected 'stdio' or 'http'.
umcp serve --port abc
Error: Invalid value for --port: abc

Flag Parsing

UMCP supports multiple flag formats:
# Space-separated
umcp serve --transport http

# Equals sign
umcp serve --transport=http

# Boolean flags (presence = true)
umcp --validate

Next Steps

Serve Command

Learn about all serve command options

Configuration

Configure your MCP providers

Build docs developers (and LLMs) love