What is a MCP Server?
MCP Servers are the building blocks of MetaMCP. Each server configuration defines:- How to start the server (command, arguments, environment)
- What type of server it is (STDIO, SSE, Streamable HTTP)
- Authentication requirements (if any)
- Resource dependencies (Python packages, Node modules, etc.)
Example Configuration
Server Types
MetaMCP supports three types of MCP servers:STDIO Servers
STDIO Servers
Most common type - Communicates via standard input/output streamsUse cases:
- Python packages installed via
uvx
- Node.js packages via
npx
- Custom executable scripts
SSE Servers
SSE Servers
Server-Sent Events - Communicates via SSE (Server-Sent Events)
You can leave bearerToken as blank if the server uses OAuth.
Streamable HTTP Servers
Streamable HTTP Servers
HTTP-based streaming - Streamable HTTP is now the standard for remote MCP
You can leave bearerToken as blank if the server uses OAuth.
Configuration Options
Basic Configuration
Environment Variables
Pass environment variables to STDIO servers:Environment Variable Interpolation
Use${ENV_VAR}
syntax to reference environment variables at runtime:
- Secure: API keys and secrets aren’t hardcoded in configs
- Flexible: Values resolved from container environment
- Backward compatible: Raw values still work as before
${VAR_NAME}
gets replaced withprocess.env.VAR_NAME
at runtime- Missing variables log a warning but don’t crash the server
- Secrets are automatically redacted in logs
Authentication
For servers requiring authentication:Managing MCP Servers
Adding Servers
- Navigate to MCP Servers in the MetaMCP dashboard
- Click “Add Server”
- Configure the server details
- Test the configuration
- Save to make it available for namespaces
Bulk Import/Export
MetaMCP supports bulk import and export of MCP server configurations for easy migration and backup.Exporting Servers
Export all your configured MCP servers to a JSON file:- Navigate to MCP Servers in the dashboard
- Click “Export JSON” button
- Choose to either download the file or copy to clipboard
Export Format
Importing Servers
Import multiple MCP servers from a JSON configuration:- Navigate to MCP Servers in the dashboard
- Click “Import JSON” button
- Paste or type your JSON configuration
- Click “Import” to add the servers
Type Values (Case-Insensitive):
"stdio"
,"STDIO"
,"std"
→ STDIO"sse"
,"SSE"
→ SSE"streamable_http"
,"STREAMABLE_HTTP"
,"streamablehttp"
,"http"
→ STREAMABLE_HTTP
Import Behavior:
- Servers with existing names will be updated with new configuration
- New servers will be created
- Invalid configurations will be skipped with error messages
- The import process shows success/failure counts
Use bulk import/export for:
- Environment migration (dev → staging → production)
- Team collaboration (sharing server configurations)
- Backup and restore (configuration backups)
- Quick setup (deploying multiple servers at once)
Idle Session Management
MetaMCP pre-allocates idle sessions for better performance:Cold Start Optimization
- Default: 1 idle session per server
- Configurable: Adjust based on usage patterns
- Auto-scaling: Sessions created on demand
- Cleanup: Idle sessions recycled after timeout
Custom Dockerfile for Dependencies
If your MCP servers require additional dependencies beyonduvx
or npx
, you can customize the MetaMCP Dockerfile:
Custom dependencies increase the Docker image size and startup time. Consider using lightweight alternatives when possible.
Troubleshooting
Server Won't Start
Server Won't Start
Common causes:
- Missing dependencies (install via custom Dockerfile)
- Incorrect command or arguments
- Environment variables not set
- Network connectivity issues (for SSE/Streamable HTTP)
- Check server logs in MetaMCP dashboard
- Test command manually in terminal
- Verify environment variables
- Check network connectivity
Slow Performance
Slow Performance
Optimization strategies:
- Increase idle session count for frequently used servers
- Use local servers instead of remote when possible
- Pre-install dependencies in custom Docker image
- Configure appropriate timeout values
Authentication Issues
Authentication Issues
Common problems:
- Expired API keys or bearer tokens
- Incorrect environment variable names
- Missing required headers
- Rate limiting from external APIs
- Refresh API keys/tokens
- Check server documentation for required auth
- Implement proper error handling
- Add retry logic with backoff