Indicated by server-filesystem capability, which likely allows file operations on git repositories
Provides platform-specific configurations and file paths for Linux users
Provides platform-specific configurations and file paths for macOS users
Enables execution of shell commands through tagged server capabilities
1MCP - One MCP Server for All
A unified Model Context Protocol server implementation that aggregates multiple MCP servers into one.
Table of Contents
- Overview
- Features
- Quick Start
- Commands
- Prerequisites
- Usage
- Docker
- Trust Proxy Configuration
- Understanding Tags
- Configuration
- Authentication
- Health Monitoring
- How It Works
- Development
- Contributing
- License
Overview
1MCP (One MCP) is designed to simplify the way you work with AI assistants. Instead of configuring multiple MCP servers for different clients (Claude Desktop, Cherry Studio, Cursor, Roo Code, Claude, etc.), 1MCP provides a single, unified server.
Features
- Unified Interface: Aggregates multiple MCP servers into one.
- Resource Friendly: Reduces system resource usage by eliminating redundant server instances.
- Simplified Configuration: Simplifies configuration management across different AI assistants.
- Standardized Interaction: Provides a standardized way for AI models to interact with external tools and resources.
- Dynamic Configuration: Supports dynamic configuration reloading without server restart.
- Async Loading: Optional asynchronous server loading with real-time capability updates via listChanged notifications.
- Graceful Shutdown: Handles graceful shutdown and resource cleanup.
- Secure: Includes comprehensive authentication and security features.
- Optimized: Supports advanced filtering, pagination, and request optimization.
- Health Monitoring: Built-in health check endpoints for monitoring and observability.
Quick Start
Get up and running with 1MCP in just a few steps:
1. Add MCP Servers
Add the MCP servers you want to use. Here are some popular examples:
2. Start the 1MCP Server
The server will start on http://127.0.0.1:3050
and show you which MCP servers are active.
3. Connect Your AI Assistant
For Cursor, add to ~/.cursor/mcp.json
or <project-root>/.cursor/mcp.json
:
For VSCode, add to settings.json
or <project-root>/.vscode/mcp.json
:
For Claude Code, run:
4. Verify Everything Works
Check server status and connected MCP servers:
Visit the health endpoint to see system status: http://127.0.0.1:3050/health
That's it! All your MCP servers are now available through one unified endpoint. 🎉
Commands
1MCP provides several commands to manage your MCP server configuration:
Core Commands
npx -y @1mcp/agent [serve]
- Start the 1MCP server (default command)--transport
- Choose transport type (stdio, http, sse)--config
- Use specific config file--port
- Change HTTP port
MCP Management
npx -y @1mcp/agent mcp add <name>
- Add a new MCP server to configurationnpx -y @1mcp/agent mcp remove <name>
- Remove an MCP servernpx -y @1mcp/agent mcp list
- List all configured MCP serversnpx -y @1mcp/agent mcp status [name]
- Show server status and detailsnpx -y @1mcp/agent mcp enable/disable <name>
- Enable or disable serversnpx -y @1mcp/agent mcp update <name>
- Update server configuration
App Integration
npx -y @1mcp/agent app consolidate
- Consolidate configurations from other MCP appsnpx -y @1mcp/agent app discover
- Discover MCP servers from installed applicationsnpx -y @1mcp/agent app list
- List discovered applicationsnpx -y @1mcp/agent app status
- Show consolidation status
For detailed command usage, run: 1mcp <command> --help
Full documentation: Commands Reference
Prerequisites
Usage
You can run the server directly using npx
:
Available options:
Option (CLI) | Environment Variable | Description | Default |
---|---|---|---|
--transport , -t | ONE_MCP_TRANSPORT | Choose transport type ("stdio", "http", or "sse") | "http" |
--config , -c | ONE_MCP_CONFIG | Use a specific config file | |
--port , -P | ONE_MCP_PORT | Change HTTP port | 3050 |
--host , -H | ONE_MCP_HOST | Change HTTP host | localhost |
--external-url , -u | ONE_MCP_EXTERNAL_URL | External URL for OAuth callbacks and public URLs (e.g., https://example.com) | |
--trust-proxy | ONE_MCP_TRUST_PROXY | Trust proxy configuration for client IP detection (boolean, IP, CIDR, preset) | "loopback" |
--tags , -g | ONE_MCP_TAGS | Filter servers by tags | |
--pagination , -p | ONE_MCP_PAGINATION | Enable pagination for client/server lists (boolean) | false |
--enable-auth | ONE_MCP_ENABLE_AUTH | Enable authentication (OAuth 2.1) | false |
--enable-scope-validation | ONE_MCP_ENABLE_SCOPE_VALIDATION | Enable tag-based scope validation (boolean) | true |
--enable-enhanced-security | ONE_MCP_ENABLE_ENHANCED_SECURITY | Enable enhanced security middleware (boolean) | false |
--session-ttl | ONE_MCP_SESSION_TTL | Session expiry time in minutes (number) | 1440 |
--session-storage-path | ONE_MCP_SESSION_STORAGE_PATH | Custom session storage directory path (string) | |
--rate-limit-window | ONE_MCP_RATE_LIMIT_WINDOW | OAuth rate limit window in minutes (number) | 15 |
--rate-limit-max | ONE_MCP_RATE_LIMIT_MAX | Maximum requests per OAuth rate limit window (number) | 100 |
| --enable-async-loading
| ONE_MCP_ENABLE_ASYNC_LOADING
| Enable asynchronous MCP server loading(boolean) | false |
| --health-info-level
| ONE_MCP_HEALTH_INFO_LEVEL
| Health endpoint information detail level ("full", "basic", "minimal") | "minimal" |
| --log-level
| ONE_MCP_LOG_LEVEL
| Set the log level ("debug", "info", "warn", "error") | "info" |
| --log-file
| ONE_MCP_LOG_FILE
| Write logs to a file in addition to console (disables console logging only for stdio transport) | |
| --help
, -h
| | Show help | |
Docker
You can also run 1MCP using Docker:
Available image tags:
latest
: Latest stable releasevX.Y.Z
: Specific version (e.g.v1.0.0
)sha-<commit>
: Specific commit
Examples:
Trust Proxy Configuration
When running 1MCP behind a reverse proxy, configure trust proxy settings for proper client IP detection:
See docs/TRUST_PROXY.md for detailed configuration options, security considerations, and reverse proxy setup examples.
Understanding Tags
Tags help you control which MCP servers are available to different clients. Think of tags as labels that describe what each server can do.
How to Use Tags
- In your server config: Add tags to each server to describe its capabilities
- When starting 1MCP in stdio mode: You can filter servers by tags
- When using SSE transport: Clients can request servers with specific tags
Example tags:
network
: For servers that make web requestsfilesystem
: For servers that handle file operationsmemory
: For servers that provide memory/storageshell
: For servers that run shell commandsdb
: For servers that handle database operations
Configuration
Global Configuration
The server automatically manages configuration in a global location:
- macOS/Linux:
~/.config/1mcp/mcp.json
- Windows:
%APPDATA%/1mcp/mcp.json
Configuration File Format
Authentication
1MCP supports OAuth 2.1 for secure authentication. To enable it, use the --enable-auth
flag. The --auth
flag is deprecated and will be removed in a future version.
When authentication is enabled, 1MCP acts as an OAuth 2.1 provider, allowing client applications to securely connect. This ensures that only authorized clients can access the MCP servers.
Health Monitoring
1MCP provides comprehensive health check endpoints for monitoring and observability:
Health Check Endpoints
GET /health
- Complete health status including system metrics, server status, and configurationGET /health/live
- Simple liveness probe (always returns 200 if server is running)GET /health/ready
- Readiness probe (returns 200 if configuration is loaded and ready)
Health Status Levels
healthy
- All systems operational (HTTP 200)degraded
- Some issues but still functional (HTTP 200)unhealthy
- Critical issues affecting functionality (HTTP 503)
Monitoring Integration
Use these endpoints with:
- Load balancers (health checks)
- Container orchestration (Kubernetes health probes)
- CI/CD pipelines (deployment validation)
How It Works
1MCP acts as a proxy, managing and aggregating multiple MCP servers. It starts and stops these servers as subprocesses and forwards requests from AI assistants to the appropriate server. This architecture allows for a single point of entry for all MCP traffic, simplifying management and reducing overhead.
System Architecture
Request Flow
Development
Install dependencies:
Build the server:
For development with auto-rebuild:
Run the server:
Debugging
Using the MCP Inspector, which is available as a package script:
The Inspector will provide a URL to access debugging tools in your browser.
Debugging & Source Maps
This project uses source-map-support to enhance stack traces. When you run the server, stack traces will reference the original TypeScript source files instead of the compiled JavaScript. This makes debugging much easier, as error locations and line numbers will match your source code.
No extra setup is required—this is enabled by default. If you see a stack trace, it will point to .ts
files and the correct line numbers. 🗺️
Contributing
Contributions are welcome! Please read our CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
License
This project is licensed under the Apache License 2.0. See the LICENSE file for details.
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
A unified Model Context Protocol server that aggregates multiple MCP servers into one, allowing AI assistants like Claude Desktop, Cursor, and Cherry Studio to connect to a single server instead of managing multiple instances.
Related MCP Servers
- -securityAlicense-qualityA simple MCP server for interacting with OpenAI assistants. This server allows other tools (like Claude Desktop) to create and interact with OpenAI assistants through the Model Context Protocol.Last updated -34PythonMIT License
- AsecurityAlicenseAqualityA foundation for building custom local Model Context Protocol (MCP) servers that provide tools accessible to AI assistants like Cursor or Claude Desktop.Last updated -128TypeScriptMIT License
- AsecurityFlicenseAqualityAn all-in-one Model Context Protocol (MCP) server that connects your coding AI to numerous databases, data warehouses, data pipelines, and cloud services, streamlining development workflow through seamless integrations.Last updated -2Python
- AsecurityFlicenseAqualityA Model Context Protocol (MCP) server that allows Claude AI to interact with custom tools, enabling extension of Claude's capabilities through the MCP framework.Last updated -TypeScript
Appeared in Searches
- Combining MCP Server Aggregator
- A solution for discovering and annotating .NET Framework projects with Chinese comments using modern tooling
- A server to manage Minecraft server platforms (MCP servers)
- Developing a Chrome Extension for Customizing or Managing Cursor Behavior
- Two agents working simultaneously