MCP-Server erstellen
Ein dynamischer MCP-Serververwaltungsdienst, der Model Context Protocol (MCP)-Server dynamisch erstellt, ausführt und verwaltet. Dieser Dienst fungiert selbst als MCP-Server und startet/verwaltet andere MCP-Server als untergeordnete Prozesse und ermöglicht so ein flexibles MCP-Ökosystem.
Hauptmerkmale
Dynamische Erstellung und Ausführung von MCP-Servercode
Unterstützung nur für TypeScript (Unterstützung für JavaScript und Python ist für zukünftige Versionen geplant)
Toolausführung auf untergeordneten MCP-Servern
Servercode-Updates und Neustarts
Entfernung unnötiger Server
Related MCP server: MCP Server
Installation
Hinweis: Docker ist die empfohlene Methode zum Ausführen dieses Dienstes
Docker-Installation (empfohlen)
# Build Docker image
docker build -t mcp-create .
# Run Docker container
docker run -it --rm mcp-createManuelle Installation (nur TypeScript)
# Clone repository
git clone https://github.com/tesla0225/mcp-create.git
cd mcp-create
# Install dependencies
npm install
# Build
npm run build
# Run
npm startIntegration mit Claude Desktop
Fügen Sie Ihrer Claude Desktop-Konfigurationsdatei ( claude_desktop_config.json ) Folgendes hinzu:
{
"mcpServers": {
"mcp-create": {
"command": "docker",
"args": ["run", "-i", "--rm", "mcp-create"]
}
}
}Verfügbare Tools
Werkzeugname | Beschreibung | Eingabeparameter | Ausgabe |
Server aus Vorlage erstellen | MCP-Server aus Vorlage erstellen | Sprache: Zeichenfolge | { serverId: string, message: string } |
Ausführungstool | Tool auf dem Server ausführen | serverId: stringtoolName: stringargs: object | Ergebnis der Toolausführung |
Get-Server-Tools | Liste der Servertools abrufen | Server-ID: Zeichenfolge | { Werkzeuge: Werkzeugdefinition[] } |
Server löschen | Server löschen | Server-ID: Zeichenfolge | { Erfolg: Boolesch, Nachricht: Zeichenfolge } |
Listenserver | Liste der laufenden Server abrufen | keiner | { Server: Zeichenfolge[] } |
Anwendungsbeispiele
Erstellen eines neuen Servers
{
"name": "create-server-from-template",
"arguments": {
"language": "typescript"
}
}Ausführen eines Tools
{
"name": "execute-tool",
"arguments": {
"serverId": "ba7c9a4f-6ba8-4cad-8ec8-a41a08c19fac",
"toolName": "echo",
"args": {
"message": "Hello, dynamic MCP server!"
}
}
}Technische Spezifikationen
Node.js 18 oder höher
TypeScript (erforderlich)
Abhängigkeiten:
@modelcontextprotocol/sdk: MCP-Client/Server-Implementierung
child_process (in Node.js integriert): Verwaltung untergeordneter Prozesse
fs/promises (in Node.js integriert): Dateioperationen
uuid: Eindeutige Server-ID-Generierung
Sicherheitsüberlegungen
Einschränkungen bei der Codeausführung: Erwägen Sie Sandboxing, da der Dienst beliebigen Code ausführt
Ressourcenbeschränkungen: Legen Sie Beschränkungen für Speicher, CPU-Auslastung, Anzahl der Dateien usw. fest.
Prozessüberwachung: Zombie- oder außer Kontrolle geratene Prozesse überwachen und zwangsweise beenden
Pfadvalidierung: Validieren Sie Dateipfade ordnungsgemäß, um Directory-Traversal-Angriffe zu verhindern
Lizenz
MIT