MCP ExplorerExplorer

Create Server

@tesla0225on 12 days ago
68 MIT
FreeCommunity
MCP Tools
#dynamic#TypeScript
A dynamic MCP server management service that creates, runs, and manages Model Context Protocol servers on-the-fly.

Overview

What is Create Server

MCP Create Server is a dynamic management service for Model Context Protocol (MCP) servers that allows for the creation, execution, and management of child MCP servers. This service itself operates as an MCP server, enhancing the flexibility of the MCP ecosystem.

Use cases

Use cases include dynamically creating new MCP servers based on templates, executing tools on existing servers, retrieving server capabilities, and managing the lifecycle of these servers. This is particularly useful in scenarios requiring rapid server deployment and execution of specific tasks in isolated environments.

How to use

Users can run MCP Create Server using Docker for simplicity, or manually by cloning the repository and running a series of npm commands to start the service. Integration with other services, such as Claude Desktop, is facilitated through easy configuration file modifications that define how the MCP server should be executed.

Key features

The service features dynamic server creation and execution, a TypeScript-only environment (with plans for JavaScript and Python support), the ability to execute tools on child servers, server code updates and restarts, and functionalities for removing unnecessary servers. It is designed for efficient management of multiple MCP servers.

Where to use

MCP Create Server is ideal for developer environments where rapid prototyping and server management is essential, in cloud service applications, and in scenarios that require isolated execution of code, such as testing, sandboxing, or educational purposes, making it suitable for organizations that leverage microservices architecture.

Content

MCP Create Server

A dynamic MCP server management service that creates, runs, and manages Model Context Protocol (MCP) servers dynamically. This service itself functions as an MCP server and launches/manages other MCP servers as child processes, enabling a flexible MCP ecosystem.

Create Server MCP server

Key Features

  • Dynamic creation and execution of MCP server code
  • Support for TypeScript only (JavaScript and Python support planned for future releases)
  • Tool execution on child MCP servers
  • Server code updates and restarts
  • Removal of unnecessary servers

Installation

Note: Docker is the recommended way to run this service

Docker Installation (Recommended)

# Build Docker image
docker build -t mcp-create .

# Run Docker container
docker run -it --rm mcp-create

Manual Installation (TypeScript Only)

# Clone repository
git clone https://github.com/tesla0225/mcp-create.git
cd mcp-create

# Install dependencies
npm install

# Build
npm run build

# Run
npm start

Integration with Claude Desktop

Add the following to your Claude Desktop configuration file (claude_desktop_config.json):

{
  "mcpServers": {
    "mcp-create": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "mcp-create"
      ]
    }
  }
}

Available Tools

Tool Name Description Input Parameters Output
create-server-from-template Create MCP server from template language: string { serverId: string, message: string }
execute-tool Execute tool on server serverId: string
toolName: string
args: object
Tool execution result
get-server-tools Get list of server tools serverId: string { tools: ToolDefinition[] }
delete-server Delete server serverId: string { success: boolean, message: string }
list-servers Get list of running servers none { servers: string[] }

Usage Examples

Creating a New Server

{
  "name": "create-server-from-template",
  "arguments": {
    "language": "typescript"
  }
}

Executing a Tool

{
  "name": "execute-tool",
  "arguments": {
    "serverId": "ba7c9a4f-6ba8-4cad-8ec8-a41a08c19fac",
    "toolName": "echo",
    "args": {
      "message": "Hello, dynamic MCP server!"
    }
  }
}

Technical Specifications

  • Node.js 18 or higher
  • TypeScript (required)
  • Dependencies:
    • @modelcontextprotocol/sdk: MCP client/server implementation
    • child_process (Node.js built-in): Child process management
    • fs/promises (Node.js built-in): File operations
    • uuid: Unique server ID generation

Security Considerations

  • Code Execution Restrictions: Consider sandboxing as the service executes arbitrary code
  • Resource Limitations: Set limits on memory, CPU usage, number of files, etc.
  • Process Monitoring: Monitor and forcibly terminate zombie or runaway processes
  • Path Validation: Properly validate file paths to prevent directory traversal attacks

License

MIT

Tools

No tools

Comments