MCP Create Server

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

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.

<a href="https://glama.ai/mcp/servers/lnl6xjkkeq"> <img width="380" height="200" src="https://glama.ai/mcp/servers/lnl6xjkkeq/badge" alt="Create Server MCP server" /> </a>

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

# 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 NameDescriptionInput ParametersOutput
create-server-from-templateCreate MCP server from templatelanguage: string{ serverId: string, message: string }
execute-toolExecute tool on serverserverId: string<br>toolName: string<br>args: objectTool execution result
get-server-toolsGet list of server toolsserverId: string{ tools: ToolDefinition[] }
delete-serverDelete serverserverId: string{ success: boolean, message: string }
list-serversGet list of running serversnone{ 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

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

A dynamic service that creates and manages Model Context Protocol (MCP) servers, allowing users to spawn, customize, and control multiple MCP servers as child processes.

  1. Key Features
    1. Installation
      1. Docker Installation (Recommended)
        1. Manual Installation (TypeScript Only)
        2. Integration with Claude Desktop
          1. Available Tools
            1. Usage Examples
              1. Creating a New Server
                1. Executing a Tool
                2. Technical Specifications
                  1. Security Considerations
                    1. License