Skip to main content
Glama
tesla0225

MCP Create Server

by tesla0225

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

Related MCP server: MCP Server

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 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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/tesla0225/mcp-create'

If you have feedback or need assistance with the MCP directory API, please join our Discord server