#2981·open-swe

Expose an MCP server so external agents (e.g. Claude Code) can request PR reviews

Author: open-swe[bot]Created Sep 18, 2026Updated Sep 18, 2026
Labelsenhancement

Summary

Open SWE works great as a PR reviewer when triggered from Slack or the dashboard, but there's no programmatic way for other agent tools (e.g. Claude Code) to request a review. Today the workaround is fragile: an external agent must post a @open-swe comment on the PR and poll for the review to land.

Problem

When developing with Claude Code, I want it to hand off a finished PR to Open SWE for review and read the findings back — all without leaving its tool loop. There's no first-class interface for this:

  • Open SWE is an MCP client (Workspace MCPs), not an MCP server, so there's nothing to connect to.
  • The comment-based workaround requires the external agent to scrape GitHub for the resulting review instead of receiving a structured result.

Proposed solution

Expose a small MCP server (Streamable HTTP) on the Open SWE deployment with a request_review tool:

request_review(pr_url: string) -> { thread_id, web_url, findings: [...] }
  • Creates a reviewer-thread run for the PR (same path the Slack review trigger uses today).
  • Synchronous mode returns the findings directly; async mode returns the thread URL and lets the caller poll or subscribe.
  • Auth via the existing per-user credentials/bearer token so runs are attributed to the requesting user (same identity mapping the Slack integration uses).

An alternative would be a plain authenticated HTTP endpoint that Claude Code could reach via mcp-remote, but a native MCP tool would make this work out of the box with any MCP client.

Alternatives considered

  • Comment-based trigger (gh pr comment --body "@open-swe review") — works today but the requester has to poll GitHub for the result.
  • LangGraph platform /mcp endpoint — exposes graphs as assistants, not the PR-review dispatch flow, and isn't reachable/authenticated for this purpose.

Made by Open SWE · view thread · fireworks:accounts/fireworks/models/glm-5p3-flash (max)