Files
shockbot/mcp
pullfrog[bot] 71feba0a76 fix: prevent log.writeSummary from overwriting reportProgress content (#87)
* fix: prevent log.writeSummary from overwriting reportProgress content

The run summary was showing logs instead of the final reportProgress content
because log.writeSummary() was called after reportProgress. Now
log.writeSummary() checks if the summary was already overwritten by
reportProgress and skips if so.

Fixes #86

* refactor: replace dynamic import with static import in cli.ts

Replace unnecessary dynamic import of wasSummaryOverwritten with
static import. No circular dependency exists since comment.ts doesn't
import from cli.ts.

* Fix run summary writing

---------

Co-authored-by: pullfrog[bot] <226033991+pullfrog[bot]@users.noreply.github.com>
Co-authored-by: Colin McDonnell <colinmcd94@gmail.com>
2026-01-15 00:55:42 +00:00
..
2025-11-21 14:08:36 -05:00
2026-01-08 14:11:49 -08:00
2025-12-17 16:28:17 -05:00
2025-11-26 13:51:22 -05:00
2025-12-17 16:28:17 -05:00
2025-12-21 22:42:42 -08:00
2025-11-19 16:02:37 -08:00
2025-12-17 16:28:17 -05:00
2025-12-22 18:16:55 -08:00
2025-12-17 16:28:17 -05:00
2025-12-17 16:28:17 -05:00
2025-12-17 16:28:17 -05:00
2025-12-22 15:53:11 -08:00
2025-12-17 16:28:17 -05:00
2025-12-15 21:37:46 -08:00
2026-01-12 14:12:16 -08:00
2025-12-30 20:14:49 -08:00
2026-01-12 14:12:16 -08:00

gh_pullfrog MCP Tools

this directory contains the mcp (model context protocol) server tools for interacting with github.

available tools

check suite tools

get_check_suite_logs

get workflow run logs for a failed check suite.

parameters:

  • check_suite_id (number): the id from check_suite.id in the webhook payload

replaces: gh run list and gh run view --log

returns: all logs from all failed workflow runs in the check suite, including:

  • workflow run details (id, name, html_url, conclusion)
  • job details for each workflow run (id, name, status, conclusion, logs)

example:

// when handling a check_suite_completed webhook
await mcp.call("gh_pullfrog/get_check_suite_logs", {
  check_suite_id: check_suite.id
});

review tools

get_review_comments

get all line-by-line comments and their replies for a specific pull request review.

parameters:

  • pull_number (number): the pull request number
  • review_id (number): the id from review.id in the webhook payload

replaces: gh api repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments

returns: array of review comments including threaded replies:

  • file path, line number, comment body
  • side (LEFT/RIGHT) and position in diff
  • user, timestamps, html_url
  • in_reply_to_id for threaded comments (replies have this set to the parent comment id)

example:

// when handling a pull_request_review_submitted webhook
await mcp.call("gh_pullfrog/get_review_comments", {
  pull_number: 47,
  review_id: review.id
});

list_pull_request_reviews

list all reviews for a pull request.

parameters:

  • pull_number (number): the pull request number

replaces: gh api repos/{owner}/{repo}/pulls/{pull_number}/reviews

returns: array of reviews with:

  • review id, body, state (approved/changes_requested/commented)
  • user, commit_id, submitted_at, html_url

example:

await mcp.call("gh_pullfrog/list_pull_request_reviews", {
  pull_number: 47
});

reply_to_review_comment

reply to a PR review comment thread explaining how the feedback was addressed.

parameters:

  • pull_number (number): the pull request number
  • comment_id (number): the ID of the review comment to reply to
  • body (string): the reply text explaining how the feedback was addressed

replaces: gh api repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies

returns: the created reply comment including:

  • comment id, body, html_url
  • in_reply_to_id showing it's a reply to the specified comment

example:

// after addressing a review comment
await mcp.call("gh_pullfrog/reply_to_review_comment", {
  pull_number: 47,
  comment_id: 2567334961,
  body: "removed the function as requested"
});

other tools

see individual files for documentation on other tools:

  • comment.ts - create, edit, and update comments
  • issue.ts - create issues
  • pr.ts - create pull requests
  • prInfo.ts - get pull request information
  • review.ts - create pull request reviews
  • selectMode.ts - select execution mode

usage in agents

agents should prefer using the mcp tools provided by this server. the gh cli is available as a fallback if needed, but mcp tools handle authentication and provide better integration.

the agent instructions automatically include guidance on using these tools.