Skip to main content
Glama

1MCP - Un servidor MCP para todos

Una implementación de servidor de protocolo de contexto de modelo unificado que agrega múltiples servidores MCP en uno.

Versión NPM Licencia NPM insignia de herrería

Descripción general

1MCP (One MCP) está diseñado para simplificar el trabajo con asistentes de IA. En lugar de configurar varios servidores MCP para diferentes clientes (Claude Desktop, Cherry Studio, Cursor, Roo Code, Claude, etc.), 1MCP proporciona un único servidor unificado que:

  • Agrega múltiples servidores MCP en una interfaz unificada

  • Reduce el uso de recursos del sistema al eliminar instancias de servidor redundantes

  • Simplifica la gestión de la configuración en diferentes asistentes de IA

  • Proporciona una forma estandarizada para que los modelos de IA interactúen con herramientas y recursos externos.

  • Admite la recarga de configuración dinámica sin reiniciar el servidor

  • Maneja el apagado elegante y la limpieza de recursos

Related MCP server: MCP Starter

Inicio rápido

Para permitir que Cursor use servidores MCP existentes ya configurados en Claude Desktop, siga estos pasos:

  1. Ejecute el servidor 1MCP con el archivo de configuración de Claude Desktop:

npx -y @1mcp/agent --config ~/Library/Application\ Support/Claude/claude_desktop_config.json
  1. Agregue el servidor 1MCP a su archivo de configuración de Cursor ( ~/.cursor/mcp.json ):

{
    "mcpServers": {
        "1mcp": {
            "type": "http",
            "url": "http://localhost:3050/sse"
        }
    }
}
  1. ¡Disfrútala!

Uso

Puedes ejecutar el servidor directamente usando 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

Opciones disponibles:

  • --transport, -t : Elija el tipo de transporte ("stdio" o "http", predeterminado: "http")

  • --config, -c : utilizar un archivo de configuración específico

  • --port, -P : Cambiar el puerto HTTP (predeterminado: 3050)

  • --host, -H : Cambiar el host HTTP (predeterminado: localhost)

  • --tags, -g : Filtrar servidores por etiquetas (ver la sección Etiquetas a continuación)

  • --help, -h : Mostrar ayuda

Ejemplo con variables de entorno:

# 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

Estibador

También puedes ejecutar 1MCP usando 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

Etiquetas de imagen disponibles:

  • latest versión estable

  • vX.YZ : Versión específica (por ejemplo, v1.0.0 )

  • sha-<commit> : Confirmación específica

Variables de entorno

Puede configurar 1MCP utilizando variables de entorno con el prefijo ONE_MCP_ :

  • ONE_MCP_TRANSPORT : Tipo de transporte ("stdio" o "http", predeterminado: "http")

  • ONE_MCP_PORT : puerto HTTP (predeterminado: 3050)

  • ONE_MCP_HOST : host HTTP (predeterminado: "localhost")

  • ONE_MCP_CONFIG : Ruta al archivo de configuración

  • ONE_MCP_TAGS : Lista de etiquetas separadas por comas para filtrar servidores

Ejemplo con variables de entorno:

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

Entendiendo las etiquetas

Las etiquetas te ayudan a controlar qué servidores MCP están disponibles para cada cliente. Piensa en las etiquetas como etiquetas que describen lo que cada servidor puede hacer.

Cómo usar etiquetas

  1. En la configuración de su servidor : agregue etiquetas a cada servidor para describir sus capacidades

{
  "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. Al iniciar 1MCP en modo stdio : puedes filtrar servidores por etiquetas

# 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. Al utilizar el transporte SSE : los clientes pueden solicitar servidores con etiquetas específicas

{
    "mcpServers": {
        "1mcp": {
            "type": "http",
            "url": "http://localhost:3050/sse?tags=network"  // Only connect to network-capable servers
        }
    }
}

Etiquetas de ejemplo:

  • network : Para servidores que realizan solicitudes web

  • filesystem : para servidores que manejan operaciones de archivos

  • memory : Para servidores que proporcionan memoria/almacenamiento

  • shell : para servidores que ejecutan comandos de shell

  • db : Para servidores que manejan operaciones de bases de datos

Configuración

Configuración global

El servidor administra automáticamente la configuración en una ubicación global:

  • macOS/Linux: ~/.config/1mcp/mcp.json

  • Ventanas: %APPDATA%/1mcp/mcp.json

Formato del archivo de configuración

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

Cómo funciona

Arquitectura del sistema

graph TB
    subgraph "AI Assistants"
        A1[Claude Desktop]
        A2[Cursor]
        A3[Cherry Studio]
        A4[Roo Code]
    end

    subgraph "1MCP Server"
        MCP[1MCP Agent]
    end

    subgraph "MCP Servers"
        S1[Server 1]
        S2[Server 2]
        S3[Server 3]
    end

    A1 -->|http| MCP
    A2 -->|http| MCP
    A3 -->|http| MCP
    A4 -->|http| MCP

    MCP --> |http| S1
    MCP --> |stdio| S2
    MCP --> |stdio| S3

Flujo de solicitud

sequenceDiagram
    participant Client as AI Assistant
    participant 1MCP as 1MCP Server
    participant MCP as MCP Servers

    Client->>1MCP: Send MCP Request
    activate 1MCP

    1MCP->>1MCP: Validate Request
    1MCP->>1MCP: Load Config
    1MCP->>MCP: Forward Request
    activate MCP

    MCP-->>1MCP: Response
    deactivate MCP

    1MCP-->>Client: Forward Response
    deactivate 1MCP

Desarrollo

Instalar dependencias:

pnpm install

Construir el servidor:

pnpm build

Para desarrollo con reconstrucción automática:

pnpm watch

Ejecutar el servidor:

pnpm dev

Depuración

Usando el Inspector MCP , que está disponible como un script de paquete:

pnpm inspector

El Inspector proporcionará una URL para acceder a las herramientas de depuración en su navegador.

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/1mcp-app/agent'

If you have feedback or need assistance with the MCP directory API, please join our Discord server