mcp-create

mcp-create avatar

by tesla0225

Community Servers

What is mcp-create

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.

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: stringtoolName: stringargs: 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

Leave a Comment

Comments section will be available soon. Stay tuned!

Frequently Asked Questions

What is MCP?

MCP (Model Context Protocol) is an open protocol that standardizes how applications provide context to LLMs. Think of MCP like a USB-C port for AI applications, providing a standardized way to connect AI models to different data sources and tools.

What are MCP Servers?

MCP Servers are lightweight programs that expose specific capabilities through the standardized Model Context Protocol. They act as bridges between LLMs like Claude and various data sources or services, allowing secure access to files, databases, APIs, and other resources.

How do MCP Servers work?

MCP Servers follow a client-server architecture where a host application (like Claude Desktop) connects to multiple servers. Each server provides specific functionality through standardized endpoints and protocols, enabling Claude to access data and perform actions through the standardized protocol.

Are MCP Servers secure?

Yes, MCP Servers are designed with security in mind. They run locally with explicit configuration and permissions, require user approval for actions, and include built-in security features to prevent unauthorized access and ensure data privacy.