关于 Weights & Biases MCP Server
Weights & Biases MCP Server 是官方 MCP 服务,允许通过自然语言查询和分析 W&B Models 与 Weave 数据,面向实验、模型和 Agent 追踪工作。它支持受限读取、运行对比、追踪分析及报告创建,并可配置只读模式。
主要功能
- 01查询运行、指标与配置
- 02分析 Weave 追踪和 Agent 跨度
- 03比较运行与诊断训练问题
- 04创建报告并记录分析指标
- 05搜索文档、模型注册表与制品
适用场景
- 01查找准确率或损失指标符合条件的运行
- 02排查 Agent 追踪中的错误与延迟
- 03比较多个训练运行或制品版本
- 04汇总评估结果并创建 W&B 报告
MCP 相关
该服务通过 MCP 向客户端提供 W&B Models、Weave、文档及制品相关工具。可配置工具档案和只读部署模式,控制可用能力。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
W&B MCP 服务
通过 Model Context Protocol 使用自然语言查询和分析你的 Weights & Biases 数据。
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 SaaS | models-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。
配置设置
使用 Custom MCP Connector 流程:
- 打开 Le Chat 并转到 Connectors。
- 添加自定义 MCP 连接器。
- 将服务 URL 设置为
https://mcp.withwandb.com/mcp。 - 选择 HTTP Bearer Token 或 API Key 身份验证。
- 粘贴从 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
- 打开 Cursor 设置(
⌘,或Ctrl,) - 转到 Features → Model Context Protocol
- 点击 "Install from Registry" 或 "Add MCP Server"
- 搜索 "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 | 字符串 | localhost | HTTP 服务绑定的主机(仅在使用 --transport http 时生效) |
--port | 整数 | 8080 | HTTP 服务运行的端口(仅在使用 --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_URL | search_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_PROFILE | models-weave | 选择一个经过审核的精确产品能力配置文件。 |
WANDB_MCP_ACCESS_MODE | read-write | read-only 会移除所有写入工具。 |
MCP_WORKLOAD_PROFILE | local | 选择查询/历史记录限制、准入模式和等待时间、截止时间、会话以及 HTTP 速率策略。 |
MCP_CAPACITY_CLASS | small | 选择有界的 Actor/进程容量和工作线程数。 |
精确工具配置文件:
| 工具配置文件 | 组 | 管理的工作负载 | 读写 | 只读 |
|---|---|---|---|---|
models-only | models | shared、dedicated | 17 | 15 |
models-weave | models、weave | shared、dedicated | 22 | 20 |
models-weave-agents | models、weave、agents | shared | 30 | 28 |
models-weave-agents-aria | models、weave、agents、aria | 仅限 local | 33 | 30 |
models-weave-graphql-compat | models、weave、raw-graphql | 仅限 local | 23 | 21 |
models-weave-agents-agent-lens | models、weave、agents、agent-lens | shared | 39 | 37 |
精确工作负载默认值:
| 工作负载 | 集合行数 | 历史样本数 | 指标键数 | 范围跨度 | 完整详情行数 | 准入 / HTTP 速率 |
|---|---|---|---|---|---|---|
shared | 100 | 500 | 20 | 5,000 | 3 | 关闭应用程序准入和 HTTP 速率限制 |
dedicated | 250 | 1,500 | 50 | 20,000 | 10 | 启用准入;每个键每分钟 60 次,每个进程每分钟 1000 次 |
local | 1,000 | 5,000 | 100 | 100,000 | 25 | 关闭应用程序准入和 HTTP 速率限制 |
精确容量类别:
| 容量类别 | Actor | 进程 | 同步工作线程 | 计数工作线程 |
|---|---|---|---|---|
small | 4 | 4 | 4 | 4 |
medium | 4 | 8 | 8 | 8 |
large | 8 | 16 | 16 | 8 |
请使用 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
贡献与发布
- CONTRIBUTING.md —— 开发环境设置、测试、PR 流程和架构概述
- RELEASING.md —— 公开源代码发布和制品验证
- 发布索引 —— 各发布渠道的可用版本和不可变制品
- 查询能力矩阵 —— 类型化读取和选择性启用的兼容路径
- 详细工具指南 —— 紧凑 MCP 描述之外的扩展查询、跟踪、历史记录和报告示例
- 可观测性 —— 日志记录、遥测隐私和支持的收集模式
- 工具开发技能 —— 安全的实现和验证工作流
- 发布技能 —— 精确候选版本的发布验证和交接
关键资源
- W&B 文档:docs.wandb.ai
- Weave 文档:weave-docs.wandb.ai
- MCP 规范:modelcontextprotocol.io
示例代码
完整的 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。
支持
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。