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.
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:
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.jsonAgregue el servidor 1MCP a su archivo de configuración de Cursor (
~/.cursor/mcp.json):
{
"mcpServers": {
"1mcp": {
"type": "http",
"url": "http://localhost:3050/sse"
}
}
}¡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 --helpOpciones 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/agentEstibador
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 stdioEtiquetas de imagen disponibles:
latestversión establevX.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ónONE_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/agentEntendiendo 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
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
}
}
}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"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 webfilesystem: para servidores que manejan operaciones de archivosmemory: Para servidores que proporcionan memoria/almacenamientoshell: para servidores que ejecutan comandos de shelldb: 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.jsonVentanas:
%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| S3Flujo 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 1MCPDesarrollo
Instalar dependencias:
pnpm installConstruir el servidor:
pnpm buildPara desarrollo con reconstrucción automática:
pnpm watchEjecutar el servidor:
pnpm devDepuración
Usando el Inspector MCP , que está disponible como un script de paquete:
pnpm inspectorEl Inspector proporcionará una URL para acceder a las herramientas de depuración en su navegador.