项目简介
本项目提供了一个可定制的 MCP (Model Context Protocol) 服务器模版,允许开发者创建自定义工具,从而扩展支持 MCP 协议的 LLM 应用(如 Claude)的功能。通过这个模版,你可以轻松构建自己的工具集成方案,让 LLM 能够调用外部功能,实现更丰富的应用场景。
主要功能点
- 自定义工具扩展: 允许开发者根据需求创建和注册自定义工具,扩展 LLM 的能力边界。
- 标准 MCP 协议: 遵循 MCP 协议标准,确保与支持该协议的 LLM 客户端(如 Claude)的兼容性和互操作性。
- 简单易用: 提供清晰的代码结构和示例,降低开发门槛,方便快速上手和定制。
- 灵活配置: 支持通过简单的配置即可将自定义 MCP 服务器集成到 LLM 客户端。
- 示例工具: 内置一个示例工具,演示了工具的创建和集成过程,方便用户学习和参考。
安装步骤
- 克隆仓库:将 GitHub 仓库 'https://github.com/tfa225/custom-mcp-server' 克隆到本地。
- 安装依赖:在项目根目录下,打开终端并运行 'npm install' 或 'yarn install' 安装项目依赖。
- 构建项目:运行 'npm run build' 命令编译 TypeScript 代码。
- 启动服务器:运行 'npm start' 命令启动 MCP 服务器。
服务器配置
要将此 MCP 服务器配置到支持 MCP 协议的客户端(例如 Claude),你需要提供服务器的启动命令和参数。以下是一个配置示例,通常在客户端的 MCP 服务器配置中填写(以 JSON 格式):
{ "server name": "customTools", // 自定义服务器名称,客户端内唯一即可 "command": "npx", // 启动命令,这里使用 npx 执行 npm 包 "args": [ // 命令参数 "-y", // 自动确认执行 npm 包 "custom-mcp-server" // 要执行的 npm 包名,对应 package.json 中的 "name" 字段 ], "env": { // 环境变量(可选) "API_KEY": "your-api-key", // 示例环境变量,根据你的工具需求配置 "CUSTOM_CONFIG": "your-config-value" // 示例环境变量,根据你的工具需求配置 } }
配置说明:
- '"server name"': 为你的 MCP 服务器指定一个名称,例如 'customTools'。这个名称在客户端配置中用于标识你的服务器。
- '"command"': 指定启动服务器的命令。本项目使用 Node.js 开发,并通过 'npm' 管理,因此常用的启动命令是 'npx' 或 'node'。'npx' 可以直接运行本地 'node_modules' 中的包,这里 '-y' 参数是为了避免交互式确认。
- '"args"': 一个字符串数组,包含传递给启动命令的参数。 '"custom-mcp-server"' 是 'npx' 要执行的包名,它对应于项目 'package.json' 文件中定义的 'name' 字段。
- '"env"': 一个 JSON 对象,用于设置环境变量(可选)。如果你的自定义工具需要访问 API 密钥或其他配置信息,可以通过环境变量传递。
注意: 实际使用时,请根据你的具体环境和工具需求调整配置。例如,如果你的服务器需要特定的端口或配置文件,你可能需要在 'args' 或 'env' 中进行相应配置。
基本使用方法
- 启动服务器:按照安装步骤启动 MCP 服务器。服务器默认监听标准输入输出 (stdio),等待客户端连接和请求。
- 配置客户端:在支持 MCP 协议的 LLM 客户端(如 Claude)中,添加上述服务器配置,确保客户端能够找到并启动你的 MCP 服务器。
- 使用工具:当客户端需要使用你自定义的工具时,它会通过 MCP 协议向你的服务器发送请求。服务器接收请求,执行相应的工具逻辑,并将结果返回给客户端。具体工具的使用方式和参数,需要在客户端的提示词或界面中进行操作。
- 开发自定义工具:参考 'src/tools' 目录下的示例代码,创建新的工具文件,定义工具的 schema 和 handler 函数,并在 'src/tools/index.ts' 中注册你的新工具。
信息
分类
AI与计算