validate command checks your UMCP configuration file for errors without starting the server.
Usage
Flags
Path to the UMCP configuration file to validate.Examples:
Examples
Validate Default Config
~/.config/umcp/umcp.jsonc.
Success output:
Validate Custom Config
Using Compatibility Flag
umcp validate --config ~/my-config.jsonc.
What Gets Validated
The validate command checks:-
File existence and readability
- Verifies the config file exists
- Checks file permissions
-
JSON/JSONC syntax
- Validates proper JSON formatting
- Supports JSONC features (comments, trailing commas)
-
Schema compliance
- Validates against the UMCP config schema
- Checks required fields
- Validates field types and formats
-
Category and provider structure
- Ensures categories exist
- Validates provider definitions
- Checks transport configurations
-
Naming rules
- Category names match
[a-zA-Z0-9_-]+ - Provider names match
[a-zA-Z0-9_-]+ - Tool aliases match
[a-zA-Z0-9_-]+
- Category names match
-
Environment variables
- Validates env key-value pairs
- Checks array values for round-robin rotation
Validation Errors
File Not Found
Invalid JSON Syntax
If your config has JSON syntax errors:Schema Validation Errors
If your config doesn’t match the schema:Invalid Naming
If category, provider, or alias names contain invalid characters:Exit Codes
- 0: Configuration is valid
- Non-zero: Validation failed or error occurred
Use Cases
CI/CD Validation
Pre-commit Hook
Quick Config Check
Structured Logs
Validation emits structured logs to stderr: Success:Validation vs. Dry Run
When to use validate
When to use validate
Use
validate to:- Check config syntax and schema before starting the server
- Validate configs in CI/CD pipelines
- Quick syntax checks after editing
- Does not connect to upstream servers
When to use dry-run
When to use dry-run
Use
dry-run to:- Preview actual tool discovery from upstream servers
- Test provider connections
- See the final namespaced tool list
- Debug tool aliasing
- Connects to upstream servers
Next Steps
Dry Run
Preview tool discovery
Serve
Start the UMCP server
Configuration
Learn about config schema