天网MCP(该项目正在进行中)
使用模型上下文协议(MCP)的AI代理的分层网络。这个网络中的AI代理可以生成新的代理来让它们工作,每个代理还包括发起代理拥有的所有工具。 代理网络能够完成从研究、报告到编码的复杂任务。
通过利用不断增长的可用MCP服务器集合,每个代理都可能拥有大量工具来执行各种任务。
想帮忙吗?
如果你喜欢这个想法,并且精通TypeScript;我需要你的帮助!如果你想贡献,请联系我们。
概述
天网MCP是一种先进的架构,它实现了模型上下文协议(MCP),以创建人工智能代理的分层网络。每个Skynet MCP实例都充当MCP服务器和MCP客户端,允许它为父代理提供工具,同时生成和管理子代理。
这种架构使递归代理网络能够分解复杂的任务,并行化工作,并在多个模型和服务之间集成专门的功能。
特性
- 双模式操作:同时充当MCP服务器和客户端
- LLM集成:连接到OpenAI或Anthropic模型进行智能决策
- 工具发现:自动发现和使用连接的MCP服务器中的工具
- 分层代理管理:创建和管理子代理
- 可配置的:支持多种环境的灵活配置系统
- FastMCP集成:基于高效的FastMCP框架,实现强大的MCP服务器实施
- 多种运输方式:支持STDIO和SSE(服务器发送事件)传输
- 延迟执行:异步运行任务,稍后轮询结果
MCP工具
天网MCP通过其FastMCP实现提供以下MCP工具:
- 调用:创建和管理代理任务
- 参数: - mcpConfig:MCP服务器配置(代理可用的工具) - llmConfig:LLM配置(要使用的提供程序和模型) - prompt:代理任务说明 - delayedExecution:布尔值,指示任务是否应异步运行
- 延迟响应:检索异步任务的结果
- 参数: - taskId:要检查的任务的ID - 返回:任务状态和结果(如果已完成)
代理
代理框架仍需实施。
项目结构
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密钥(用于LLM驱动的代理)
设置
- 克隆存储库
- 安装依赖项:
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支持。
Docker 文件
该项目包括一个Dockerfile,它:
- 使用Node.js 20 Alpine作为基础映像
- 设置应用程序环境
- 安装依赖项
- 构建TypeScript代码
- 暴露服务器的端口3000
Docker Compose
docker-compose.yml文件提供了一个完整的开发环境,其中包括:
- Skynet MCP应用程序容器
- Redis用于状态管理和持久化
- 地方发展的体量
- 环境变量配置
要启动完整环境,请执行以下操作:
npm run docker:up配置系统
天网MCP使用灵活的配置系统,可以从以下位置加载设置:
- 默认值
- 环境变量
- 特定于环境的JSON配置文件
配置文件存储在 config/ 目录并基于 NODE_ENV 环境变量。
环境变量
关键环境变量包括:
SERVER_PORT-服务器监听的端口SERVER_HOST-服务器绑定到的主机LOG_LEVEL-日志记录级别(调试、信息、警告、错误)PERSISTENCE_TYPE-存储类型(内存或redis)REDIS_URL-Redis连接URL(使用Redis时)OPENAI_API_KEY-OpenAI API密钥(适用于LLM代理)ANTHROPIC_API_KEY-Anthropic API密钥(用于LLM动力制剂)
CI/CD
Skynet MCP使用GitHub Actions进行持续集成和交付。
工作流程:
- 运行对主分支的推送和拉取请求
- 设置Node.js环境
- 安装依赖项
- 运行linting和格式化检查
- 构建项目
- 运行所有测试
- 构建并验证Docker镜像
CI/CD管道通过在合并更改之前自动测试更改来帮助确保代码质量和稳定性。
许可证
国际协调委员会
