Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 11 additions & 2 deletions services/mcp/src/bugbug_mcp/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -139,20 +139,29 @@ def bughandler(bug):
return result


def _get_revision_md(revision_id: int) -> str:
patch = SanitizedPhabricatorPatch(revision_id=revision_id)
if not patch.is_accessible() or not patch.is_public():
raise ToolError(
f"Revision D{revision_id} was not found. It may not exist or may be private."
)
return patch.to_md()


@mcp.resource(
uri="phabricator://revision/D{revision_id}",
name="Phabricator Revision Content",
mime_type="text/markdown",
)
def handle_revision_view_resource(revision_id: int) -> str:
"""Retrieve a revision from Phabricator alongside its comments."""
return SanitizedPhabricatorPatch(revision_id=revision_id).to_md()
return _get_revision_md(revision_id)


@mcp.tool()
def get_phabricator_revision(revision_id: int) -> str:
"""Retrieve a revision from Phabricator alongside its comments."""
return SanitizedPhabricatorPatch(revision_id=revision_id).to_md()
return _get_revision_md(revision_id)


llms_txt = FileResource(
Expand Down