1MCP - Ein MCP-Server für alle
Eine einheitliche Model Context Protocol-Serverimplementierung, die mehrere MCP-Server zu einem einzigen zusammenfasst.
Überblick
1MCP (One MCP) vereinfacht die Arbeit mit KI-Assistenten. Anstatt mehrere MCP-Server für verschiedene Clients (Claude Desktop, Cherry Studio, Cursor, Roo Code, Claude usw.) zu konfigurieren, bietet 1MCP einen einzigen, einheitlichen Server, der:
Aggregiert mehrere MCP-Server in einer einheitlichen Schnittstelle
Reduziert die Nutzung von Systemressourcen durch die Eliminierung redundanter Serverinstanzen
Vereinfacht das Konfigurationsmanagement verschiedener KI-Assistenten
Bietet eine standardisierte Möglichkeit für KI-Modelle, mit externen Tools und Ressourcen zu interagieren
Unterstützt dynamisches Neuladen der Konfiguration ohne Serverneustart
Verwaltet ordnungsgemäßes Herunterfahren und Bereinigung der Ressourcen
Related MCP server: MCP Starter
Schnellstart
Um Cursor die Verwendung vorhandener MCP-Server zu ermöglichen, die bereits in Claude Desktop konfiguriert sind, führen Sie die folgenden Schritte aus:
Führen Sie den 1MCP-Server mit der Claude Desktop-Konfigurationsdatei aus:
npx -y @1mcp/agent --config ~/Library/Application\ Support/Claude/claude_desktop_config.jsonFügen Sie den 1MCP-Server zu Ihrer Cursor-Konfigurationsdatei (
~/.cursor/mcp.json) hinzu:
{
"mcpServers": {
"1mcp": {
"type": "http",
"url": "http://localhost:3050/sse"
}
}
}Genießen Sie es!
Verwendung
Sie können den Server direkt mit npx ausführen:
# 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 --helpVerfügbare Optionen:
--transport, -t: Transporttyp auswählen ("stdio" oder "http", Standard: "http")--config, -c: Verwenden Sie eine bestimmte Konfigurationsdatei--port, -P: HTTP-Port ändern (Standard: 3050)--host, -H: HTTP-Host ändern (Standard: localhost)--tags, -g: Server nach Tags filtern (siehe Abschnitt „Tags“ weiter unten)--help, -h: Hilfe anzeigen
Beispiel mit Umgebungsvariablen:
# 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/agentDocker
Sie können 1MCP auch mit Docker ausführen:
# 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 stdioVerfügbare Bild-Tags:
latest: Neueste stabile VersionvX.YZ: Bestimmte Version (zBv1.0.0)sha-<commit>: Spezifisches Commit
Umgebungsvariablen
Sie können 1MCP mithilfe von Umgebungsvariablen mit dem Präfix ONE_MCP_ konfigurieren:
ONE_MCP_TRANSPORT: Transporttyp („stdio“ oder „http“, Standard: „http“)ONE_MCP_PORT: HTTP-Port (Standard: 3050)ONE_MCP_HOST: HTTP-Host (Standard: „localhost“)ONE_MCP_CONFIG: Pfad zur KonfigurationsdateiONE_MCP_TAGS: Komma-getrennte Liste von Tags zum Filtern von Servern
Beispiel mit Umgebungsvariablen:
docker run -p 3051:3051 \
-e ONE_MCP_PORT=3051 \
-e ONE_MCP_TAGS=network,filesystem \
ghcr.io/1mcp-app/agentTags verstehen
Mithilfe von Tags können Sie steuern, welche MCP-Server für welche Clients verfügbar sind. Stellen Sie sich Tags als Beschriftungen vor, die beschreiben, was jeder Server tun kann.
So verwenden Sie Tags
In Ihrer Serverkonfiguration : Fügen Sie jedem Server Tags hinzu, um seine Fähigkeiten zu beschreiben
{
"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
}
}
}Beim Starten von 1MCP im Standardmodus : Sie können Server nach Tags filtern
# 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"Bei Verwendung von SSE-Transport : Clients können Server mit bestimmten Tags anfordern
{
"mcpServers": {
"1mcp": {
"type": "http",
"url": "http://localhost:3050/sse?tags=network" // Only connect to network-capable servers
}
}
}Beispiel-Tags:
network: Für Server, die Webanforderungen stellenfilesystem: Für Server, die Dateioperationen verarbeitenmemory: Für Server, die Speicher/Speicherplatz bereitstellenshell: Für Server, die Shell-Befehle ausführendb: Für Server, die Datenbankoperationen verarbeiten
Konfiguration
Globale Konfiguration
Der Server verwaltet die Konfiguration automatisch an einem globalen Standort:
macOS/Linux:
~/.config/1mcp/mcp.jsonWindows:
%APPDATA%/1mcp/mcp.json
Konfigurationsdateiformat
{
"mcpServers": {
"mcp-server-fetch": {
"command": "uvx",
"args": [
"mcp-server-fetch"
],
"disabled": false
},
"server-memory": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-memory"
],
"disabled": false
}
}
}Wie es funktioniert
Systemarchitektur
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| S3Anforderungsfluss
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 1MCPEntwicklung
Installieren Sie Abhängigkeiten:
pnpm installErstellen Sie den Server:
pnpm buildFür die Entwicklung mit automatischem Rebuild:
pnpm watchFühren Sie den Server aus:
pnpm devDebuggen
Verwenden des MCP Inspector , der als Paketskript verfügbar ist:
pnpm inspectorDer Inspector stellt eine URL für den Zugriff auf Debugging-Tools in Ihrem Browser bereit.