Overview
This page covers common issues you may encounter when using UMCP and their solutions.npm cache EACCES error
npm cache EACCES error
Problem
When using upstream stdio providers withnpm or npx, you may encounter permission errors like:Automatic Solution
UMCP automatically detects and handles npm cache permission issues:- When an upstream stdio provider uses
npmornpxcommands - If no npm cache is configured OR the configured cache is not writable
- UMCP automatically applies a fallback cache directory at
~/.cache/umcp/npm
Manual Override
You can explicitly set the npm cache directory in your provider configuration:Tool name collision error
Tool name collision error
Problem
You see an error like:Cause
Two different providers are exposing tools that result in the same final three-segment name:{category}.{provider}.{tool}
- Multiple providers in the same category use the same provider name
- Providers expose tools with the same name or alias
Solution
Option 1: Change provider namesEnsure each provider has a unique name within its category:tools array to assign unique aliases:Invalid tool name characters
Invalid tool name characters
Problem
You see an error like:Cause
UMCP enforces naming rules to ensure canonical three-segment names:- Category names must match
[a-zA-Z0-9_-]+ - Provider names must match
[a-zA-Z0-9_-]+ - Tool names/aliases must match
[a-zA-Z0-9_-]+
., spaces, or special characters), UMCP cannot use it directly.Solution
Add an explicittools mapping with a valid alias:- Letters:
a-z,A-Z - Numbers:
0-9 - Underscore:
_ - Hyphen:
-
Config validation errors
Config validation errors
Problem
You see errors when runningumcp validate or umcp serve:Common Validation Errors
Missing command for stdio transportcommand field:url field:Config file not found or invalid JSONC
Config file not found or invalid JSONC
Problem
You see errors about missing or invalid config files:Solution
Config file locationUMCP uses JSONC format and looks for config at:- Default:
~/.config/umcp/umcp.jsonc - Custom: Use
--configflag
- Comments:
//and/* */ - Trailing commas
- Missing commas between properties
- Unclosed quotes or brackets
- Invalid property names
Provider connection failures
Provider connection failures
Problem
Providers fail to connect or tools fail to discover:Troubleshooting Steps
-
Test the provider directly
-
Check environment variables
- Ensure API keys are set correctly
- Check for typos in env var names
- Verify values are not masked/redacted
-
Verify transport settings
- stdio: Requires
commandand optionallyargs - sse/streamable-http: Requires valid
url
- stdio: Requires
-
Check server logs
UMCP logs to stderr in JSON format. Look for:
provider.connectedeventsprovider.disconnectedevents- Error messages with details
-
Use dry-run mode
This connects to all providers and lists discovered tools without starting the server.
Getting Help
If you encounter an issue not covered here:- Check the structured logs for detailed error information
- Run
umcp validateto check your configuration - Run
umcp dry-runto test provider connections - Review your config against the JSON schema