mcpField
M
MCP Python Function Generator Server

MCP Python Function Generator Server

本地服务
github.com/Neshri开发工具081 周前更新

关于 MCP Python Function Generator Server

MCP Python Function Generator Server 是一个通过自然语言描述生成 Python 函数代码的 MCP 服务。可选用人工编写并验证的测试用例执行检查,并返回函数规格、代码和测试结果。

主要功能

  1. 01根据需求描述生成函数规格
  2. 02生成 Python 函数代码
  3. 03检查语法与函数定义
  4. 04使用提供的测试用例执行验证
  5. 05返回代码及测试结果

适用场景

  1. 01将文字需求转为 Python 函数
  2. 02为带有已知输入输出的函数验证生成代码

MCP 相关

MCP 服务提供 `create_python_function` 工具,接收需求描述及可选测试用例,并返回生成的规格、代码和测试结果。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MCP Python 函数生成器服务

一个 MCP 服务,提供可根据描述生成 Python 函数代码的工具,并支持由人工提供测试。

设置(使用 uv 轻松安装)

此服务旨在通过 uv Python 包管理器轻松设置。

  1. **前提条件:**确保已安装 uv,并且可通过系统的 PATH 使用。请参阅 uv 安装说明。

  2. **获取代码:**克隆此仓库,或下载并解压源代码 ZIP 文件。

  3. 运行设置脚本:

    • **Windows:**打开命令提示符或 PowerShell,导航(cd)到项目目录(例如 MCP_Server),然后运行:.\setup.bat
    • **Linux/macOS:**打开终端,导航(cd)到项目目录,使脚本可执行(chmod +x setup.sh),然后运行:./setup.sh 脚本将使用 uv 创建本地虚拟环境(.venv)并安装所需依赖项。它还会打印客户端配置所需的确切命令和参数。 (注意:脚本会尝试删除项目文件夹中现有的 .venv 目录,以确保环境干净。如有需要,请先备份其中的内容。)
  4. **配置 MCP 客户端:**将设置脚本打印的 command("uv")和 args 数组([ "run", "--project", "/path/to/your/project", "mcp-function-generator" ])复制到 MCP 客户端的配置文件中(例如 Claude Desktop 的 settings.json)。

    JSON 示例块(将路径替换为设置脚本输出中的路径):

    {
      "mcpServers": {
        "pythonFunctionGenerator": {
          "command": "uv",
          "args": [
            "run",
            "--project",
            // --- 在此处粘贴设置脚本输出的绝对路径 ---
            "/path/to/your/project/MCP_Server", // Linux/macOS 示例
            // "C:\\Users\\YourName\\Projects\\MCP_Server", // Windows 示例(需转义!)
            // --- 路径结束 ---
            "mcp-function-generator"
           ]
        }
        // 如有需要,可添加 filesystem 等其他服务
      }
    }
    

    (请记住,在 JSON 字符串中,Windows 路径里的反斜杠 \ 必须转义为 \\。)

  5. **重启客户端:**保存配置文件并重启 MCP 客户端(例如 Claude Desktop),使更改生效。

用法

在客户端中完成配置后,MCP 服务会在需要时自动启动。

该服务会提供一个名为 create_python_function 的工具。

参数:

  • requirement(字符串,必填):

    • 对所需函数的自然语言描述。尽可能提供示例、约束或边界情况。
    • 示例:"Create a function that takes a list of strings and returns the longest string. Handle empty lists."
  • test_cases(对象数组,可选):

    • 一组由人工编写并验证的测试用例,用于验证生成代码的功能。
    • 结构: [ { "inputs": { "param_key1": value1, ... }, "expected": expected_value }, ... ]
    • inputs:一个字典,其中的键是函数所需的参数名称,值是该测试用例的输入。
    • expected:这些输入对应的唯一预期输出值。(注意:目前仅支持精确相等 == 检查。不会自动处理非确定性输出或浮点数容差。)。
    • 重要约束:如果提供 test_cases,则第一个测试用例中 inputs 字典所用的键将决定生成函数必须使用的确切参数名称。请确保所有测试用例中的键保持一致。
    • !! 警告 !!:此参数仅适用于由人工编写或验证的测试。不要让 AI 客户端(如 Claude)为此参数生成测试用例,因为此工具无法保证这些用例正确,可能会导致意外的验证失败或错误代码。如果希望快速生成未经测试的代码,只需省略 test_cases 参数。

执行流程:

  1. 服务接收 requirement。
  2. 它会生成函数规范(名称、参数、返回类型、文档字符串)。
    • 如果提供了 test_cases,则生成的参数名称必须与 inputs 字典中的键一致(以第一个测试用例为准)。服务会验证是否匹配。
  3. 它根据规范生成 Python 代码。
  4. 它会验证代码的基本语法和函数定义。
  5. 如果提供了 test_cases,且规范生成使用了正确的参数键,它会使用关键字参数对每个测试用例执行代码。
  6. 它会返回结果,包括规范、代码和测试结果(如果已运行且成功)。如果重试后测试仍然失败,或者规范生成未通过针对测试键的验证,则会返回错误。

客户端调用示例(概念性 JSON)

1. 不带测试生成代码:

{
  "tool_name": "create_python_function",
  "arguments": {
    "requirement": "Write a function `add_one` that takes an integer `x` and returns `x + 1`."
  }
}

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。