https://github.com/tesla0225/mcp-create
https://github.com/tesla0225/mcp-create
Last synced: 22 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/tesla0225/mcp-create
- Owner: tesla0225
- Created: 2025-03-09T02:57:35.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2025-03-09T03:26:18.000Z (about 2 months ago)
- Last Synced: 2025-03-09T04:17:27.769Z (about 2 months ago)
- Language: TypeScript
- Size: 22.5 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-mcp-servers - MCP Create - Dynamically creates, manages, and runs Model Context Protocol (MCP) servers (Table of Contents / Other Tools and Integrations)
- awesome-mcp-servers - MCP Create - Dynamically creates, manages, and runs Model Context Protocol (MCP) servers (Table of Contents / Other Tools and Integrations)
README
# 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)
```bash
# Build Docker image
docker build -t mcp-create .# Run Docker container
docker run -it --rm mcp-create
```### Manual Installation (TypeScript Only)
```bash
# 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`):
```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
```json
{
"name": "create-server-from-template",
"arguments": {
"language": "typescript"
}
}
```### Executing a Tool
```json
{
"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