关于 Skynet-MCP (THIS PROJECT IS A WORK IN PROGRESS)
Skynet-MCP 是一个通过 MCP 协调层级式 AI Agent 的开发中项目。每个实例可同时作为服务端和客户端,发现已连接服务的工具并创建子 Agent 任务;Agent 框架尚未实现。
主要功能
- 01MCP 服务端和客户端模式
- 02发现已连接服务的工具
- 03创建和管理子 Agent
- 04延迟执行任务并获取结果
- 05STDIO 和 SSE 传输方式
适用场景
- 01拆解复杂研究任务
- 02将工作委派给子 Agent
- 03异步运行任务并查询结果
MCP 相关
每个实例既是 MCP 服务,也是 MCP 客户端:它向上级 Agent 提供 Agent 任务工具,并可发现已连接 MCP 服务的工具。项目仍在开发中,Agent 框架尚待实现。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Skynet-MCP(此项目仍在开发中)
一个使用 Model Context Protocol(MCP)的分层 AI Agent 网络。该网络中的 AI Agent 可以创建新的 Agent 来执行任务,每个 Agent 还包含发起 Agent 所拥有的全部工具。 该 Agent 网络能够处理复杂任务,涵盖研究、报告编写和编码等。
借助不断扩大的 MCP 服务集合,每个 Agent 都可能拥有大量工具,可用于执行各种任务。
想要帮忙吗?
如果你喜欢这个想法,并且精通 TypeScript,我很需要你的帮助!如果你愿意贡献力量,请联系我。
概述
Skynet-MCP 是一种先进的架构,使用 Model Context Protocol(MCP)构建分层 AI Agent 网络。每个 Skynet-MCP 实例既是 MCP 服务,也是 MCP 客户端,因此既可以向父级 Agent 提供工具,也可以创建和管理子 Agent。
这种架构支持递归的 Agent 网络,能够拆解复杂任务、并行处理工作,并整合多个模型和服务的专用能力。
功能
- 双模式运行:既是 MCP 服务,也是客户端
- 大模型集成:连接 OpenAI 或 Anthropic 模型,实现智能决策
- 工具发现:自动发现并使用已连接 MCP 服务中的工具
- 分层 Agent 管理:创建和管理子 Agent
- 可配置:灵活的配置系统,支持多种环境
- FastMCP 集成:基于高效的 FastMCP 框架构建,可稳健地实现 MCP 服务
- 多种传输选项:支持 STDIO 和 SSE(Server-Sent Events)传输
- 延迟执行:异步运行任务,并在之后轮询结果
MCP 工具
Skynet-MCP 通过 FastMCP 实现提供以下 MCP 工具:
-
Invoke:创建并管理 Agent 任务
- 参数:
mcpConfig:MCP 服务配置(Agent 可用的工具)llmConfig:大模型配置(要使用的提供方和模型)prompt:Agent 任务的指令delayedExecution:布尔值,表示是否应异步运行任务
- 参数:
-
DelayedResponse:获取异步任务的结果
- 参数:
taskId:要查询的任务 ID
- 返回:任务状态和结果(如果已完成)
- 参数:
Agent
Agent 框架仍有待实现。
项目结构
skynet-mcp/
├── src/
│ ├── server/ # MCP server implementation
│ ├── client/ # MCP client implementation
│ ├── orchestrator/ # Agent orchestration
│ ├── tools/ # Agent tools
│ ├── persistence/ # State management
│ └── utils/ # Shared utilities
├── test/
│ ├── unit/ # Unit tests
│ └── integration/ # Integration tests
├── examples/ # Example implementations
└── config/ # Configuration files
开发
前置条件
- Node.js(v20+)
- npm
- Docker 和 Docker Compose(可选,用于容器化开发)
- OpenAI 或 Anthropic 的 API 密钥(用于由大模型驱动的 Agent)
设置
- 克隆仓库
- 安装依赖:
npm install
可用脚本
基本开发命令
npm run build- 构建项目npm run test- 运行测试npm run test:watch- 以监视模式运行测试npm run test:coverage- 运行测试并生成覆盖率报告npm run lint- 检查代码npm run lint:fix- 检查并修复代码npm run format- 格式化代码npm run dev- 以监视模式运行 TypeScriptnpm start- 启动应用程序
Docker 命令
npm run docker:build- 构建 Docker 镜像npm run docker:up- 使用 Docker Compose 启动应用程序npm run docker:down- 停止 Docker Compose 服务npm run docker:test- 在 Docker 容器内运行测试npm run test:docker- 运行 Docker 专用测试(需要 Docker 正在运行)
Docker 支持
Skynet-MCP 支持 Docker,可用于容器化开发和部署。
Dockerfile
项目包含一个 Dockerfile,具体会:
- 使用 Node.js 20 Alpine 作为基础镜像
- 设置应用程序环境
- 安装依赖
- 构建 TypeScript 代码
- 为服务开放 3000 端口
Docker Compose
docker-compose.yml 文件提供了一个完整的开发环境,其中包含:
- Skynet-MCP 应用容器
- 用于状态管理和持久化的 Redis
- 用于本地开发的卷挂载
- 环境变量配置
启动完整环境:
npm run docker:up
配置系统
Skynet-MCP 使用灵活的配置系统,可从以下来源加载设置:
- 默认值
- 环境变量
- 特定于环境的 JSON 配置文件
配置文件存储在 config/ 目录中,并根据 NODE_ENV 环境变量加载。
环境变量
主要环境变量包括:
SERVER_PORT- 服务监听的端口SERVER_HOST- 服务绑定的主机LOG_LEVEL- 日志级别(debug、info、warn、error)PERSISTENCE_TYPE- 存储类型(memory 或 redis)REDIS_URL- Redis 连接 URL(使用 Redis 时)OPENAI_API_KEY- OpenAI API 密钥(用于大模型驱动的 Agent)ANTHROPIC_API_KEY- Anthropic API 密钥(用于大模型驱动的 Agent)
CI/CD
Skynet-MCP 使用 GitHub Actions 实现持续集成和交付。
工作流:
- 在推送到 main 分支和提交拉取请求时运行
- 设置 Node.js 环境
- 安装依赖项
- 运行代码检查和格式检查
- 构建项目
- 运行所有测试
- 构建并验证 Docker 镜像
CI/CD 流水线通过在变更合并前自动测试,帮助确保代码质量和稳定性。
许可证
ISC
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。