What you can do
The Weave MCP server enables AI agents to:- Query metrics — Get aggregated metrics like code output, PR cycle time, review turnaround, and more
- Drill down into data — See the actual PRs, tasks, and reviews behind each metric
- Explore teams and accounts — List team structures and individual contributors
- Analyze AI skill usage — See which agent skills (reusable workflows like
graphite-pr) your team runs, trends over time, and per-engineer breakdowns - Filter and group — Slice data by team, repository, time period, PR type, and AI coding tool
- Query in your timezone — Interpret date boundaries and sub-day time windows (for example, PRs merged between 4pm and 10pm Pacific) in a named IANA timezone
Setup instructions
The Weave MCP server uses OAuth 2.1. Provide the MCP URL in your client; on first connect it opens a browser so you can sign in to Weave and authorize access. Tokens are cached and refreshed automatically.Headless jobs
Automated jobs can use the OAuth 2.1client_credentials grant without a browser or localhost callback. An organization admin creates a service client with the create_mcp_service_client GraphQL mutation. The mutation uses the admin’s current organization context, and the returned secret is shown only once.
Run the mutation from an authenticated GraphQL client against https://app.workweave.ai/api/graphql:
client_secret; it cannot be recovered after this response.
Request a short-lived access token with HTTP Basic authentication:
access_token, an expires_in value, and no refresh token. Use the access token against the MCP endpoint (this example asks the server for its tool list):
wkey_… API keys can also be exchanged without provisioning a service client. Send the key as X-API-Key to the same token endpoint with grant_type=client_credentials:
mcp_service_clients field on Organization lists the active clients for administrators.
In the Weave app, organization admins can also find a copyable MCP URL and starter snippets for Cursor and Claude Code under Organization settings → Exports (above the CSV export section).
Cursor
To add the MCP to Cursor, add the following to your.cursor/mcp.json file:
Claude Code
The easiest way is to use the Claude Code CLI:.mcp.jsonat the root of your project — project scope; shared with your team via git~/.claude.json— local scope (whatclaude mcp adduses by default) and user scope (claude mcp add --scope user; available across all projects). This is separate from other Claude Code settings under~/.claude/settings.json.
.mcp.json file:
Claude Desktop
The exact menu path depends on your Claude plan. See Anthropic’s custom connectors guide for the latest instructions.Custom connectors are configured through your Claude account, so the steps are
the same in Claude Desktop and
claude.ai. Make sure you’re on the latest
version of Claude Desktop.- Go to Settings > Connectors (in
claude.ai, this is also accessible as Customize > Connectors). - Click the + button next to Connectors, then select “Add custom connector”.
- Set the name to Weave and the remote MCP server URL to
https://app.workweave.ai/public/mcp, then click Add. - Find Weave in your list of connectors and click Connect.
- In the browser window that pops up, sign in to Weave and click Authorize.
- Go to Organization settings > Connectors.
- Click the Add button.
- Hover over Custom, then select Web.
- Enter the name Weave and the remote MCP server URL
https://app.workweave.ai/public/mcp. - Click Add.
- Go to Settings > Connectors (or Customize > Connectors).
- Find Weave in the list (it will have a “Custom” label) and click Connect.
- In the browser window that pops up, sign in to Weave and click Authorize.
Claude reaches custom connectors from Anthropic’s cloud (not from your local
machine), even when you’re using Claude Desktop. The Weave MCP server is
publicly reachable, so this works out of the box — no firewall changes needed.
Visual Studio Code
- Press
CTRL/CMD + SHIFT + Pand search for MCP: Add Server - Select HTTP and enter the URL:
https://app.workweave.ai/public/mcp - Enter the name Weave and hit enter
- A browser window will open for Weave login on first connection
Windsurf
- Press
CTRL/CMD + ,to open Windsurf settings - Scroll to Cascade > MCP servers
- Select Add Server > Add custom server
- Add the following:
Other clients
Many AI tools now support MCP servers. Configure them with:- URL:
https://app.workweave.ai/public/mcp - Authentication: OAuth 2.1 (automatic)
Available tools
The MCP server provides tools for querying your Weave data, including:Example queries
Once connected, you can ask your AI agent questions like:- “What was our team’s code output last week?”
- “Show me the PRs with the longest cycle time this month”
- “Compare AI-assisted vs manual code output for the backend team”
- “Show code output grouped by Linear initiative last month”
- “Who has the fastest code review turnaround?”
- “List all PRs merged to main this quarter, grouped by type”
- “Which agent skills did the team use most last month?”
- “Show me who ran the graphite-pr skill and how often”
- “Which PRs merged between 4:22pm and 10:43pm Pacific on June 11?”
- “Read the full API documentation at /api-reference/metrics/get-metrics.md”
Timezone and time-of-day filtering
get_metric_drill_down and get_metric_overview accept an optional timezone parameter (IANA name, e.g. America/Los_Angeles). It controls how date boundaries are interpreted for the request.
For drill-down, you can also pass a sub-day time window by including a clock time in start_time and end_time as naive local datetimes (for example, 2026-06-11T16:22 with no Z or offset). When both bounds carry a non-midnight clock time, rows are filtered to those whose primary timestamp falls inside that window, localized in timezone:
- PR metrics — primary timestamp is merge time (
Merged at), not when the PR was opened or committed - Date-only requests (no clock time) keep standard calendar-day behavior
metadata.time_of_day_filter on drill-down responses so agents can confirm which timestamp and timezone were used.
timezone is auto-filled from the user’s browser timezone when available. Override it only when the user names a different timezone.
Authentication
OAuth 2.1
The MCP server uses OAuth 2.1. Your client opens a browser for you to log in to Weave and authorize access. After authorization, the client receives a token that is automatically refreshed. For automated jobs that cannot open a browser, use theclient_credentials grant instead.
- No long-lived secrets to paste into config files
- Works with clients that don’t support environment variable substitution
- Tokens are scoped to your account and organization
OAuth tokens have the same permissions as the user who authorizes them. Team members can only access data for teams they belong to.
FAQ
Which AI assistants support the Weave MCP?
Which AI assistants support the Weave MCP?
Any AI tool that supports the Model Context Protocol can connect to Weave. This includes Claude, Cursor, VS Code with Copilot, Windsurf, and many others. Check your tool’s documentation for MCP support.
What data can the MCP access?
What data can the MCP access?
The MCP server provides read-only access to your Weave metrics, teams, and
accounts. It cannot modify any data or settings.
How do I troubleshoot connection issues?
How do I troubleshoot connection issues?
- Check the MCP server URL is correct:
https://app.workweave.ai/public/mcp - Ensure your client supports HTTP-based MCP servers
- Try clearing cached OAuth tokens and re-authenticating (for example delete mcp-remote’s token cache: on macOS or Linux that is usually
~/.mcp-auth, or the directory inMCP_REMOTE_CONFIG_DIRif you use a custom location, then restart the client)
Can I use the MCP with multiple Weave organizations?
Can I use the MCP with multiple Weave organizations?
OAuth ties the MCP session to the Weave account you sign in with. To use a different organization, sign in to Weave as a user who belongs to that org (or switch org in the app), then re-authorize the MCP connection so the token matches the org you need. You can also add multiple MCP server entries in your client and authorize each one after signing into the right account in the browser.
