项目简介

Golf是一个强大的Python框架,旨在简化Model Context Protocol (MCP) 服务器的开发流程。开发者只需在特定目录下编写简单的Python文件来定义LLM可用的工具 (Tools)、可访问的资源 (Resources) 和可生成的Prompt模板 (Prompts)。Golf框架会自动扫描、解析这些文件,并将它们编译成一个标准的、可运行的FastMCP服务器应用。

使用Golf,开发者可以将精力集中在业务逻辑(如工具功能、资源获取)上,而无需处理底层的MCP协议实现、服务器初始化、会话管理、能力声明等复杂任务。它为构建LLM应用的后端提供了快速、有组织且可扩展的方式。

主要功能点

  • 简化组件定义: 通过简单的Python文件和约定的目录结构('tools/', 'resources/', 'prompts/')定义MCP组件。
  • 自动化构建: 自动发现、解析并验证用户定义的组件,生成独立的、可运行的FastMCP服务器代码。
  • 减少样板代码: 大部分MCP服务器的标准流程(如JSON-RPC通信、路由、会话管理)由框架处理。
  • 支持多种传输协议: 生成的服务器可配置支持SSE、Streamable HTTP、Stdio等MCP通信协议。
  • 灵活配置: 通过 'golf.json' 文件配置服务器名称、端口、传输协议等。
  • 内置基础设施支持: 可选择启用健康检查端点、OpenTelemetry分布式追踪等生产级功能。
  • OAuth和API Key认证集成: 简化了服务器端的身份验证和授权配置。

安装步骤

请确保您的系统已安装Python (推荐3.10+)。然后,使用pip安装Golf框架:

pip install golf-mcp

服务器配置 (供MCP客户端使用)

构建并运行Golf服务器后,MCP客户端需要配置连接信息才能与其通信。这些信息取决于您在项目 'golf.json' 文件中设置的参数以及构建过程:

  1. 构建项目: 首先使用Golf CLI构建您的项目,例如:
    golf build dev # 或 golf build prod
    这会在项目根目录下的 'dist/' 文件夹中生成可运行的服务器代码,包括 'server.py'。
  2. 运行服务器: 进入 'dist/' 目录并运行生成的服务器:
    cd dist
    python server.py
    服务器会根据您的 'golf.json' 配置启动并监听指定的地址和端口。
  3. 客户端配置: MCP客户端通常需要以下关键信息来连接到您的Golf服务器:
    • 'name': 服务器的标识符。这通常是您在 'golf.json' 中设置的 'name' 字段(例如:"MyGolfServer")。
    • 'command': 一个数组,指定如何启动服务器进程。通常是 '["python", "<path_to_your_project>/dist/server.py"]',其中 '<path_to_your_project>' 是您的项目根目录的绝对或相对路径。
    • 'args': 一个可选的字符串数组,指定传递给服务器启动命令的额外参数。
    • 'transport': 指定使用的通信协议。这应该与您在 'golf.json' 中配置的 'transport' 字段匹配(例如:"sse", "streamable-http", "stdio")。
    • 'uri' 或其他连接信息: 根据 'transport' 的类型,可能需要提供连接URI或单独的主机和端口。例如,如果使用SSE transport (FastMCP默认路径'/sse') 并在 'golf.json' 中配置了主机 '127.0.0.1' 和端口 '3000',则URI可能是 'http://127.0.0.1:3000/sse'。对于 Stdio 协议,通常不需要URI,客户端直接通过标准输入输出与进程通信(通过配置 'command' 和 'args' 即可)。

客户端的具体配置格式取决于您使用的MCP客户端实现,但核心信息通常围绕服务器名称、启动命令以及连接详情(协议、地址)展开。

基本使用方法

  1. 初始化新项目:
    golf init my-awesome-server
    这会在当前目录下创建一个名为 'my-awesome-server' 的新文件夹,包含基础的项目结构和示例文件。
  2. 进入项目目录:
    cd my-awesome-server
  3. 定义组件: 在 'tools/', 'resources/', 'prompts/' 目录中创建或修改Python文件,按照Golf的约定定义您的工具、资源或Prompt。
  4. 构建项目:
    golf build dev # 构建开发版本,包含.env等文件
    # 或 golf build prod # 构建生产版本
    构建产物会生成在 'dist/' 目录下。
  5. 运行服务器:
    golf run
    这将运行 'dist/server.py' 启动您的MCP服务器。您也可以直接进入 'dist/' 目录手动执行 'python server.py'。

信息

分类

AI与计算