MCP Now
MCP Create

MCP Create

by tesla0225
GitHub

A dynamic MCP server management service that creates, runs, and manages Model Context Protocol servers on-the-fly.

server
tool
docker
serverid
service

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

1# Build Docker image 2docker build -t mcp-create . 3 4# Run Docker container 5docker run -it --rm mcp-create

Manual Installation (TypeScript Only)

1# Clone repository 2git clone https://github.com/tesla0225/mcp-create.git 3cd mcp-create 4 5# Install dependencies 6npm install 7 8# Build 9npm run build 10 11# Run 12npm start

Integration with Claude Desktop

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

1{ 2 "mcpServers": { 3 "mcp-create": { 4 "command": "docker", 5 "args": ["run", "-i", "--rm", "mcp-create"] 6 } 7 } 8}

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

1{ 2 "name": "create-server-from-template", 3 "arguments": { 4 "language": "typescript" 5 } 6}

Executing a Tool

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

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