MCP ColonyOS服务器
用于与ColonyOS交互的MCP(模型上下文协议)服务器,ColonyOS是一个分布式元编排器框架,用于跨异构平台无缝执行计算工作负载。
什么是ColonyOS?
ColonyOS是一个分布式计算框架,可以创建 计算连续体 跨云、边缘、HPC、物联网设备等。它使用基于代理的架构,其中:
- 殖民地 是由网络执行器组成的分布式运行时环境
- 执行器 是负责拉取和执行流程的分布式工作人员
- 过程 是具有状态(WAITING)的计算工作负载→ 跑步→ 成功/失败)
- 功能规格 定义要运行的计算和执行条件
特性
此MCP服务器提供与ColonyOS交互的工具:
进程管理
submit_function_spec-向群体提交计算任务get_process-获取有关流程的详细信息list_waiting_processes-列出等待执行的进程list_running_processes-列出当前正在运行的进程list_successful_processes-列出已完成的成功流程list_failed_processes-列出失败的进程close_process_successful-将正在运行的进程标记为已成功完成close_process_failed-将正在运行的进程标记为失败,并显示错误消息delete_process-永久删除进程及其历史记录
执行人管理
list_executors-列出所有已注册的执行人get_executor-获取详细的执行人信息add_executor-注册新的执行人approve_executor-批准执行人开始处理list_functions_by_executor-列出特定执行器可以处理的所有函数list_functions_by_colony-列出殖民地中所有执行者的所有可用功能
群体管理
get_colony-获取当前殖民地的信息
开发服务器管理
start_colonies_dev_server-使用Docker启动本地ColonyOS开发环境stop_colonies_dev_server-停止开发服务器,并可选择删除卷check_colonies_server_status-检查服务器是否运行正常get_colonies_logs-查看服务器容器中的日志
执行器运行时管理
start_python_executor-启动一个连接到开发服务器的Python执行器stop_python_executor-停止正在运行的Python执行器list_running_executors-列出此MCP服务器启动的所有执行器
安全和密钥管理
generate_keypair-为殖民地、执行者、用户或服务器生成新的Ed25519密钥对(ID和私钥)
安装
- 克隆此存储库:
cd /home/ayag/git/mcp-colonies- 安装依赖项:
pip install -e .或者从PyPI安装(发布时):
pip install mcp-colonies配置
服务器要求通过环境变量配置ColonyOS凭据。
- 复制示例环境文件:
cp .env.example .env- 编辑
.env使用您的ColonyOS凭据:
# ColonyOS Server Configuration
COLONIES_SERVER_HOST=localhost
COLONIES_SERVER_PORT=8080
COLONIES_SERVER_TLS=false
# Colony Configuration
COLONIES_COLONY_NAME=your_colony_name
COLONIES_COLONY_PRVKEY=your_colony_private_key
# Executor Configuration (optional)
COLONIES_EXECUTOR_NAME=your_executor_name
COLONIES_EXECUTOR_PRVKEY=your_executor_private_key快速入门:当地发展环境
最简单的入门方法是使用内置的开发服务器管理工具:
- 克隆ColonyOS存储库 (如果尚未完成):
cd ~/git # or your preferred location
git clone https://github.com/colonyos/colonies.git- 设置.env文件 在殖民地存储库中:
cd ~/git/colonies
cp .env.example .env
# Edit .env if needed - the defaults work for local development- 使用Claude启动开发服务器:
一旦在Claude Desktop中配置了MCP服务器(见下文),您只需询问Claude:
Start the ColonyOS development server克劳德将使用 start_colonies_dev_server 使用Docker Compose自动启动所有服务(TimescaleDB、MinIO、Colonies服务器)的工具。
- 检查服务器状态:
Check if the ColonyOS server is running替代方案:手动设置
如果您更喜欢手动设置或需要自定义配置:
- 启动ColonyOS服务器:
cd ~/git/colonies
docker-compose up -d- 开发环境会自动创建:
- 殖民地(检查 .env 为了 COLONIES_COLONY_NAME 和证书) - 通过协调器执行Docker
- 在MCP服务器配置中使用这些凭据
请参阅 ColonyOS文档 了解更多详情。
使用Claude Desktop
将此服务器添加到您的Claude Desktop配置中:
macOS
编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"colonies": {
"command": "python",
"args": ["-m", "mcp_colonies.server"],
"env": {
"COLONIES_SERVER_HOST": "localhost",
"COLONIES_SERVER_PORT": "8080",
"COLONIES_SERVER_TLS": "false",
"COLONIES_COLONY_NAME": "your_colony_name",
"COLONIES_COLONY_PRVKEY": "your_colony_private_key",
"COLONIES_EXECUTOR_NAME": "your_executor_name",
"COLONIES_EXECUTOR_PRVKEY": "your_executor_private_key"
}
}
}
}Linux
编辑 ~/.config/Claude/claude_desktop_config.json 具有相同的配置。
视窗
编辑 %APPDATA%\Claude\claude_desktop_config.json 具有相同的配置。
示例用法
配置后,您可以使用Claude与您的ColonyOS集群进行交互:
管理开发服务器:
Start the ColonyOS development server
Check the status of the ColonyOS server
Show me the logs from the colonies-server
Stop the ColonyOS development server生成密钥对:
Generate a keypair for a new colony
Generate a keypair for an executor启动执行器:
Start a Python executor
List running executors
Submit a function spec with func_name "echo" and executor_type "python-executor" with kwargs {"message": "Hello from Claude!"}
Stop the Python executor提交任务:
Submit a function spec with:
- func_name: "process_image"
- executor_type: "gpu-worker"
- kwargs: {"image_url": "https://example.com/image.jpg", "model": "yolo"}
- max_exec_time: 300检查流程状态:
Get the status of process abc123def456执行人名单:
Show me all executors in the colony发现可用功能:
What functions are available in the colony?
What functions can the executor "mcp-executor" handle?
List all functions by colony监控正在运行的任务:
List all currently running processes管理流程生命周期:
Mark process abc123 as successful
Mark process def456 as failed with error message "Timeout exceeded"
Delete process xyz789发展
以开发模式运行
- 安装开发依赖项:
pip install -e ".[dev]"- 直接运行服务器:
python -m mcp_colonies.server测试
pytest tests/代码格式化
black src/
ruff check src/建筑
此MCP服务器封装了官方 pycolonies Python SDK为ColonyOS操作提供MCP工具。它
- 从环境变量初始化ColonyOS客户端
- 将ColonyOS操作作为MCP工具公开
- 使用Ed25519加密签名处理身份验证
- 将格式化结果返回给Claude
用例
使用此MCP服务器,Claude可以帮助您:
- 监控分布式工作流 -检查整个计算连续体中的任务状态
- 提交计算作业 -部署ML/AI工作负载、数据处理管道
- 管理执行者 -在您的殖民地注册和批准新工人
- 调试失败 -调查失败的流程及其错误消息
- 编排复杂的工作流程 -提交多步骤计算管道
链接
许可证
麻省理工学院
贡献
欢迎投稿!请随时提交拉取请求。
