使用说明

项目简介

Brewfather MCP Server 是一个实验性的MCP服务器实现,它桥接了 Brewfather API,允许LLM客户端通过标准化的MCP协议访问您的 Brewfather 啤酒酿造原料库存数据。通过此服务器,LLM可以查询和分析您的麦芽、啤酒花和酵母库存,从而在酿造相关的应用中实现更智能的交互。

主要功能点

  • 原料库存查询: 提供工具让LLM客户端查询啤酒酿造中常用的三种原料:麦芽(Fermentables)、啤酒花(Hops)和酵母(Yeasts)的库存信息。
  • 详细信息获取: 可以获取特定原料的详细属性,例如麦芽的产地、潜力值,啤酒花的Alpha酸含量,酵母的衰减度等。
  • 库存汇总: 提供一个工具快速获取所有原料的库存概览信息。
  • 基于FastMCP框架: 使用 'fastmcp' 库构建,保证了MCP协议的实现和服务器的快速运行。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/renanvieira/brewfather-mcp.git
    cd brewfather-mcp
  2. 创建并激活虚拟环境 (推荐):
    python3 -m venv venv
    source venv/bin/activate  # 或根据你的系统使用不同的激活命令
  3. 安装依赖:
    pip install -r requirements.txt # 仓库中没有 requirements.txt 文件,但根据代码逻辑,可能需要安装 mcp 库 和 dotenv, httpx 等库,请自行添加
    pip install python-dotenv httpx mcp
  4. 配置 Brewfather API 凭据:
    • 在项目根目录下创建 '.env' 文件。
    • 在 '.env' 文件中添加你的 Brewfather API 用户ID和API Key,例如:
      BREWFATHER_API_USER_ID=your_brewfather_user_id
      BREWFATHER_API_KEY=your_brewfather_api_key
      请替换 'your_brewfather_user_id' 和 'your_brewfather_api_key' 为你真实的 Brewfather API 凭据。

服务器配置

MCP客户端需要配置以下信息以连接到 Brewfather MCP 服务器:

{
  "server name": "Brewfather MCP",
  "command": "python",
  "args": [
    "brewfather_mcp/server.py"
  ]
}

配置参数说明:

  • 'server name': 服务器名称,设置为 "Brewfather MCP"。
  • 'command': 启动服务器的命令,这里使用 'python' 解释器。
  • 'args': 启动命令的参数,指定服务器脚本的路径为 'brewfather_mcp/server.py'。

基本使用方法

  1. 启动服务器: 在虚拟环境激活的状态下,在项目根目录运行以下命令启动 Brewfather MCP 服务器:

    python brewfather_mcp/server.py

    服务器成功启动后,会开始监听 MCP 客户端的请求。

  2. 使用 MCP 客户端连接: 配置你的 MCP 客户端,使其连接到 Brewfather MCP 服务器。客户端需要按照 MCP 协议发送 JSON-RPC 请求,以调用服务器提供的工具。

  3. 调用工具 (以查询麦芽库存为例): MCP 客户端可以发送请求调用 'read_fermentables' 工具来获取麦芽库存列表。服务器会将 Brewfather API 返回的麦芽数据格式化后返回给客户端。

    类似地,客户端可以调用 'read_hops', 'read_yeasts', 'read_fermentable_detail', 'read_hops_detail', 'read_yeasts_detail', 'inventory_summary' 等工具来获取不同的库存信息。

注意:

  • 仓库标记为 "Experimental",可能存在未完善的功能或潜在的bug。
  • 确保 Brewfather API 凭据配置正确,否则服务器无法连接到 Brewfather API 获取数据。
  • 此服务器仅实现了 Tools 功能,可能未完全实现 MCP 协议的所有方面 (例如 Resources, Prompts 的管理可能未涉及)。

信息

分类

商业系统