该项目是一个实现了 Model Context Protocol (MCP) 的后端服务,专门用于与 Weights & Biases (W&B) 平台交互。它允许兼容 MCP 的大型语言模型客户端访问您的 W&B 项目数据、查询 Weave traces(用于 LLM 可观测性)以及创建分析报告。
主要功能点
该服务器通过 MCP 向 LLM 客户端暴露以下功能:
- 查询 W&B 平台数据: 允许 LLM 查询 W&B 中的 Models Runs(实验运行)、Sweeps(超参数搜索)、Artifacts(模型和数据版本)以及 Registry(模型注册表)信息。
- 查询 W&B Weave 数据: 提供查询 Weave Traces(LLM 调用链路)、Evaluations(评估结果)和 Datasets(数据集)的能力。
- 执行 GraphQL 查询: 支持对 W&B Models API 执行任意 GraphQL 查询,实现灵活数据访问。
- 创建 W&B Reports: 允许 LLM 将分析结果、文本描述和生成的图表保存到 W&B 报告中,便于记录和分享。
- 查询 W&B Support Bot: 提供一个工具用于向 W&B 支持机器人提问并获取帮助信息。
- 列出实体下的项目: 帮助 LLM 发现用户在特定 W&B Entity (用户或团队) 下的项目列表。
安装步骤
请确保您已安装 Python 3.8+ 和 'uv' 包管理器(推荐)。
- 克隆仓库:
git clone https://github.com/wandb/wandb-mcp-server.git cd wandb-mcp-server - 创建并激活虚拟环境:
uv venv source .venv/bin/activate- 如果您系统中没有 'uv',请参考 README 中的 Troubleshooting 部分安装。
- 安装项目及其依赖:
uv pip install -e .
服务器配置
MCP 服务器需要您的 Weights & Biases API Key 才能访问您的数据。请在项目根目录下创建一个 '.env' 文件,并将您的 API Key 添加进去:
WANDB_API_KEY=your_api_key_here
您的 MCP 客户端需要知道如何启动这个服务器。通常,这涉及在客户端的配置文件(通常是 JSON 格式)中指定服务器名称以及启动命令 ('command') 和其参数 ('args')。配置示例如下(请将 '/绝对/路径/到/你的/项目/目录' 替换为该仓库在您本地文件系统中的实际路径):
{ "mcpServers": { "weights_and_biases": { // 给这个MCP服务器起一个便于客户端识别的名字 "command": "uv", // 启动服务器的可执行命令 "args": [ // 启动命令所需的参数列表 "--directory", "/绝对/路径/到/你的/项目/目录", // 指定服务器代码所在的目录 "run", // uv 命令的参数 "src/wandb_mcp_server/server.py" // MCP服务器的主入口文件 ] // 根据您的MCP客户端,您可能还需要在其配置中指定W&B API Key, // 或者确保运行MCP客户端的环境已设置WANDB_API_KEY环境变量。 } // 您可以在此处配置其他MCP服务器 } // 您的MCP客户端的其他配置项 }
基本使用方法
-
设置: 按照上述步骤安装项目并配置 '.env' 文件中的 'WANDB_API_KEY'。
-
客户端集成: 在您的 MCP 客户端(如兼容 MCP 的 LLM 应用)中,按照其文档添加上述服务器配置。这将允许客户端在需要时自动启动并与 MCP 服务器通信。
-
与 LLM 交互: 在与 LLM 聊天时,明确您的意图,例如查询特定的 W&B 项目、Runs、Traces 或要求创建报告。重要的是提供必要的上下文信息,例如您的 W&B Entity (用户名或团队名) 和 Project 名称。
- 示例: "请统计一下我在 '我的团队/我的项目' 这个 Weave 项目中有多少条 trace?" 或 "在 '我的用户/我的ML项目' 中找到 eval loss 最好的那个 run 的配置参数。"
LLM 将通过配置好的 MCP 协议调用该服务器提供的工具来执行您的请求。请确保 LLM 能够理解并正确解析您提供的 W&B Entity 和 Project 名称。
信息
分类
AI与计算