wandb-mcp-server
Query and analyze your Weights & Biases data using natural language through the Model Context Protocol.
README
title: Weights & Biases MCP Server emoji: 🪄🐝 colorFrom: yellow colorTo: gray sdk: docker app_file: app.py pinned: false
<p align="center"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/wandb/wandb/main/assets/logo-dark.svg"> <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/wandb/wandb/main/assets/logo-light.svg"> <img src="https://raw.githubusercontent.com/wandb/wandb/main/assets/logo-light.svg" width="600" alt="Weights & Biases"> </picture> </p>
W&B MCP Server
Query and analyze your Weights & Biases data using natural language through the Model Context Protocol.
<div align="center"> <a href="https://cursor.com/en/install-mcp?name=wandb&config=eyJ0cmFuc3BvcnQiOiJodHRwIiwidXJsIjoiaHR0cHM6Ly9tY3Aud2l0aHdhbmRiLmNvbS9tY3AiLCJoZWFkZXJzIjp7IkF1dGhvcml6YXRpb24iOiJCZWFyZXIge3tXQU5EQl9BUElfS0VZfX0iLCJBY2NlcHQiOiJhcHBsaWNhdGlvbi9qc29uLCB0ZXh0L2V2ZW50LXN0cmVhbSJ9fQ%3D%3D"><img src="https://cursor.com/deeplink/mcp-install-dark.svg" alt="Cursor" height="28"/></a> <a href="#claude-desktop"><img src="https://img.shields.io/badge/Claude-6B5CE6?logo=anthropic&logoColor=white" alt="Claude" height="28"/></a> <a href="#openai"><img src="https://img.shields.io/badge/OpenAI-412991?logo=openai&logoColor=white" alt="OpenAI" height="28"/></a> <a href="#gemini-cli"><img src="https://img.shields.io/badge/Gemini-4285F4?logo=google&logoColor=white" alt="Gemini" height="28"/></a> <a href="#mistral-lechat"><img src="https://img.shields.io/badge/LeChat-FF6B6B?logo=mistralai&logoColor=white" alt="LeChat" height="28"/></a> <a href="#vscode"><img src="https://img.shields.io/badge/VSCode-007ACC?logo=visualstudiocode&logoColor=white" alt="VSCode" height="28"/></a> </div>
What Can This Server Do?
<details open> <summary><strong>Example Use Cases</strong> (click command to copy)</summary>
| Analyze Experiments | Debug Traces | Create Reports | Get Help |
|---|---|---|---|
| Show me the top 5 runs by eval/accuracy in wandb-smle/hiring-agent-demo-public? | How did the latency of my hiring agent predict traces evolve over the last months? | Generate a wandb report comparing the decisions made by the hiring agent last month | How do I create a leaderboard in Weave - ask SupportBot? |
New tools for auto-clustering coming soon:<br> "Go through the last 100 traces of my last training run in grpo-cuda/axolotl-grpo and tell me why rollout traces of my RL experiment were bad sometimes?" </details>
<details> <summary><strong>Available Tools</strong> (6 powerful tools)</summary>
| Tool | Description | Example Query |
|---|---|---|
| query_wandb_tool | Query W&B runs, metrics, and experiments | "Show me runs with loss < 0.1" |
| query_weave_traces_tool | Analyze LLM traces and evaluations | "What's the average latency?" |
| count_weave_traces_tool | Count traces and get storage metrics | "How many traces failed?" |
| create_wandb_report_tool | Create W&B reports programmatically | "Create a performance report" |
| query_wandb_entity_projects | List projects for an entity | "What projects exist?" |
| query_wandb_support_bot | Get help from W&B documentation | "How do I use sweeps?" |
</details>
<details> <summary><strong>Usage Tips</strong> (best practices)</summary>
→ Provide your W&B project and entity name
LLMs are not mind readers, ensure you specify the W&B Entity and W&B Project to the LLM.
→ Avoid asking overly broad questions
Questions such as "what is my best evaluation?" are probably overly broad and you'll get to an answer faster by refining your question to be more specific such as: "what eval had the highest f1 score?"
→ Ensure all data was retrieved
When asking broad, general questions such as "what are my best performing runs/evaluations?" it's always a good idea to ask the LLM to check that it retrieved all the available runs. The MCP tools are designed to fetch the correct amount of data, but sometimes there can be a tendency from the LLMs to only retrieve the latest runs or the last N runs.
</details>
Quick Start
We recommend using our hosted server at https://mcp.withwandb.com - no installation required!
🔑 Get your API key from wandb.ai/authorize
Cursor
<details> <summary>One-click installation</summary>
- Open Cursor Settings (
⌘,orCtrl,) - Navigate to Features → Model Context Protocol
- Click "Install from Registry" or "Add MCP Server"
- Search for "wandb" or enter:
- Name:
wandb - URL:
https://mcp.withwandb.com/mcp - API Key: Your W&B API key
- Name:
For local installation, see Option 2 below. </details>
Claude Desktop
<details> <summary>Configuration setup</summary>
Add to your Claude config file:
# macOS
open ~/Library/Application\ Support/Claude/claude_desktop_config.json
# Windows
notepad %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"wandb": {
"url": "https://mcp.withwandb.com/mcp",
"apiKey": "YOUR_WANDB_API_KEY"
}
}
}
Restart Claude Desktop to activate.
For local installation, see Option 2 below. </details>
OpenAI Response API
<details> <summary>Python client setup</summary>
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'),
}],
input="How many traces are in my project?"
)
print(resp.output_text)
Note: OpenAI's MCP is server-side, so localhost URLs won't work. For local servers, see Option 2 with ngrok. </details>
Gemini CLI
<details> <summary>One-command installation</summary>
# 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
The extension will use the configuration from gemini-extension.json pointing to the hosted server.
For local installation, see Option 2 below. </details>
Mistral LeChat
<details> <summary>Configuration setup</summary>
In LeChat settings, add an MCP server:
- URL:
https://mcp.withwandb.com/mcp - API Key: Your W&B API key
For local installation, see Option 2 below. </details>
VSCode
<details> <summary>Settings configuration</summary>
# Open settings
code ~/.config/Code/User/settings.json
{
"mcp.servers": {
"wandb": {
"url": "https://mcp.withwandb.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_WANDB_API_KEY"
}
}
}
}
For local installation, see Option 2 below. </details>
General Installation Guide
<details> <summary><strong>Option 1: Hosted Server (Recommended)</strong></summary>
The hosted server provides a zero-configuration experience with enterprise-grade reliability. This server is maintained by the W&B team, automatically updated with new features, and scales to handle any workload. Perfect for teams and production use cases where you want to focus on your ML work rather than infrastructure.
Using the Public Server
The easiest way is using our hosted server at https://mcp.withwandb.com.
Benefits:
- ✅ Zero installation
- ✅ Always up-to-date
- ✅ Automatic scaling
- ✅ No maintenance
Simply use the configurations shown in Quick Start. </details>
<details> <summary><strong>Option 2: Local Development (STDIO)</strong></summary>
Run the MCP server locally for development, testing, or when you need full control over your data. The local server runs directly on your machine with STDIO transport for desktop clients or HTTP transport for web-based clients. Ideal for developers who want to customize the server or work in air-gapped environments.
Manual Configuration
Add to your MCP client config:
{
"mcpServers": {
"wandb": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/wandb/wandb-mcp-server",
"wandb_mcp_server"
],
"env": {
"WANDB_API_KEY": "YOUR_API_KEY"
}
}
}
}
Prerequisites
- Python 3.10+
- uv (recommended) or pip
# Install uv (if not already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh
Installation
# Using uv (recommended)
uv pip install wandb-mcp-server
# Or from GitHub
pip install git+https://github.com/wandb/wandb-mcp-server
Client-Specific Installation Commands
Cursor (Project-only)
Enable the server for a specific project:
uvx --from git+https://github.com/wandb/wandb-mcp-server add_to_client --config_path .cursor/mcp.json && uvx wandb login
Cursor (Global)
Enable the server for all Cursor projects:
uvx --from git+https://github.com/wandb/wandb-mcp-server add_to_client --config_path ~/.cursor/mcp.json && uvx wandb login
Windsurf
uvx --from git+https://github.com/wandb/wandb-mcp-server add_to_client --config_path ~/.codeium/windsurf/mcp_config.json && uvx wandb login
Claude Code
claude mcp add wandb -- uvx --from git+https://github.com/wandb/wandb-mcp-server wandb_mcp_server && uvx wandb login
With API key:
claude mcp add wandb -e WANDB_API_KEY=your-api-key -- uvx --from git+https://github.com/wandb/wandb-mcp-server wandb_mcp_server
Claude Desktop
uvx --from git+https://github.com/wandb/wandb-mcp-server add_to_client --config_path "~/Library/Application Support/Claude/claude_desktop_config.json" && uvx wandb login
Testing with ngrok (for server-side clients)
For clients like OpenAI and LeChat that require public URLs:
# 1. Start HTTP server
uvx wandb-mcp-server --transport http --port 8080
# 2. Expose with ngrok
ngrok http 8080
# 3. Use the ngrok URL in your client configuration
Note: These utilities are inspired by the OpenMCP Server Registry add-to-client pattern. </details>
<details> <summary><strong>Option 3: Self-Hosted HTTP Server</strong></summary>
Deploy your own W&B MCP server for team-wide access or custom infrastructure requirements. This option gives you complete control over deployment, security, and scaling while maintaining compatibility with all MCP clients. Perfect for organizations that need on-premises deployment or want to integrate with existing infrastructure.
Using Docker
docker run -p 7860:7860 \
-e WANDB_API_KEY=your-server-key \
ghcr.io/wandb/wandb-mcp-server
From Source
# Clone repository
git clone https://github.com/wandb/wandb-mcp-server
cd wandb-mcp-server
# Install and run
uv pip install -r requirements.txt
uv run app.py
Deploy to HuggingFace Spaces
- Fork wandb-mcp-server
- Create new Space on Hugging Face
- Choose "Docker" SDK
- Connect your fork
- Add
WANDB_API_KEYas secret (optional)
Server URL: https://YOUR-SPACE.hf.space/mcp
</details>
More Information
Documentation & Testing
- 📚 Documentation: docs/ - Development and debugging guides
- 🧪 Testing Guide: tests/README.md - Comprehensive testing instructions
- 🚀 Load Testing: tests/load_test.py - Performance and stress testing
Key Resources
- W&B Docs: docs.wandb.ai
- Weave Docs: weave-docs.wandb.ai
- MCP Spec: modelcontextprotocol.io
- GitHub: github.com/wandb/wandb-mcp-server
Example Code
<details> <summary>Complete OpenAI Example</summary>
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'),
"require_approval": "never",
},
],
input="How many traces are in wandb-smle/hiring-agent-demo-public?",
)
print(resp.output_text)
</details>
Support
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。