Github Usage Guide¶
Overview¶
This guide shows how to use the Github with different MCP clients and integration methods.
Tool Discovery¶
Available Tools¶
add_comment_to_pending_review¶
Description: Add review comment to the requester's latest pending pull request review. A pending review needs to already exist to call this (check with the user if not sure).
Parameters:
- body
(string) (required): The text of the review comment
- line
(number) (optional): The line of the blob in the pull request diff that the comment applies to. For multi-line comments, the last line of the range
- owner
(string) (required): Repository owner
- path
(string) (required): The relative path to the file that necessitates a comment
- pullNumber
(number) (required): Pull request number
- repo
(string) (required): Repository name
- side
(string) (optional): The side of the diff to comment on. LEFT indicates the previous state, RIGHT indicates the new state
- startLine
(number) (optional): For multi-line comments, the first line of the range that the comment applies to
- startSide
(string) (optional): For multi-line comments, the starting side of the diff that the comment applies to. LEFT indicates the previous state, RIGHT indicates the new state
- subjectType
(string) (required): The level at which the comment is targeted
add_issue_comment¶
Description: Add a comment to a specific issue in a GitHub repository.
Parameters:
- body
(string) (required): Comment content
- issue_number
(number) (required): Issue number to comment on
- owner
(string) (required): Repository owner
- repo
(string) (required): Repository name
add_sub_issue¶
Description: Add a sub-issue to a parent issue in a GitHub repository.
Parameters:
- issue_number
(number) (required): The number of the parent issue
- owner
(string) (required): Repository owner
- replace_parent
(boolean) (optional): When true, replaces the sub-issue's current parent issue
- repo
(string) (required): Repository name
- sub_issue_id
(number) (required): The ID of the sub-issue to add. ID is not the same as issue number
assign_copilot_to_issue¶
Description: Assign Copilot to a specific issue in a GitHub repository.
This tool can help with the following outcomes: - a Pull Request created with source code changes to resolve the issue
More information can be found at: - https://docs.github.com/en/copilot/using-github-copilot/using-copilot-coding-agent-to-work-on-tasks/about-assigning-tasks-to-copilot
Parameters:
- issueNumber
(number) (required): Issue number
- owner
(string) (required): Repository owner
- repo
(string) (required): Repository name
cancel_workflow_run¶
Description: Cancel a workflow run
Parameters:
- owner
(string) (required): Repository owner
- repo
(string) (required): Repository name
- run_id
(number) (required): The unique identifier of the workflow run
create_and_submit_pull_request_review¶
Description: Create and submit a review for a pull request without review comments.
Parameters:
- body
(string) (required): Review comment text
- commitID
(string) (optional): SHA of commit to review
- event
(string) (required): Review action to perform
- owner
(string) (required): Repository owner
- pullNumber
(number) (required): Pull request number
- repo
(string) (required): Repository name
create_branch¶
Description: Create a new branch in a GitHub repository
Parameters:
- branch
(string) (required): Name for new branch
- from_branch
(string) (optional): Source branch (defaults to repo default)
- owner
(string) (required): Repository owner
- repo
(string) (required): Repository name
create_issue¶
Description: Create a new issue in a GitHub repository.
Parameters:
- assignees
(array) (optional): Usernames to assign to this issue
- body
(string) (optional): Issue body content
- labels
(array) (optional): Labels to apply to this issue
- milestone
(number) (optional): Milestone number
- owner
(string) (required): Repository owner
- repo
(string) (required): Repository name
- title
(string) (required): Issue title
create_or_update_file¶
Description: Create or update a single file in a GitHub repository. If updating, you must provide the SHA of the file you want to update. Use this tool to create or update a file in a GitHub repository remotely; do not use it for local file operations.
Parameters:
- branch
(string) (required): Branch to create/update the file in
- content
(string) (required): Content of the file
- message
(string) (required): Commit message
- owner
(string) (required): Repository owner (username or organization)
- path
(string) (required): Path where to create/update the file
- repo
(string) (required): Repository name
- sha
(string) (optional): Required if updating an existing file. The blob SHA of the file being replaced.
create_pending_pull_request_review¶
Description: Create a pending review for a pull request. Call this first before attempting to add comments to a pending review, and ultimately submitting it. A pending pull request review means a pull request review, it is pending because you create it first and submit it later, and the PR author will not see it until it is submitted.
Parameters:
- commitID
(string) (optional): SHA of commit to review
- owner
(string) (required): Repository owner
- pullNumber
(number) (required): Pull request number
- repo
(string) (required): Repository name
create_pull_request¶
Description: Create a new pull request in a GitHub repository.
Parameters:
- base
(string) (required): Branch to merge into
- body
(string) (optional): PR description
- draft
(boolean) (optional): Create as draft PR
- head
(string) (required): Branch containing changes
- maintainer_can_modify
(boolean) (optional): Allow maintainer edits
- owner
(string) (required): Repository owner
- repo
(string) (required): Repository name
- title
(string) (required): PR title
create_repository¶
Description: Create a new GitHub repository in your account
Parameters:
- autoInit
(boolean) (optional): Initialize with README
- description
(string) (optional): Repository description
- name
(string) (required): Repository name
- private
(boolean) (optional): Whether repo should be private
delete_file¶
Description: Delete a file from a GitHub repository
Parameters:
- branch
(string) (required): Branch to delete the file from
- message
(string) (required): Commit message
- owner
(string) (required): Repository owner (username or organization)
- path
(string) (required): Path to the file to delete
- repo
(string) (required): Repository name
delete_pending_pull_request_review¶
Description: Delete the requester's latest pending pull request review. Use this after the user decides not to submit a pending review, if you don't know if they already created one then check first.
Parameters:
- owner
(string) (required): Repository owner
- pullNumber
(number) (required): Pull request number
- repo
(string) (required): Repository name
delete_workflow_run_logs¶
Description: Delete logs for a workflow run
Parameters:
- owner
(string) (required): Repository owner
- repo
(string) (required): Repository name
- run_id
(number) (required): The unique identifier of the workflow run
dismiss_notification¶
Description: Dismiss a notification by marking it as read or done
Parameters:
- state
(string) (optional): The new state of the notification (read/done)
- threadID
(string) (required): The ID of the notification thread
download_workflow_run_artifact¶
Description: Get download URL for a workflow run artifact
Parameters:
- artifact_id
(number) (required): The unique identifier of the artifact
- owner
(string) (required): Repository owner
- repo
(string) (required): Repository name
fork_repository¶
Description: Fork a GitHub repository to your account or specified organization
Parameters:
- organization
(string) (optional): Organization to fork to
- owner
(string) (required): Repository owner
- repo
(string) (required): Repository name
get_code_scanning_alert¶
Description: Get details of a specific code scanning alert in a GitHub repository.
Parameters:
- alertNumber
(number) (required): The number of the alert.
- owner
(string) (required): The owner of the repository.
- repo
(string) (required): The name of the repository.
get_commit¶
Description: Get details for a commit from a GitHub repository
Parameters:
- owner
(string) (required): Repository owner
- page
(number) (optional): Page number for pagination (min 1)
- perPage
(number) (optional): Results per page for pagination (min 1, max 100)
- repo
(string) (required): Repository name
- sha
(string) (required): Commit SHA, branch name, or tag name
get_dependabot_alert¶
Description: Get details of a specific dependabot alert in a GitHub repository.
Parameters:
- alertNumber
(number) (required): The number of the alert.
- owner
(string) (required): The owner of the repository.
- repo
(string) (required): The name of the repository.
get_discussion¶
Description: Get a specific discussion by ID
Parameters:
- discussionNumber
(number) (required): Discussion Number
- owner
(string) (required): Repository owner
- repo
(string) (required): Repository name
get_discussion_comments¶
Description: Get comments from a discussion
Parameters:
- after
(string) (optional): Cursor for pagination. Use the endCursor from the previous page's PageInfo for GraphQL APIs.
- discussionNumber
(number) (required): Discussion Number
- owner
(string) (required): Repository owner
- perPage
(number) (optional): Results per page for pagination (min 1, max 100)
- repo
(string) (required): Repository name
get_file_contents¶
Description: Get the contents of a file or directory from a GitHub repository
Parameters:
- owner
(string) (required): Repository owner (username or organization)
- path
(string) (optional): Path to file/directory (directories must end with a slash '/')
- ref
(string) (optional): Accepts optional git refs such as refs/tags/{tag}
, refs/heads/{branch}
or refs/pull/{pr_number}/head
- repo
(string) (required): Repository name
- sha
(string) (optional): Accepts optional commit SHA. If specified, it will be used instead of ref
get_issue¶
Description: Get details of a specific issue in a GitHub repository.
Parameters:
- issue_number
(number) (required): The number of the issue
- owner
(string) (required): The owner of the repository
- repo
(string) (required): The name of the repository
get_issue_comments¶
Description: Get comments for a specific issue in a GitHub repository.
Parameters:
- issue_number
(number) (required): Issue number
- owner
(string) (required): Repository owner
- page
(number) (optional): Page number for pagination (min 1)
- perPage
(number) (optional): Results per page for pagination (min 1, max 100)
- repo
(string) (required): Repository name
get_job_logs¶
Description: Download logs for a specific workflow job or efficiently get all failed job logs for a workflow run
Parameters:
- failed_only
(boolean) (optional): When true, gets logs for all failed jobs in run_id
- job_id
(number) (optional): The unique identifier of the workflow job (required for single job logs)
- owner
(string) (required): Repository owner
- repo
(string) (required): Repository name
- return_content
(boolean) (optional): Returns actual log content instead of URLs
- run_id
(number) (optional): Workflow run ID (required when using failed_only)
- tail_lines
(number) (optional): Number of lines to return from the end of the log
get_me¶
Description: Get details of the authenticated GitHub user. Use this when a request is about the user's own profile for GitHub. Or when information is missing to build other tool calls.
Parameters: - No parameters required
get_notification_details¶
Description: Get detailed information for a specific GitHub notification, always call this tool when the user asks for details about a specific notification, if you don't know the ID list notifications first.
Parameters:
- notificationID
(string) (required): The ID of the notification
get_pull_request¶
Description: Get details of a specific pull request in a GitHub repository.
Parameters:
- owner
(string) (required): Repository owner
- pullNumber
(number) (required): Pull request number
- repo
(string) (required): Repository name
get_pull_request_comments¶
Description: Get comments for a specific pull request.
Parameters:
- owner
(string) (required): Repository owner
- pullNumber
(number) (required): Pull request number
- repo
(string) (required): Repository name
get_pull_request_diff¶
Description: Get the diff of a pull request.
Parameters:
- owner
(string) (required): Repository owner
- pullNumber
(number) (required): Pull request number
- repo
(string) (required): Repository name
get_pull_request_files¶
Description: Get the files changed in a specific pull request.
Parameters:
- owner
(string) (required): Repository owner
- page
(number) (optional): Page number for pagination (min 1)
- perPage
(number) (optional): Results per page for pagination (min 1, max 100)
- pullNumber
(number) (required): Pull request number
- repo
(string) (required): Repository name
get_pull_request_reviews¶
Description: Get reviews for a specific pull request.
Parameters:
- owner
(string) (required): Repository owner
- pullNumber
(number) (required): Pull request number
- repo
(string) (required): Repository name
get_pull_request_status¶
Description: Get the status of a specific pull request.
Parameters:
- owner
(string) (required): Repository owner
- pullNumber
(number) (required): Pull request number
- repo
(string) (required): Repository name
get_secret_scanning_alert¶
Description: Get details of a specific secret scanning alert in a GitHub repository.
Parameters:
- alertNumber
(number) (required): The number of the alert.
- owner
(string) (required): The owner of the repository.
- repo
(string) (required): The name of the repository.
get_tag¶
Description: Get details about a specific git tag in a GitHub repository
Parameters:
- owner
(string) (required): Repository owner
- repo
(string) (required): Repository name
- tag
(string) (required): Tag name
get_workflow_run¶
Description: Get details of a specific workflow run
Parameters:
- owner
(string) (required): Repository owner
- repo
(string) (required): Repository name
- run_id
(number) (required): The unique identifier of the workflow run
get_workflow_run_logs¶
Description: Download logs for a specific workflow run (EXPENSIVE: downloads ALL logs as ZIP. Consider using get_job_logs with failed_only=true for debugging failed jobs)
Parameters:
- owner
(string) (required): Repository owner
- repo
(string) (required): Repository name
- run_id
(number) (required): The unique identifier of the workflow run
get_workflow_run_usage¶
Description: Get usage metrics for a workflow run
Parameters:
- owner
(string) (required): Repository owner
- repo
(string) (required): Repository name
- run_id
(number) (required): The unique identifier of the workflow run
list_branches¶
Description: List branches in a GitHub repository
Parameters:
- owner
(string) (required): Repository owner
- page
(number) (optional): Page number for pagination (min 1)
- perPage
(number) (optional): Results per page for pagination (min 1, max 100)
- repo
(string) (required): Repository name
list_code_scanning_alerts¶
Description: List code scanning alerts in a GitHub repository.
Parameters:
- owner
(string) (required): The owner of the repository.
- ref
(string) (optional): The Git reference for the results you want to list.
- repo
(string) (required): The name of the repository.
- severity
(string) (optional): Filter code scanning alerts by severity
- state
(string) (optional): Filter code scanning alerts by state. Defaults to open
- tool_name
(string) (optional): The name of the tool used for code scanning.
list_commits¶
Description: Get list of commits of a branch in a GitHub repository. Returns at least 30 results per page by default, but can return more if specified using the perPage parameter (up to 100).
Parameters:
- author
(string) (optional): Author username or email address to filter commits by
- owner
(string) (required): Repository owner
- page
(number) (optional): Page number for pagination (min 1)
- perPage
(number) (optional): Results per page for pagination (min 1, max 100)
- repo
(string) (required): Repository name
- sha
(string) (optional): Commit SHA, branch or tag name to list commits of. If not provided, uses the default branch of the repository. If a commit SHA is provided, will list commits up to that SHA.
list_dependabot_alerts¶
Description: List dependabot alerts in a GitHub repository.
Parameters:
- owner
(string) (required): The owner of the repository.
- repo
(string) (required): The name of the repository.
- severity
(string) (optional): Filter dependabot alerts by severity
- state
(string) (optional): Filter dependabot alerts by state. Defaults to open
list_discussion_categories¶
Description: List discussion categories with their id and name, for a repository
Parameters:
- owner
(string) (required): Repository owner
- repo
(string) (required): Repository name
list_discussions¶
Description: List discussions for a repository
Parameters:
- after
(string) (optional): Cursor for pagination. Use the endCursor from the previous page's PageInfo for GraphQL APIs.
- category
(string) (optional): Optional filter by discussion category ID. If provided, only discussions with this category are listed.
- direction
(string) (optional): Order direction.
- orderBy
(string) (optional): Order discussions by field. If provided, the 'direction' also needs to be provided.
- owner
(string) (required): Repository owner
- perPage
(number) (optional): Results per page for pagination (min 1, max 100)
- repo
(string) (required): Repository name
list_issues¶
Description: List issues in a GitHub repository.
Parameters:
- direction
(string) (optional): Sort direction
- labels
(array) (optional): Filter by labels
- owner
(string) (required): Repository owner
- page
(number) (optional): Page number for pagination (min 1)
- perPage
(number) (optional): Results per page for pagination (min 1, max 100)
- repo
(string) (required): Repository name
- since
(string) (optional): Filter by date (ISO 8601 timestamp)
- sort
(string) (optional): Sort order
- state
(string) (optional): Filter by state
list_notifications¶
Description: Lists all GitHub notifications for the authenticated user, including unread notifications, mentions, review requests, assignments, and updates on issues or pull requests. Use this tool whenever the user asks what to work on next, requests a summary of their GitHub activity, wants to see pending reviews, or needs to check for new updates or tasks. This tool is the primary way to discover actionable items, reminders, and outstanding work on GitHub. Always call this tool when asked what to work on next, what is pending, or what needs attention in GitHub.
Parameters:
- before
(string) (optional): Only show notifications updated before the given time (ISO 8601 format)
- filter
(string) (optional): Filter notifications to, use default unless specified. Read notifications are ones that have already been acknowledged by the user. Participating notifications are those that the user is directly involved in, such as issues or pull requests they have commented on or created.
- owner
(string) (optional): Optional repository owner. If provided with repo, only notifications for this repository are listed.
- page
(number) (optional): Page number for pagination (min 1)
- perPage
(number) (optional): Results per page for pagination (min 1, max 100)
- repo
(string) (optional): Optional repository name. If provided with owner, only notifications for this repository are listed.
- since
(string) (optional): Only show notifications updated after the given time (ISO 8601 format)
list_pull_requests¶
Description: List pull requests in a GitHub repository. If the user specifies an author, then DO NOT use this tool and use the search_pull_requests tool instead.
Parameters:
- base
(string) (optional): Filter by base branch
- direction
(string) (optional): Sort direction
- head
(string) (optional): Filter by head user/org and branch
- owner
(string) (required): Repository owner
- page
(number) (optional): Page number for pagination (min 1)
- perPage
(number) (optional): Results per page for pagination (min 1, max 100)
- repo
(string) (required): Repository name
- sort
(string) (optional): Sort by
- state
(string) (optional): Filter by state
list_secret_scanning_alerts¶
Description: List secret scanning alerts in a GitHub repository.
Parameters:
- owner
(string) (required): The owner of the repository.
- repo
(string) (required): The name of the repository.
- resolution
(string) (optional): Filter by resolution
- secret_type
(string) (optional): A comma-separated list of secret types to return. All default secret patterns are returned. To return generic patterns, pass the token name(s) in the parameter.
- state
(string) (optional): Filter by state
list_sub_issues¶
Description: List sub-issues for a specific issue in a GitHub repository.
Parameters:
- issue_number
(number) (required): Issue number
- owner
(string) (required): Repository owner
- page
(number) (optional): Page number for pagination (default: 1)
- per_page
(number) (optional): Number of results per page (max 100, default: 30)
- repo
(string) (required): Repository name
list_tags¶
Description: List git tags in a GitHub repository
Parameters:
- owner
(string) (required): Repository owner
- page
(number) (optional): Page number for pagination (min 1)
- perPage
(number) (optional): Results per page for pagination (min 1, max 100)
- repo
(string) (required): Repository name
list_workflow_jobs¶
Description: List jobs for a specific workflow run
Parameters:
- filter
(string) (optional): Filters jobs by their completed_at timestamp
- owner
(string) (required): Repository owner
- page
(number) (optional): Page number for pagination (min 1)
- perPage
(number) (optional): Results per page for pagination (min 1, max 100)
- repo
(string) (required): Repository name
- run_id
(number) (required): The unique identifier of the workflow run
list_workflow_run_artifacts¶
Description: List artifacts for a workflow run
Parameters:
- owner
(string) (required): Repository owner
- page
(number) (optional): Page number for pagination (min 1)
- perPage
(number) (optional): Results per page for pagination (min 1, max 100)
- repo
(string) (required): Repository name
- run_id
(number) (required): The unique identifier of the workflow run
list_workflow_runs¶
Description: List workflow runs for a specific workflow
Parameters:
- actor
(string) (optional): Returns someone's workflow runs. Use the login for the user who created the workflow run.
- branch
(string) (optional): Returns workflow runs associated with a branch. Use the name of the branch.
- event
(string) (optional): Returns workflow runs for a specific event type
- owner
(string) (required): Repository owner
- page
(number) (optional): Page number for pagination (min 1)
- perPage
(number) (optional): Results per page for pagination (min 1, max 100)
- repo
(string) (required): Repository name
- status
(string) (optional): Returns workflow runs with the check run status
- workflow_id
(string) (required): The workflow ID or workflow file name
list_workflows¶
Description: List workflows in a repository
Parameters:
- owner
(string) (required): Repository owner
- page
(number) (optional): Page number for pagination (min 1)
- perPage
(number) (optional): Results per page for pagination (min 1, max 100)
- repo
(string) (required): Repository name
manage_notification_subscription¶
Description: Manage a notification subscription: ignore, watch, or delete a notification thread subscription.
Parameters:
- action
(string) (required): Action to perform: ignore, watch, or delete the notification subscription.
- notificationID
(string) (required): The ID of the notification thread.
manage_repository_notification_subscription¶
Description: Manage a repository notification subscription: ignore, watch, or delete repository notifications subscription for the provided repository.
Parameters:
- action
(string) (required): Action to perform: ignore, watch, or delete the repository notification subscription.
- owner
(string) (required): The account owner of the repository.
- repo
(string) (required): The name of the repository.
mark_all_notifications_read¶
Description: Mark all notifications as read
Parameters:
- lastReadAt
(string) (optional): Describes the last point that notifications were checked (optional). Default: Now
- owner
(string) (optional): Optional repository owner. If provided with repo, only notifications for this repository are marked as read.
- repo
(string) (optional): Optional repository name. If provided with owner, only notifications for this repository are marked as read.
merge_pull_request¶
Description: Merge a pull request in a GitHub repository.
Parameters:
- commit_message
(string) (optional): Extra detail for merge commit
- commit_title
(string) (optional): Title for merge commit
- merge_method
(string) (optional): Merge method
- owner
(string) (required): Repository owner
- pullNumber
(number) (required): Pull request number
- repo
(string) (required): Repository name
push_files¶
Description: Push multiple files to a GitHub repository in a single commit
Parameters:
- branch
(string) (required): Branch to push to
- files
(array) (required): Array of file objects to push, each object with path (string) and content (string)
- message
(string) (required): Commit message
- owner
(string) (required): Repository owner
- repo
(string) (required): Repository name
remove_sub_issue¶
Description: Remove a sub-issue from a parent issue in a GitHub repository.
Parameters:
- issue_number
(number) (required): The number of the parent issue
- owner
(string) (required): Repository owner
- repo
(string) (required): Repository name
- sub_issue_id
(number) (required): The ID of the sub-issue to remove. ID is not the same as issue number
reprioritize_sub_issue¶
Description: Reprioritize a sub-issue to a different position in the parent issue's sub-issue list.
Parameters:
- after_id
(number) (optional): The ID of the sub-issue to be prioritized after (either after_id OR before_id should be specified)
- before_id
(number) (optional): The ID of the sub-issue to be prioritized before (either after_id OR before_id should be specified)
- issue_number
(number) (required): The number of the parent issue
- owner
(string) (required): Repository owner
- repo
(string) (required): Repository name
- sub_issue_id
(number) (required): The ID of the sub-issue to reprioritize. ID is not the same as issue number
request_copilot_review¶
Description: Request a GitHub Copilot code review for a pull request. Use this for automated feedback on pull requests, usually before requesting a human reviewer.
Parameters:
- owner
(string) (required): Repository owner
- pullNumber
(number) (required): Pull request number
- repo
(string) (required): Repository name
rerun_failed_jobs¶
Description: Re-run only the failed jobs in a workflow run
Parameters:
- owner
(string) (required): Repository owner
- repo
(string) (required): Repository name
- run_id
(number) (required): The unique identifier of the workflow run
rerun_workflow_run¶
Description: Re-run an entire workflow run
Parameters:
- owner
(string) (required): Repository owner
- repo
(string) (required): Repository name
- run_id
(number) (required): The unique identifier of the workflow run
run_workflow¶
Description: Run an Actions workflow by workflow ID or filename
Parameters:
- inputs
(object) (optional): Inputs the workflow accepts
- owner
(string) (required): Repository owner
- ref
(string) (required): The git reference for the workflow. The reference can be a branch or tag name.
- repo
(string) (required): Repository name
- workflow_id
(string) (required): The workflow ID (numeric) or workflow file name (e.g., main.yml, ci.yaml)
search_code¶
Description: Search for code across GitHub repositories
Parameters:
- order
(string) (optional): Sort order
- page
(number) (optional): Page number for pagination (min 1)
- perPage
(number) (optional): Results per page for pagination (min 1, max 100)
- query
(string) (required): Search query using GitHub code search syntax
- sort
(string) (optional): Sort field ('indexed' only)
search_issues¶
Description: Search for issues in GitHub repositories using issues search syntax already scoped to is:issue
Parameters:
- order
(string) (optional): Sort order
- owner
(string) (optional): Optional repository owner. If provided with repo, only notifications for this repository are listed.
- page
(number) (optional): Page number for pagination (min 1)
- perPage
(number) (optional): Results per page for pagination (min 1, max 100)
- query
(string) (required): Search query using GitHub issues search syntax
- repo
(string) (optional): Optional repository name. If provided with owner, only notifications for this repository are listed.
- sort
(string) (optional): Sort field by number of matches of categories, defaults to best match
search_orgs¶
Description: Search for GitHub organizations exclusively
Parameters:
- order
(string) (optional): Sort order
- page
(number) (optional): Page number for pagination (min 1)
- perPage
(number) (optional): Results per page for pagination (min 1, max 100)
- query
(string) (required): Search query using GitHub organizations search syntax scoped to type:org
- sort
(string) (optional): Sort field by category
search_pull_requests¶
Description: Search for pull requests in GitHub repositories using issues search syntax already scoped to is:pr
Parameters:
- order
(string) (optional): Sort order
- owner
(string) (optional): Optional repository owner. If provided with repo, only notifications for this repository are listed.
- page
(number) (optional): Page number for pagination (min 1)
- perPage
(number) (optional): Results per page for pagination (min 1, max 100)
- query
(string) (required): Search query using GitHub pull request search syntax
- repo
(string) (optional): Optional repository name. If provided with owner, only notifications for this repository are listed.
- sort
(string) (optional): Sort field by number of matches of categories, defaults to best match
search_repositories¶
Description: Search for GitHub repositories
Parameters:
- page
(number) (optional): Page number for pagination (min 1)
- perPage
(number) (optional): Results per page for pagination (min 1, max 100)
- query
(string) (required): Search query
search_users¶
Description: Search for GitHub users exclusively
Parameters:
- order
(string) (optional): Sort order
- page
(number) (optional): Page number for pagination (min 1)
- perPage
(number) (optional): Results per page for pagination (min 1, max 100)
- query
(string) (required): Search query using GitHub users search syntax scoped to type:user
- sort
(string) (optional): Sort field by category
submit_pending_pull_request_review¶
Description: Submit the requester's latest pending pull request review, normally this is a final step after creating a pending review, adding comments first, unless you know that the user already did the first two steps, you should check before calling this.
Parameters:
- body
(string) (optional): The text of the review comment
- event
(string) (required): The event to perform
- owner
(string) (required): Repository owner
- pullNumber
(number) (required): Pull request number
- repo
(string) (required): Repository name
update_issue¶
Description: Update an existing issue in a GitHub repository.
Parameters:
- assignees
(array) (optional): New assignees
- body
(string) (optional): New description
- issue_number
(number) (required): Issue number to update
- labels
(array) (optional): New labels
- milestone
(number) (optional): New milestone number
- owner
(string) (required): Repository owner
- repo
(string) (required): Repository name
- state
(string) (optional): New state
- title
(string) (optional): New title
update_pull_request¶
Description: Update an existing pull request in a GitHub repository.
Parameters:
- base
(string) (optional): New base branch name
- body
(string) (optional): New description
- maintainer_can_modify
(boolean) (optional): Allow maintainer edits
- owner
(string) (required): Repository owner
- pullNumber
(number) (required): Pull request number to update
- repo
(string) (required): Repository name
- state
(string) (optional): New state
- title
(string) (optional): New title
update_pull_request_branch¶
Description: Update the branch of a pull request with the latest changes from the base branch.
Parameters:
- expectedHeadSha
(string) (optional): The expected SHA of the pull request's HEAD ref
- owner
(string) (required): Repository owner
- pullNumber
(number) (required): Pull request number
- repo
(string) (required): Repository name
Usage Examples¶
# Start interactive mode
mcp_platform interactive
# Deploy the template (if not already deployed)
mcpp> deploy github
# List available tools after deployment
mcpp> tools github
Then call tools:
mcpp> call github add_comment_to_pending_review '{"body": "example_value", "line": 123, "owner": "example_value", "path": "example_value", "pullNumber": 123, "repo": "example_value", "side": "example_value", "startLine": 123, "startSide": "example_value", "subjectType": "example_value"}'
import asyncio
from mcp_platform.client import MCPClient
async def use_github():
client = MCPClient()
# Start the server
deployment = client.start_server("github", {})
if deployment["success"]:
deployment_id = deployment["deployment_id"]
try:
# Discover available tools
tools = client.list_tools("github")
print(f"Available tools: {[t['name'] for t in tools]}")
# Call add_comment_to_pending_review
result = client.call_tool("github", "add_comment_to_pending_review", {'body': 'example_value', 'line': 123, 'owner': 'example_value', 'path': 'example_value', 'pullNumber': 123, 'repo': 'example_value', 'side': 'example_value', 'startLine': 123, 'startSide': 'example_value', 'subjectType': 'example_value'})
print(f"add_comment_to_pending_review result: {result}")
# Call add_issue_comment
result = client.call_tool("github", "add_issue_comment", {'body': 'example_value', 'issue_number': 123, 'owner': 'example_value', 'repo': 'example_value'})
print(f"add_issue_comment result: {result}")
finally:
# Clean up
client.stop_server(deployment_id)
else:
print("Failed to start server")
# Run the example
asyncio.run(use_github())
Integration Examples¶
Add this configuration to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Install the MCP extension and add this to your VS Code settings (.vscode/settings.json
):
Configuration¶
For template-specific configuration options, see the main template documentation. Common configuration methods:
Troubleshooting¶
Common Issues¶
-
Template not found: Ensure the template name is correct
-
Connection issues: Check if the server is running
-
Tool discovery fails: Try refreshing the tool cache
Debug Mode¶
Enable debug logging for troubleshooting:
For more help, see the main documentation or open an issue in the repository.