mcpField
W
Weights & Biases MCP Server

Weights & Biases MCP Server

本地服务
github.com/wandb数据与分析726 天前更新

关于 Weights & Biases MCP Server

Weights & Biases MCP Server 是官方 MCP 服务,允许通过自然语言查询和分析 W&B Models 与 Weave 数据,面向实验、模型和 Agent 追踪工作。它支持受限读取、运行对比、追踪分析及报告创建,并可配置只读模式。

主要功能

  1. 01查询运行、指标与配置
  2. 02分析 Weave 追踪和 Agent 跨度
  3. 03比较运行与诊断训练问题
  4. 04创建报告并记录分析指标
  5. 05搜索文档、模型注册表与制品

适用场景

  1. 01查找准确率或损失指标符合条件的运行
  2. 02排查 Agent 追踪中的错误与延迟
  3. 03比较多个训练运行或制品版本
  4. 04汇总评估结果并创建 W&B 报告

MCP 相关

该服务通过 MCP 向客户端提供 W&B Models、Weave、文档及制品相关工具。可配置工具档案和只读部署模式,控制可用能力。

配置

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

暂未收录安装方式

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

代码仓库

工具

还没有获取到工具列表

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

详细介绍

W&B MCP 服务

通过 Model Context Protocol 使用自然语言查询和分析你的 Weights & Biases 数据。

CI

SDK MCP

Cursor Claude OpenAI Gemini LeChat VSCode

0.4 版本有哪些新内容

  • 结构化实验查询和旧版 GraphQL 输入可通过同一个 query_wandb_tool 接口使用。
  • 定向读取摘要/配置以及稀疏的多键历史记录,让你无需加载每个字段, 就能更轻松地处理大型实验。
  • 明确的工具配置、只读模式和有界响应,让你能够选择适合自身安装的 功能。
  • HTTP 会话恢复、输入验证和离线令牌计数更加可靠。工具遥测不会包含 原始参数和 API 密钥;启用详细日志记录前,请参阅 隐私指南。

当前的 0.4.3 候选版本恢复了分析中的 W&B 用户名归属信息,新增了可选的 DOCS_MCP_URL 覆盖设置,用于可自托管文档搜索;确保每个工具描述均少于 4,000 个字符,并纳入了 ARIA 的查询和计数规则;同时要求使用 mcp 1.30.0 或更高版本。有关当前资格状态,请参阅 v0.4.3 版本说明;较早的 0.4 版本请参阅版本索引。

版本发布情况

公开源代码、W&B 托管镜像、客户镜像和安装包会分别独立更新。请仅依据 版本索引中记录的不可变证据;版本字符串或可变容器 标签并不能证明其他渠道已有对应版本或该版本已通过认证。

此服务能做什么?

使用案例(点击命令即可复制)
分析实验调试跟踪记录创建报告获取帮助
显示 my-team/my-project 中 eval/accuracy 最高的 5 次运行。本月我的 Agent 的延迟发生了怎样的变化?创建一份 W&B 报告,对比这些运行。搜索 W&B 文档,了解如何在 Weave 中创建排行榜。

“查看我项目中最近的 100 条跟踪记录,并说明最常见的故障。”

可用工具 | 工具 | 描述 | 示例查询 | |------|-------------|---------------| | **infer_trace_schema_tool** | 发现字段名称、类型和示例值 | *“我的跟踪记录中有哪些字段?”* | | **query_weave_traces_tool** | 通过 `detail_level` 控制分析大模型跟踪记录 | *“显示失败的跟踪记录及其完整数据”* | | **count_weave_traces_tool** | 统计跟踪记录并获取存储指标 | *“有多少条跟踪记录失败了?”* | | **resolve_trace_roots_tool** | 将跨度解析为其根跟踪记录 | *“查找这些调用对应的根跟踪记录”* | | **query_wandb_tool** | 使用结构化 W&B 读取,或使用有界、仅查询的 GraphQL 文档 | *“显示 loss < 0.1 的运行”* | | **probe_project_tool** | 发现有用的项目字段和有界样本 | *“有哪些指标和配置字段可用?”* | | **get_run_history_tool** | 使用稀疏、多键外连接采样获取有界时序数据 | *“显示运行 abc123 的 loss 和 validation-loss 曲线”* | | **compare_runs_tool** | 比较所选运行的指标和配置 | *“比较这三个训练运行”* | | **diagnose_run_tool** | 使用有界元数据和历史数据读取来诊断运行 | *“这次运行为什么出现了偏离?”* | | **summarize_evaluation_tool** | 汇总带覆盖范围元数据的有界评估结果 | *“汇总此评估”* | | **create_wandb_report_tool** | 使用 Markdown、图表和面板创建报告 | *“创建一份包含 loss 图表的报告”* | | **log_analysis_to_wandb** | 将分析指标作为运行记录到 W&B | *“将这些延迟统计数据记录到 W&B”* | | **search_wandb_docs_tool** | 搜索 W&B 官方文档 | *“如何创建 Weave 评分器?”* | | **list_entities_tool** | 列出当前 API 密钥可访问的实体 | *“我可以访问哪些 W&B 团队?”* | | **query_wandb_entity_projects** | 列出某个实体的项目 | *“有哪些项目?”* | | **list_registries_tool** | 列出组织中的模型注册表 | *“有哪些注册表可用?”* | | **list_registry_collections_tool** | 列出注册表中的集合 | *“prod 注册表中有哪些模型?”* | | **list_artifact_versions_tool** | 列出工件集合的版本 | *“显示我的模型工件的版本”* | | **get_artifact_details_tool** | 获取工件版本的完整详情 | *“model-v2 工件中有什么?”* | | **compare_artifact_versions_tool** | 比较两个工件版本的差异 | *“比较模型 v1 和 v2”* | | **list_wandb_automations_tool** | 列出 W&B 自动化 | *“哪些自动化会针对我团队运行的指标或状态发送提醒?”* | | **list_wandb_integrations_tool** | 列出为 W&B 自动化注册的集成(例如 Slack、webhook) | *“我的自动化可以发送到哪些 Slack 频道?”* | | **aria_send_message** *(选择启用)* | 启动或继续由托管 W&B Agent 执行的异步任务 | *“请 ARIA 诊断这些失败的评估”* | | **aria_get_turn** *(选择启用)* | 轮询 ARIA 任务进度或最终结果 | *“检查 ARIA 分析是否已完成”* | | **aria_get_turns** *(选择启用)* | 并发轮询最多 20 个 ARIA 任务 | *“在一次有界等待中检查所有这些 ARIA 分析”* |

只读部署模式: 将 WANDB_MCP_ACCESS_MODE=read-only 设为只读,以省略所有归类为写入的工具,包括 create_wandb_report_tool、log_analysis_to_wandb,以及(在 ARIA 配置中)aria_send_message。 query_wandb_tool 在所有模式下均为只读。可选择结构化 SDK 参数(entity_name、project_name、resource 和可选选择器),或旧版 query/variables 输入。结构化读取使用有文档说明的 W&B API,并在需要时采用由应用固定的投影,以避免对每个结果分别发起请求。GraphQL 模式保留了现有工具名称,可用于内省、未建模字段、别名,或结构化接口无法表达的读取形式。 GraphQL 兼容性: 旧版模式适用于所有受支持的工作负载和两种访问模式;无需新配置或额外权限。默认值为 max_items=100 和 items_per_page=20,并受活动工作负载的项目数/页数限制、截止时间和响应预算进一步约束。必须提供且仅提供一个查询操作,且不要将 query/variables 与结构化 SDK 选择器混用。变更、订阅、多个操作和混合模式输入都会在后端执行前被拒绝。独立的 query_wandb_graphql_tool 仍仅在 models-weave-graphql-compat 配置中可本地使用;通过 query_wandb_tool 使用 GraphQL 不需要这个额外工具。请参阅查询功能矩阵。

在受支持的 W&B 服务传输上,原始和固定的 GraphQL 响应会在 MCP JSON 解码前按 16 MiB 检查,并在解码后再次检查,结构上限为 500,000 个节点。超大结果会返回 response_too_large。这些是 SDK 收到 protobuf 信封后实施的 MCP 处理防护;它们不会限制网络传输字节数或后端工作量。

推荐的部署预设:

部署设置
带 Agent Lens 的 MT SaaSmodels-weave-agents-agent-lens、shared、read-write(39 个工具)
仅 Models 的专用部署models-only、dedicated、read-write(17 个工具)
带经典 Weave 的专用部署models-weave、dedicated、read-write(22 个工具)
本地额外 GraphQL 工具models-weave-graphql-compat、local;任选一种访问模式

与 v0.3.7 的兼容性: 现有仅查询的 query_wandb_tool 调用可以继续使用 query 和可选的 variables 参数。结构化 SDK 参数是额外模式,并非强制迁移要求。每次调用只使用一种模式,并在升级时刷新客户端的工具定义。两种模式都适用授权和有界读取防护;工具名称和配置数量保持不变。

运行历史语义: 对显式的多键默认历史采样和范围集合读取,get_run_history_tool 会按 _step 对请求的指标序列进行外连接;如果没有 _step,则使用所选的 x 轴,这样在不同 wandb.log() 调用中记录的键就不会消失。多键范围读取会为每个指标使用一个独立的有界序列,每个请求最多包含八个序列。独立规格路径旨在同时涵盖活动/新同步历史以及导出的历史。多请求读取会对每个批次使用同一个刚观测到的上限 step 边界。固定快照查询会读取运行标识和一行完整、面向恢复的 historyTail;在有界历史读取之前,它不会加载完整配置、摘要、系统指标或历史键索引。samples 是所有请求键共享的最终行总预算,而非每个键的单独额度。只要预算允许,就会保留有界结果中的所有已观测稀疏点。如果有界/采样结果中没有出现可用的有限/非空值,诊断信息会报告 unobserved_keys;只有在已精确检查缺失情况时才会报告 missing_keys。自定义 x 轴必须与其指标出现在同一行,因为服务端不会自行插值。non_finite_counts 会报告有界源中观测到的 NaN 或 Infinity;这些无效的 JSON 数值会从返回行中省略,且只有在 key_counts_exact=true 时计数才是完整的。精确的 target_x 仍是点查找,而不是外连接读取。此路径使用固定的、由应用管理的仅查询投影,不接受调用方提供的 GraphQL,并且包含在每个受支持的托管工具配置中。

Weave Agents(OTel)工具——这些工具读取 OpenTelemetry/GenAI Agent 跨度数据平面(Agents 选项卡),该数据平面与上述经典 Weave 调用相互独立: 这些工具包含在显式的 models-weave-agents 和 models-weave-agents-aria 配置中,也保留在托管的 models-weave-agents-agent-lens 配置中。专用版 v0.4 会拒绝这三种配置。

工具描述示例查询
list_weave_agents_tool列出 Agent 及汇总统计数据(调用次数、令牌数、时长、错误数)“本周运行了哪些 Agent?它们各自有多少错误?”
list_weave_agent_versions_tool单个 Agent 的版本统计数据“我的 Agent 的 v2 版本延迟是否退化了?”
query_weave_agent_spans_tool查询单个 Agent/大模型/工具跨度(按 Agent、模型、时间筛选)“显示昨天 my-agent 的失败工具跨度”
get_weave_agent_span_stats_tool按时间分桶的指标序列(令牌数、成本、延迟、错误率)“按 Agent 绘制每日令牌用量”
list_weave_agent_custom_attributes_tool查找 Agent 跨度上的自定义属性键“我的 Agent 跨度有哪些自定义属性?”
search_weave_agents_tool全文/结构化消息搜索,按对话分组“查找提及退款的对话”
get_weave_agent_trace_tool单个跟踪(一个轮次)的结构化聊天/轨迹视图“Agent 在跟踪 abc123 中做了什么?”
get_weave_agent_conversation_tool对话的多轮聊天视图“显示整个对话 conv-42”

以架构为先的工作流: 先调用 infer_trace_schema_tool 发现字段,再使用精确的列和 detail_level 调用 query_weave_traces_tool:

  • "schema" -- 仅结构字段(快速浏览)
  • "summary" -- 截断的输入/输出(默认)
  • "full" -- 完整内容,不作截断(深入查看特定跟踪)

图表面板: create_wandb_report_tool 接受 panels 参数,可用于 LinePlots、BarPlots、运行比较、自定义 Vega 图表以及有序报告布局。当多个图表应共享同一个运行集时,请使用 panel_grid;使用 heading 和 markdown 块可在报告中交错呈现说明内容与图表。

文档搜索: search_wandb_docs_tool 代理 docs.wandb.ai,让你通过单个 MCP 连接使用数据工具和文档搜索。如果单独连接了文档 MCP,请设置 WANDB_MCP_PROXY_DOCS=false 禁用此功能。

若要搜索文档的可自托管副本(例如,与 W&B Server 版本匹配的文档),请将 DOCS_MCP_URL 设为其 MCP 端点,例如 http://localhost:3000/mcp。该端点必须像 docs.wandb.ai/mcp 一样,通过 Streamable HTTP 接受针对 search_weights_biases_documentation 的 JSON-RPC tools/call 请求。不会向其发送 W&B 凭据。使用 operator-wandb Helm chart 时,请设置 mcp-server.env.DOCS_MCP_URL。

文档查询最多接受 64 KiB 的 UTF-8 文本。代理会发起一个请求, 最多下载 4 MiB(或更低的已配置累积上限),并将返回的片段限制在响应令牌预算内。超大片段会附带截断提示;上游错误绝不会回显查询内容。

该软件包包含令牌计数词汇表,因此无需外部下载或可写的分词器缓存即可使用响应预算。

在托管版 v0.4 中,ARIA 工具需显式启用且仅限本地使用: 选择 models-weave-agents-aria,并将 WB_AGENT_BASE_URL 配置为获准的绝对 HTTPS 源站。仅有端点并不会启用这些工具。 WANDB_MCP_ACCESS_MODE=read-only 会省略 aria_send_message,同时保留 两个轮询工具。托管共享版和专用版配置均不支持 ARIA。

ARIA 轮询: ARIA 调用是异步的。aria_send_message 会返回一个轮次句柄,而 aria_get_turn 会在最多 30 秒内轮询一个轮次。若有多个待处理轮次,请使用 aria_get_turns,以便在一个共享轮询窗口内并发获取结果。轮询结果默认较为精简;只有在需要有界的原始服务快照时,才传入 include_turn=true。 Agent Lens 仅在受管部署中显式启用且仅限托管环境(自 v0.4.2 起): W&B 托管 部署可以在 shared 工作负载中选择 models-weave-agents-agent-lens,并使用经运营方审核的 AGENT_LENS_BASE_URL。默认的 models-weave 配置文件和两个 Dedicated 配置文件均不包含这些工具,仅设置端点 并不会启用它们。请参阅 Agent Lens 工具指南。 该指南还介绍了端到端请求截止时间,以及针对调用方派生标识符的日志记录范围保护。

注册表组织解析: 如果省略 organization,注册表工具会使用经过身份验证的 请求中的 W&B 客户端。系统会自动选择唯一可访问的组织;如果调用方有权访问多个 组织,则会返回 organization_required,并附带有数量上限的候选列表。 集合列表会有意返回 aliases: null 和 aliases_loaded: false,而不是加载每个集合的版本别名。 需要别名时,请使用 list_artifact_versions_tool。

使用技巧(最佳实践)

→ 提供 W&B 项目和实体名称 LLM 不会读心,请确保向 LLM 指定 W&B 实体和 W&B 项目。

→ 避免提出过于宽泛的问题 “我的最佳评估是什么?”之类的问题可能过于宽泛。将问题细化得更具体些,例如“哪个 eval 的 f1 分数最高?”,这样你会更快得到答案。

→ 检查宽泛问题的结果覆盖范围 集合和评估工具会报告 total_count、 returned_count、has_more、project_exhaustive、sampled 和 truncated 等字段。 对于宽泛的问题,请让客户端解释这些字段,而不要假设有界结果代表了整个项目。


快速开始

我们建议使用我们的托管服务:https://mcp.withwandb.com/mcp——无需安装!

🔑 从 wandb.ai/authorize 获取 API 密钥

🌐 对于 W&B Dedicated / Self-Managed,请在运营方图表启用实例 MCP 端点后使用 https://<your-instance>/mcp。设置 WANDB_BASE_URL=https://<your-instance> 后, 仍可使用本地 STDIO。

Cursor
一键安装
  • 点击上方按钮,将配置自动添加到 Cursor
  • 然后在相应字段中添加 WANDB_API_KEY,格式为 Bearer YOUR_API_KEY,并连接

手动或本地安装请参阅下方的 选项 2。

OpenAI Response API
Python 客户端设置
from openai import OpenAI
import os

client = OpenAI()

resp = client.responses.create(
 model="gpt-4o",
 tools=[{
     "type": "mcp",
     "server_url": "https://mcp.withwandb.com/mcp",
     "authorization": os.getenv('WANDB_API_KEY'),
     "server_label": "WandB_MCP",
 }],
 input="How many traces are in my project?"
)
print(resp.output_text)

注意:OpenAI 的 MCP 在服务端运行,因此 localhost URL 无法使用。请使用 W&B 托管端点或经过身份验证的 Helm 部署。

Claude Code
单命令安装
# run in terminal
claude mcp add --transport http wandb https://mcp.withwandb.com/mcp --scope user --header "Authorization: Bearer <your-api-key-here>"

本地安装请参阅下方的 选项 2。

OpenAI Codex
单命令安装
# run in terminal
export WANDB_API_KEY=<your-api-key>
codex mcp add wandb --url https://mcp.withwandb.com/mcp --bearer-token-env-var WANDB_API_KEY

本地安装请参阅下方的 选项 2。

Gemini CLI
单命令安装
# Set your API key
export WANDB_API_KEY="your-api-key-here"

# Install the extension
gemini extensions install https://github.com/wandb/wandb-mcp-server

该扩展将使用 gemini-extension.json 中指向托管服务的配置。

本地安装请参阅下方的 选项 2。

VSCode
设置配置
# Open settings
code ~/.vscode/mcp.json # or global mcp.json file
{
  "servers": {
    "wandb": {
      "type": "http",
      "url": "https://mcp.withwandb.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_WANDB_API_KEY"
      }
    }
  }
}

本地安装请参阅下方的 选项 2。

### Mistral Chat
配置设置

使用 Custom MCP Connector 流程:

  1. 打开 Le Chat 并转到 Connectors。
  2. 添加自定义 MCP 连接器。
  3. 将服务 URL 设置为 https://mcp.withwandb.com/mcp。
  4. 选择 HTTP Bearer Token 或 API Key 身份验证。
  5. 粘贴从 wandb.ai/authorize 获取的 W&B API 密钥。

如果界面要求输入令牌值,请粘贴原始 W&B API 密钥。如果要求输入完整的 Authorization 标头值,请使用 Bearer <your-wandb-api-key>。

Claude Desktop
配置设置

如需建立本地 STDIO 连接,请将服务添加到 Claude Desktop 配置中。如果桌面应用无法解析 shell PATH,请使用 uvx 的绝对路径。

# macOS
open ~/Library/Application\ Support/Claude/claude_desktop_config.json

# Windows
notepad %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "wandb": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/wandb/[email protected]",
        "wandb_mcp_server"
      ],
      "env": {
        "WANDB_API_KEY": "<your-api-key>"
      }
    }
  }
}

重启 Claude Desktop 以启用。


常规安装指南

选项 1:托管服务(推荐)

托管服务提供受管理的零安装体验。它采用受限的工作负载配置、请求截止时间和可重试的过载响应,在为多位用户提供服务的同时保护 W&B。

使用公共服务

最简单的方法是使用我们托管的服务:https://mcp.withwandb.com/mcp。

优势:

  • ✅ 无需安装
  • ✅ 受管理且经过审核的版本更新
  • ✅ 受管理的工作负载限制
  • ✅ 无需维护服务

只需使用快速入门中所示的配置。

选项 2:本地开发(STDIO)

在本地运行 MCP 服务,以进行开发、测试,或在需要直接控制其配置时使用。本地服务在你的计算机上运行,通过 STDIO 传输与桌面客户端通信,或通过 HTTP 传输与基于 Web 的客户端通信。 它仍需要访问已配置的 W&B 实例,以及任何已启用的文档或遥测端点。请参阅下文中的客户端专属安装说明。

在本地运行服务

快速入门:

# Install uv if needed
curl -LsSf https://astral.sh/uv/install.sh | sh

# Replace vX.Y.Z with a signed, available release from the release index.
export WANDB_API_KEY="your-api-key"
uvx --from git+https://github.com/wandb/[email protected] wandb_mcp_server

📖 有关完整的命令行选项和环境变量,请参阅“更多信息”部分中的命令行参考。

手动配置

添加到 MCP 客户端配置中(有关各客户端的详细配置,请参阅下文):

{
  "mcpServers": {
    "wandb": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/wandb/[email protected]",
        "wandb_mcp_server"
      ],
      "env": {
        "WANDB_API_KEY": "YOUR_API_KEY",
        "WANDB_BASE_URL": "https://your-wandb-instance.example.com"
      }
    }
  }
}
Cursor
  1. 打开 Cursor 设置(⌘, 或 Ctrl,)
  2. 转到 Features → Model Context Protocol
  3. 点击 "Install from Registry" 或 "Add MCP Server"
  4. 搜索 "wandb" 或输入:
    • 名称:wandb
    • URL:https://mcp.withwandb.com/mcp
    • API Key:你的 W&B API 密钥

在 mcp.json 中手动配置托管服务:

"wandb": {
  "transport": "http",
  "url": "https://mcp.withwandb.com/mcp",
  "headers": {
    "Authorization": "Bearer YOUR-API_KEY",
    "Accept": "application/json, text/event-stream"
  }
}

在 mcp.json 中手动配置本地服务(专用或本地部署):

"wandb": {
  "command": "uvx",
    "args": [
      "--from",
      "git+https://github.com/wandb/[email protected]",
      "wandb_mcp_server"
    ],
    "env": {
      "WANDB_API_KEY": "YOUR-API_KEY",
      "WANDB_BASE_URL": "https://your-wandb-instance.example.com"
    }
}
Codex
codex mcp add wandb \
    --env WANDB_API_KEY=your_api_key_here \
    --env WANDB_BASE_URL=https://your-wandb-instance.example.com \
    -- uvx --from git+https://github.com/wandb/[email protected] wandb_mcp_server
Claude Code

添加 --scope user 以进行全局配置。

claude mcp add wandb -e WANDB_API_KEY=your-api-key -e WANDB_BASE_URL=your-base-url -- uvx --from git+https://github.com/wandb/[email protected] wandb_mcp_server
Claude Desktop

与上文相同。

# macOS
open ~/Library/Application\ Support/Claude/claude_desktop_config.json

# Windows
notepad %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "wandb": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/wandb/[email protected]",
        "wandb_mcp_server"
      ],
      "env": {
        "WANDB_API_KEY": "<your-api-key>",
        "WANDB_BASE_URL": "https://your-wandb-instance.example.com"
      }
    }
  }
}

重启 Claude Desktop 以启用。

独立 HTTP 入口仅允许使用回环地址,不能通过 ngrok 或其他隧道对外发布。若要提供可远程访问的端点,请使用经过身份验证的托管包装器或 operator-wandb Helm 部署。

选项 3:本地 HTTP 开发

该软件包仅为本地开发提供未经身份验证的 Streamable HTTP 传输。使用前必须明确确认,并且仅接受回环地址绑定。生产环境中的 HTTP 服务请使用经过身份验证的托管包装器或 Helm 镜像。

在本地运行 HTTP 服务

如需进行轻量级实验和测试,可以直接运行 FastMCP HTTP 传输:

# Basic loopback HTTP server
export MCP_AUTH_DISABLED=true
uvx --from git+https://github.com/wandb/[email protected] wandb_mcp_server \
  --transport http \
  --host 127.0.0.1 \
  --port 8080

# With Weave tracing enabled
uvx --from git+https://github.com/wandb/[email protected] wandb_mcp_server \
  --transport http \
  --host 127.0.0.1 \
  --port 8080 \
  --weave_entity your-entity \
  --weave_project mcp-server-logs

📖 如需查看所有可用的命令行选项,请参阅“更多信息”部分中的命令行参考。

注意:此入口点没有 bearer 身份验证中间件。它使用单个服务端 WANDB_API_KEY,并拒绝绑定到非回环地址。

选项 4:专用 / 本地部署

MCP 是 operator-wandb Helm chart 中的可选组件。升级前,请确认所选镜像和 chart 支持相同的运行时配置;只更改其中一项可能导致启动失败。请使用适用的版本化发行说明中的兼容性和不可变制品证据。

使用兼容的 chart 和镜像后,在 WeightsAndBiases values 中启用该组件:

mcp-server:
  install: true

启用后,可通过 https://<your-instance>/mcp 访问此服务。chart 会为客户端和面向用户的链接保留此公共 URL,同时将服务端 W&B API 调用路由到命名空间本地的 API 服务。

要求:

  • 明确兼容 MCP 0.4 且已验证镜像摘要的 chart 版本。
  • 适用于该安装的受支持工具配置和访问模式。
  • 使用 models-weave 配置时,需安装并配置 Weave。models-only 配置不需要 Weave。

专用实例的客户端配置:

{
  "mcpServers": {
    "wandb": {
      "url": "https://your-instance.wandb.io/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_WANDB_API_KEY"
      }
    }
  }
}

请联系 W&B 客户团队,在您的专用部署中启用 MCP。


更多信息

命令行参考

在本地运行服务时,可以使用命令行参数自定义其行为:

可用参数

注意:参数使用下划线(例如,--wandb_api_key),而不是连字符。

参数类型默认值说明
--transport字符串stdio传输类型:stdio 用于本地 MCP 客户端通信,http 用于 HTTP 服务
--host字符串localhostHTTP 服务绑定的主机(仅在使用 --transport http 时生效)
--port整数8080HTTP 服务运行的端口(仅在使用 --transport http 时生效)
--wandb_api_key字符串None仅用于兼容的 API 密钥输入;建议使用 WANDB_API_KEY,避免密钥暴露在进程参数中
--weave_entity字符串None用于记录 MCP 服务调用追踪信息的 W&B 实体
--weave_project字符串weave-mcp-server用于记录 MCP 服务调用追踪信息的 W&B 项目
环境变量
变量描述必需
WANDB_API_KEY您的 W&B API 密钥(可替代 --wandb_api_key 标志)是
WANDB_BASE_URL用于凭据和面向用户的链接的 W&B 公共实例 URL否
WANDB_INTERNAL_BASE_URL可选的服务端 W&B Models/API URL;Dedicated 图表会将其设为集群内 API 服务。Weave 跟踪路由仍由 WF_TRACE_SERVER_URL 控制。否
WB_AGENT_BASE_URL仅 ARIA 工具配置文件需要的显式批准 HTTPS 源否
MCP_SERVER_LOG_LEVEL日志详细程度:DEBUG、INFO、WARNING、ERROR否
WANDB_SILENT设为 "True" 可抑制 W&B SDK 输出(默认值:true)否
WEAVE_SILENT设为 "True" 可抑制 Weave SDK 输出(默认值:true)否
WANDB_DEBUG设为 "true" 可启用详细的 W&B 日志否
MCP_AUTH_DISABLED必须设为 true,以确认使用未经身份验证的回环 HTTP 进行开发否
WANDB_MCP_PROXY_DOCS启用/禁用文档搜索代理(默认值:true)否
DOCS_MCP_URLsearch_wandb_docs_tool 使用的文档 MCP 端点(默认值:https://docs.wandb.ai/mcp);必须为 HTTP(S),且不得包含凭据、查询参数或片段否
MCP_ANALYTICS_DISABLED禁用结构化 MCP 分析事件否
MCP_ANALYTICS_QUEUE_CAPACITY每个可选 Segment 或 Datadog 转发器的最大待处理事件数(默认值:256)否
MCP_REQUEST_SUCCESS_SAMPLE_RATE成功 HTTP 请求遥测的确定性采样率(默认值:0.10;失败请求和耗时超过两秒的请求始终会保留)。否
MCP_LOG_PRIVACY_LEVEL遥测隐私级别:off/standard 会在功能性工作已获取经过身份验证的 W&B 用户名时使用该用户名;strict 使用 SHA-256 假名。Datadog 保留一个用户字段 usr.id。在 off/standard 下,Segment 使用该可信用户名以保持分析连续性,若不可用则回退为密钥假名;在 strict 下始终使用假名。遥测不会创建 W&B 客户端或发起查看者请求。未设置时默认为 off;值为空或无效时会导致启动失败。绝不会记录原始工具参数。否

由发布版本控制的正交选择器:

变量默认值效果
WANDB_MCP_TOOL_PROFILEmodels-weave选择一个经过审核的精确产品能力配置文件。
WANDB_MCP_ACCESS_MODEread-writeread-only 会移除所有写入工具。
MCP_WORKLOAD_PROFILElocal选择查询/历史记录限制、准入模式和等待时间、截止时间、会话以及 HTTP 速率策略。
MCP_CAPACITY_CLASSsmall选择有界的 Actor/进程容量和工作线程数。

精确工具配置文件:

工具配置文件组管理的工作负载读写只读
models-onlymodelsshared、dedicated1715
models-weavemodels、weaveshared、dedicated2220
models-weave-agentsmodels、weave、agentsshared3028
models-weave-agents-ariamodels、weave、agents、aria仅限 local3330
models-weave-graphql-compatmodels、weave、raw-graphql仅限 local2321
models-weave-agents-agent-lensmodels、weave、agents、agent-lensshared3937

精确工作负载默认值:

工作负载集合行数历史样本数指标键数范围跨度完整详情行数准入 / HTTP 速率
shared100500205,0003关闭应用程序准入和 HTTP 速率限制
dedicated2501,5005020,00010启用准入;每个键每分钟 60 次,每个进程每分钟 1000 次
local1,0005,000100100,00025关闭应用程序准入和 HTTP 速率限制

精确容量类别:

容量类别Actor进程同步工作线程计数工作线程
small4444
medium4888
large816168
请使用 python scripts/public_release.py profiles --all 查看所有精确的配置文件/访问模式清单和工具名称。运行时契约:sha256:230cce534205b7ad60afcf34909b6f9d1cd76e5ceda703cd9bca6a866cb6ef91。

对于独立控制台入口点,凭证解析顺序为:命令行兼容性输入、WANDB_BASE_URL 对应的 .netrc 条目,然后是 WANDB_API_KEY(包括 CLI 加载的仓库根目录 .env 文件)。优先使用环境变量,并删除同一主机的过期 .netrc 条目;切勿在发布自动化或进程参数中传递密钥。

在托管部署中,工作负载配置文件具有权威性。它们会选择查询和历史记录限制、准入模式与等待时间、截止时间、会话边界以及 HTTP 请求速率策略。shared 和 dedicated 会拒绝低级数值覆盖;只有 local 接受有界的高级覆盖。上方生成的表格包含精确的工作负载和容量默认值。MCP_CAPACITY_CLASS 独立选择 Actor/进程容量和工作线程数量;它不会改变产品功能、查询语义或调用方授权。

使用示例

STDIO 传输(桌面客户端的默认方式):

# Basic usage with environment variable
export WANDB_API_KEY="your-api-key"
uvx --from git+https://github.com/wandb/[email protected] wandb_mcp_server

对于 Claude Desktop 等 stdio 客户端,stdout 专用于 MCP JSON-RPC 消息。服务会将日志和分析信息路由到 stderr,避免客户端将诊断信息解析为协议消息。

HTTP 传输(用于测试和开发):

# Basic HTTP server on localhost:8080
export MCP_AUTH_DISABLED=true
uvx --from git+https://github.com/wandb/[email protected] wandb_mcp_server \
  --transport http \
  --host 127.0.0.1 \
  --port 8080

使用 Weave 跟踪(将 MCP 调用记录到 W&B):

export MCP_AUTH_DISABLED=true
uvx --from git+https://github.com/wandb/[email protected] wandb_mcp_server \
  --transport http \
  --host 127.0.0.1 \
  --port 8080 \
  --weave_entity my-team \
  --weave_project mcp-monitoring

查看所有选项:

uvx --from git+https://github.com/wandb/[email protected] wandb_mcp_server --help
贡献与发布
关键资源
示例代码
完整的 OpenAI 示例
from openai import OpenAI
from dotenv import load_dotenv
import os

load_dotenv()

client = OpenAI()

resp = client.responses.create(
    model="gpt-4o",  # Use gpt-4o for larger context window
    tools=[
        {
            "type": "mcp",
            "server_label": "wandb",
            "server_description": "Query W&B data",
            "server_url": "https://mcp.withwandb.com/mcp",
            "authorization": os.getenv('WANDB_API_KEY'),
        },
    ],
    input="How many traces are in my-team/my-project?",
)

print(resp.output_text)
开发
运行测试

单元测试无需 API 密钥或网络访问即可运行:

uv sync --frozen --extra test --extra http
uv run pytest tests/ -m "not integration" -v

CI 会通过 GitHub Actions 在每次推送和 PR 时自动运行。

发布制品模型

源代码发布、容器镜像和 Helm 图表采用独立的版本号。 请使用发布说明中记录的源代码修订版本和不可变镜像摘要,并在升级前检查图表兼容性。本地源代码示例使用 @vX.Y.Z;仅将其替换为发布索引中列为可用版本的已签名标签。容器标签并不意味着存在对应的 Git 标签。有关面向贡献者的源代码和制品检查,请参阅 RELEASING.md。

支持

评论

支持 Markdown

第一次接触 MCP?

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

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