1MCP Server

by 1mcp-app

Integrations

  • 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

1MCP - One MCP Server for All

A unified Model Context Protocol server implementation that aggregates multiple MCP servers into one.

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 that:

  • Aggregates multiple MCP servers into one unified interface
  • Reduces system resource usage by eliminating redundant server instances
  • Simplifies configuration management across different AI assistants
  • Provides a standardized way for AI models to interact with external tools and resources
  • Supports dynamic configuration reloading without server restart
  • Handles graceful shutdown and resource cleanup

Quick Start

To enable Cursor to use existing MCP servers already configured in Claude Desktop, follow these steps:

  1. Run the 1MCP server with the Claude Desktop config file:
npx -y @1mcp/agent --config ~/Library/Application\ Support/Claude/claude_desktop_config.json
  1. Add the 1MCP server to your Cursor config file (~/.cursor/mcp.json):
{ "mcpServers": { "1mcp": { "type": "http", "url": "http://localhost:3050/sse" } } }
  1. Enjoy it!

Usage

You can run the server directly using npx:

# Basic usage (starts server with SSE transport) npx -y @1mcp/agent # Use existing Claude Desktop config npx -y @1mcp/agent --config ~/Library/Application\ Support/Claude/claude_desktop_config.json # Use stdio transport instead of SSE npx -y @1mcp/agent --transport stdio # Show all available options npx -y @1mcp/agent --help

Available options:

  • --transport, -t: Choose transport type ("stdio" or "http", default: "http")
  • --config, -c: Use a specific config file
  • --port, -P: Change HTTP port (default: 3050)
  • --host, -H: Change HTTP host (default: localhost)
  • --tags, -g: Filter servers by tags (see Tags section below)
  • --help, -h: Show help

Example with environment variables:

# Using environment variables ONE_MCP_PORT=3051 ONE_MCP_TAGS=network,filesystem npx -y @1mcp/agent # Or in your shell configuration export ONE_MCP_PORT=3051 export ONE_MCP_TAGS=network,filesystem npx -y @1mcp/agent

Docker

You can also run 1MCP using Docker:

# Pull the latest image docker pull ghcr.io/1mcp-app/agent:latest # Run with HTTP transport (default) docker run -p 3050:3050 ghcr.io/1mcp-app/agent # Run with a custom config file docker run -p 3050:3050 -v /path/to/config.json:/config.json ghcr.io/1mcp-app/agent --config /config.json # Run with stdio transport docker run -i ghcr.io/1mcp-app/agent --transport stdio

Available image tags:

  • latest: Latest stable release
  • vX.Y.Z: Specific version (e.g. v1.0.0)
  • sha-<commit>: Specific commit

Environment Variables

You can configure 1MCP using environment variables prefixed with ONE_MCP_:

  • ONE_MCP_TRANSPORT: Transport type ("stdio" or "http", default: "http")
  • ONE_MCP_PORT: HTTP port (default: 3050)
  • ONE_MCP_HOST: HTTP host (default: "localhost")
  • ONE_MCP_CONFIG: Path to config file
  • ONE_MCP_TAGS: Comma-separated list of tags to filter servers

Example with environment variables:

docker run -p 3051:3051 \ -e ONE_MCP_PORT=3051 \ -e ONE_MCP_TAGS=network,filesystem \ ghcr.io/1mcp-app/agent

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
  1. In your server config: Add tags to each server to describe its capabilities
{ "mcpServers": { "web-server": { "command": "uvx", "args": ["mcp-server-fetch"], "tags": ["network", "web"], "disabled": false }, "file-server": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "~/Downloads"], "tags": ["filesystem"], "disabled": false } } }
  1. When starting 1MCP in stdio mode: You can filter servers by tags
# Only start servers with the "network" tag npx -y @1mcp/agent --transport stdio --tags "network" # Start servers with either "network" or "filesystem" tags npx -y @1mcp/agent --transport stdio --tags "network,filesystem"
  1. When using SSE transport: Clients can request servers with specific tags
{ "mcpServers": { "1mcp": { "type": "http", "url": "http://localhost:3050/sse?tags=network" // Only connect to network-capable servers } } }

Example tags:

  • network: For servers that make web requests
  • filesystem: For servers that handle file operations
  • memory: For servers that provide memory/storage
  • shell: For servers that run shell commands
  • db: 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

{ "mcpServers": { "mcp-server-fetch": { "command": "uvx", "args": [ "mcp-server-fetch" ], "disabled": false }, "server-memory": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-memory" ], "disabled": false } } }

How It Works

System Architecture

Request Flow

Development

Install dependencies:

pnpm install

Build the server:

pnpm build

For development with auto-rebuild:

pnpm watch

Run the server:

pnpm dev

Debugging

Using the MCP Inspector, which is available as a package script:

pnpm inspector

The Inspector will provide a URL to access debugging tools in your browser.

-
security - not tested
A
license - permissive license
-
quality - not tested

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.

  1. Overview
    1. Quick Start
      1. Usage
        1. Docker
          1. Environment Variables
          2. Understanding Tags
        2. Configuration
          1. Global Configuration
          2. Configuration File Format
        3. How It Works
          1. System Architecture
          2. Request Flow
        4. Development
          1. Debugging

        Related MCP Servers

        • A
          security
          A
          license
          A
          quality
          A Model Context Protocol (MCP) server that exposes the official Notion SDK, allowing AI models to interact with Notion workspaces.
          Last updated -
          17
          77
          7
          TypeScript
          Apache 2.0
          • Apple
          • Linux
        • A
          security
          F
          license
          A
          quality
          Model Context Protocol (MCP) server that integrates Redash with AI assistants like Claude, allowing them to query data, manage visualizations, and interact with dashboards through natural language.
          Last updated -
          10
          53
          16
          JavaScript
          • Apple
        • -
          security
          A
          license
          -
          quality
          A Model Context Protocol server that connects Claude and other MCP clients to Aider, enabling AI assistants to efficiently edit files, create new files, and interact with git repositories through natural language.
          Last updated -
          9
          Python
          The Unlicense
          • Linux
          • Apple
        • -
          security
          F
          license
          -
          quality
          A starter template for building Model Context Protocol (MCP) servers, enabling developers to create and add custom tools that can be integrated with Claude Desktop.
          Last updated -
          TypeScript
          • Apple

        View all related MCP servers

        ID: ttsuowc5pm