项目简介
Coputo 是一个基于 TypeScript 的远程 MCP (Model Context Protocol) 服务器开发框架。它帮助开发者快速构建符合 MCP 标准的后端服务,为大型语言模型 (LLM) 应用提供结构化的上下文信息和可调用的外部功能(工具)。Coputo 集成了常用的 Web 框架(如 Fastify),并提供了多项开箱即用的功能,简化 MCP 服务器的开发和部署。
主要功能点
- 工具注册与调用: 允许开发者使用 TypeScript 定义和注册自定义的业务工具(Tools),并通过标准的 JSON-RPC 接口供 LLM 客户端调用。开发者可以轻松集成第三方服务或自有功能。
- 安全凭据管理: 提供内置的 HTTP 接口和机制,支持为每个租户安全地存储和管理外部服务的 API 密钥、令牌等敏感信息。在工具执行时,框架可以自动解密并提供相应的凭据,无需在代码中硬编码。
- 多租户支持: 框架设计考虑了多租户场景,支持通过请求识别租户身份,从而隔离不同租户的数据和凭据,保障数据安全。
- 遵循 MCP 协议: 完全基于 Model Context Protocol 标准构建,确保与任何支持 MCP 协议的 LLM 客户端兼容。
- 灵活的传输支持: 利用 MCP SDK 提供对基于 HTTP/SSE 等协议的通信支持,易于集成到现有的 Web 服务架构中。
安装步骤
Coputo 提供了创建新项目的命令行工具,可以快速搭建项目骨架:
-
确保您已安装 Node.js 和 npm。
-
打开终端,运行以下命令创建并初始化新项目(将 'my-coputo-app' 替换为您希望的项目名称):
npm create coputo@latest my-coputo-app -
进入新创建的项目目录:
cd my-coputo-app -
如果之前选择了跳过安装,或者需要重新安装依赖,请运行:
npm install
服务器配置
Coputo MCP 服务器通常以一个独立进程运行,并监听一个 HTTP 端口(在默认示例中为 3000)。MCP 客户端需要知道如何启动或连接到这个服务器。
对于支持通过命令启动外部 MCP 服务器的客户端,您需要提供服务器启动的命令和参数。例如,如果您的 Coputo 应用在 'dist/index.js' 文件中编译并启动,典型的客户端配置可能如下(请注意,这是一个JSON结构示例,您需要根据您的 MCP 客户端界面填写):
{ "name": "您的MCP服务器名称", // 在代码中定义的服务器名称,例如 "example" 或 "calc" "command": "node", // 启动 Node.js 环境的命令 "args": ["dist/index.js"] // 传递给 Node.js 的参数,这里是您的服务器入口文件路径 // 其他可能的参数,例如 --port 3000,取决于您的服务器启动逻辑 }
对于通过 URL 连接的客户端,您需要提供服务器的 HTTP 地址,例如 'http://localhost:3000/api/mcp'。具体连接方式取决于您的 MCP 客户端支持的传输协议。
基本使用方法
- 定义工具: 在您的 Coputo 项目中,使用 TypeScript 定义工具的输入 schema (例如使用 Zod) 和 'run' 函数。'run' 函数包含执行工具逻辑的代码,可以访问输入的参数 ('args') 和租户相关的凭据 ('authToken')。
- 注册工具: 在服务器启动代码中,将您定义的工具注册到 Coputo 应用实例中,指定服务器名称和工具列表。
- 启动服务器: 运行项目的启动命令(例如 'npm run dev' 或 'npm start')启动您的 Coputo MCP 服务器。
- 客户端连接: 配置您的 LLM 客户端,使其通过指定的命令/参数或 HTTP URL 连接到您的 Coputo 服务器。
- 调用工具: LLM 客户端现在可以通过标准的 JSON-RPC 请求调用您在 Coputo 服务器中注册的工具。
信息
分类
AI与计算