项目简介
DIY Tools MCP 服务器是一个创新的 Model Context Protocol (MCP) 实现,允许用户在运行时创建和注册自定义工具函数,无需编写完整的 MCP 服务器。它充当简单函数定义与 MCP 协议之间的桥梁,让用户能够轻松扩展 Claude 等 MCP 客户端的上下文服务能力。
主要功能
- 动态工具注册:运行时添加新工具,无需重启服务器
- 多语言支持:Python、JavaScript、TypeScript、Bash、Ruby
- 多种定义方式:支持内联代码和外部文件两种函数定义模式
- 可配置入口点:支持使用任意函数名称作为入口点,不限于"main"函数
- 自动验证:语法检查、参数模式验证
- 文件安全性:包含路径遍历保护、符号链接检测、系统目录限制
- 持久化存储:注册的工具会保存并在服务器重启时自动加载
- 完整工具管理:提供添加、移除、列表查看、源码查看等核心工具
安装步骤
-
克隆仓库
git clone https://github.com/hesreallyhim/diy-tools-mcp.git cd diy-tools-mcp -
安装依赖
npm install -
构建项目
npm run build -
启动服务器
npm start
服务器配置
在 MCP 客户端中配置服务器连接信息:
{ "mcpServers": { "diy-tools": { "command": "node", "args": ["dist/index.js"] }
基本使用方法
添加自定义工具
使用内置的 'add_tool' 工具注册新函数:
{ "name": "calculate_factorial", "description": "计算数字的阶乘", "language": "python", "code": "def main(n):\n if n <= 1:\n return 1\n return n * main(n - 1)"
工具执行示例
注册成功后,可直接调用自定义工具:
{ "name": "calculate_factorial", "arguments": { "n": 5 } }
支持的函数类型
- Python 函数:必须定义 main 函数,接受关键字参数
- JavaScript 函数:可以是常规或异步函数
- Bash 脚本:执行系统命令并返回结果
文件与内联函数选择
- 文件函数:适合复杂逻辑、需要独立维护的代码
- 内联函数:适合简单操作、快速原型开发
安全特性
- 路径遍历防护
- 符号链接检测
- 系统目录保护
- 危险模式检测
查看工具信息
使用 'list_tools' 查看所有可用工具,或使用 'view_source' 查看具体函数源码和元数据。
信息
分类
AI与计算