MCP Создать сервер
Динамическая служба управления сервером MCP, которая динамически создает, запускает и управляет серверами Model Context Protocol (MCP). Сама эта служба функционирует как сервер MCP и запускает/управляет другими серверами MCP как дочерними процессами, обеспечивая гибкую экосистему MCP.
Основные характеристики
Динамическое создание и выполнение кода сервера MCP
Поддержка только TypeScript (поддержка JavaScript и Python запланирована на будущие версии)
Выполнение инструмента на дочерних серверах MCP
Обновления и перезапуски кода сервера
Удаление ненужных серверов
Related MCP server: MCP Server
Установка
Примечание: Docker — рекомендуемый способ запуска этой службы.
Установка Docker (рекомендуется)
# Build Docker image
docker build -t mcp-create .
# Run Docker container
docker run -it --rm mcp-createРучная установка (только TypeScript)
# 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Интеграция с Claude Desktop
Добавьте следующее в файл конфигурации Claude Desktop ( claude_desktop_config.json ):
{
"mcpServers": {
"mcp-create": {
"command": "docker",
"args": ["run", "-i", "--rm", "mcp-create"]
}
}
}Доступные инструменты
Название инструмента | Описание | Входные параметры | Выход |
создать-сервер-из-шаблона | Создать MCP-сервер из шаблона | язык: строка | {serverId: строка, сообщение: строка } |
выполнить-инструмент | Выполнить инструмент на сервере | serverID: stringtoolName: stringargs: объект | Результат выполнения инструмента |
получить-сервер-инструменты | Получить список серверных инструментов | serverId: строка | { tools: ToolDefinition[] } |
удалить-сервер | Удалить сервер | serverId: строка | { успех: логическое значение, сообщение: строка } |
списки-серверов | Получить список работающих серверов | никто | { серверы: строка[] } |
Примеры использования
Создание нового сервера
{
"name": "create-server-from-template",
"arguments": {
"language": "typescript"
}
}Выполнение инструмента
{
"name": "execute-tool",
"arguments": {
"serverId": "ba7c9a4f-6ba8-4cad-8ec8-a41a08c19fac",
"toolName": "echo",
"args": {
"message": "Hello, dynamic MCP server!"
}
}
}Технические характеристики
Node.js 18 или выше
TypeScript (обязательно)
Зависимости:
@modelcontextprotocol/sdk: реализация клиент/сервер MCP
child_process (встроенный в Node.js): Управление дочерними процессами
fs/promises (встроенный в Node.js): Операции с файлами
uuid: Генерация уникального идентификатора сервера
Соображения безопасности
Ограничения на выполнение кода: рассмотрите возможность изоляции, поскольку служба выполняет произвольный код.
Ограничения ресурсов: установите ограничения на память, использование ЦП, количество файлов и т. д.
Мониторинг процессов: мониторинг и принудительное завершение зомби-процессов или процессов, вышедших из-под контроля.
Проверка пути: правильная проверка путей к файлам для предотвращения атак с обходом каталогов.
Лицензия
Массачусетский технологический институт