项目简介

DIY Tools MCP 服务器是一个创新的 Model Context Protocol (MCP) 实现,允许用户在运行时创建和注册自定义工具函数,无需编写完整的 MCP 服务器。它充当简单函数定义与 MCP 协议之间的桥梁,让用户能够轻松扩展 Claude 等 MCP 客户端的上下文服务能力。

主要功能

  • 动态工具注册:运行时添加新工具,无需重启服务器
  • 多语言支持:Python、JavaScript、TypeScript、Bash、Ruby
  • 多种定义方式:支持内联代码和外部文件两种函数定义模式
  • 可配置入口点:支持使用任意函数名称作为入口点,不限于"main"函数
  • 自动验证:语法检查、参数模式验证
  • 文件安全性:包含路径遍历保护、符号链接检测、系统目录限制
  • 持久化存储:注册的工具会保存并在服务器重启时自动加载
  • 完整工具管理:提供添加、移除、列表查看、源码查看等核心工具

安装步骤

  1. 克隆仓库

    git clone https://github.com/hesreallyhim/diy-tools-mcp.git
    cd diy-tools-mcp
  2. 安装依赖

    npm install
  3. 构建项目

    npm run build
  4. 启动服务器

    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与计算