Github Mcp Server

development MCP Server

GitHub's official MCP Server

Fresh
developmentdevelopment
6 views32,993 stars4,984 forksMIT

Why This Matters

Discovered via unknown and last synced 4d ago.

Fresh
Source
unknown
Stars
32,993
Last synced
4d ago
Install
Check source

Install

Install instructions not detected yet

Check the source repository for the latest setup steps.

View source instructions
309
Tools
0
Resources
0
Prompts
Standard I/O
Transport

Available Tools (309)

list_workflow_runs

List workflow runs

add_sub_issue

Add sub-issue

list_workflow_jobs

List workflow jobs

list_sub_issues

List sub-issues

No

parameters required

delete_workflow_run_logs

Delete workflow logs

return_content

Returns actual log content instead of URLs (boolean, optional)

get_workflow_run_logs

Get workflow run logs

get_issue

Get issue details

get_pull_request_diff

Get pull request diff

get_pull_request_reviews

Get pull request reviews

get_pull_request_files

Get pull request files

get_pull_request_status

Get pull request status checks

list_pull_requests

List pull requests

get_file_contents

Get file or directory contents

list_secret_scanning_alerts

List secret scanning alerts

get_latest_release

Get latest release

get_secret_scanning_alert

Get secret scanning alert

get_team_members

Get team members

dismiss_notification

Dismiss notification

action

Action to perform: ignore, watch, or delete the repository notification subscription. (string, required)

cancel_workflow_run

Cancel workflow run

download_workflow_run_artifact

Download workflow artifact

rerun_workflow_run

Rerun workflow run

get_dependabot_alert

Get dependabot alert

assign_copilot_to_issue

Assign Copilot to issue

body

New description (string, optional)

title

New title (string, optional)

subjectType

The level at which the comment is targeted (string, required)

maintainer_can_modify

Allow maintainer edits (boolean, optional)

from_branch

Source branch (defaults to repo default) (string, optional)

name

Repository name (string, required)

include_diff

Whether to include file diffs and stats in the response. Default is true. (boolean, optional)

search_issues

Search issues

manage_repository_notification_subscription

Manage repository notification subscription

add_comment_to_pending_review

Add review comment to the requester's latest pending pull request review

mark_all_notifications_read

Mark all notifications as read

create_and_submit_pull_request_review

Create and submit a pull request review without comments

create_pending_pull_request_review

Create pending pull request review

delete_pending_pull_request_review

Delete the requester's latest pending pull request review

submit_pending_pull_request_review

Submit the requester's latest pending pull request review

create_repository

Create repository

list_branches

List branches

org

The organization login. (string, required)

team_slug

Team slug (string, required)

actions_list

List GitHub Actions workflows in a repository

Do

not provide any resource ID for 'list_workflows' method.

issue_read

Get issue details

duplicate_of

Issue number that this issue is a duplicate of. Required when state_reason is 'duplicate'. (number, optional)

list_label

List labels from a repository

actions_get

Get details of GitHub Actions resources (workflows, workflow runs, jobs, and artifacts)

resource_id

The unique identifier of the resource. This will vary based on the "method" provided, so ensure you provide the correct ID:

workflow_jobs_filter

Filters for workflow jobs. **ONLY** used when method is 'list_workflow_jobs' (object, optional)

actions_run_trigger

Trigger GitHub Actions workflow actions

inputs

Inputs the workflow accepts. Only used for 'run_workflow' method. (object, optional)

label_write

Write operations on repository labels

get_gist

Get Gist Content

remove

a sub-issue from a parent issue in a GitHub repository.

status_update_id

The node ID of the project status update. Required for 'get_project_status_update' method. (string, optional)

method

The write operation to perform on pull request review. (string, required)

item_type

The item's type, either issue or pull_request. Required for 'add_project_item' method. (string, optional)

target_date

The target date of the status update in YYYY-MM-DD format. Used for 'create_project_status_update' method. (string, optional)

pull_request_read

Get details for a single pull request

pull_request_review_write

Write operations (create, submit, delete) on pull request reviews

until

Only commits before this date will be returned (ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ or YYYY-MM-DD) (string, optional)

threadId

The node ID of the review thread (e.g., PRRT_kwDOxxx). Required for resolve_thread and unresolve_thread methods. Get thread IDs from pull_request_read with method get_review_comments. (string, optional)

cveId

Filter by CVE ID. (string, optional)

list_org_repository_security_advisories

List org repository security advisories

unstar_repository

Unstar repository

artifact_id

The unique identifier of the artifact (number, required)

get_teams

Get teams

public

Whether the gist is public (boolean, optional)

list_issue_types

List available issue types

remove_sub_issue

Remove sub-issue

per_page

Results per page (max 50) (number, optional)

before_id

The ID of the sub-issue to be prioritized before (either after_id OR before_id should be specified) (number, optional)

get_job_logs

Get GitHub Actions workflow job logs

list_workflow_run_artifacts

List workflow artifacts

discussionNumber

Discussion Number (number, required)

rerun_failed_jobs

Rerun failed jobs

list_dependabot_alerts

List dependabot alerts

get_discussion_comments

Get discussion comments

content

Content of the file, exactly as it should appear once written. Do not base64-encode it; this server does that before calling the REST API. (string, required)

update_gist

Update Gist

START

AUTOMATED TOOLS -->

category

Optional filter by discussion category ID. If provided, only discussions with this category are listed. (string, optional)

filename

Filename to update or create (string, required)

create_issue

Open new issue

manage_notification_subscription

Manage notification subscription

commitID

SHA of commit to review (string, optional)

get_workflow_run

Get workflow run

get_code_scanning_alert

Get code scanning alert

add_issue_comment

Add comment to issue or pull request

list_issues

List issues

get_workflow_run_usage

Get workflow usage

actor

Returns someone's workflow runs. Use the login for the user who created the workflow run. (string, optional)

list_workflows

List workflows

user

Username to get teams for. If not provided, uses the authenticated user. (string, optional)

job_id

The unique identifier of the workflow job. Required when getting logs for a single job. (number, optional)

run_workflow

Run workflow

issueNumber

Issue number (number, required)

reprioritize_sub_issue

Reprioritize sub-issue

replace_parent

When true, replaces the sub-issue's current parent issue. Use with 'add' method only. (boolean, optional)

get_issue_comments

Get issue comments

since

Only commits after this date will be returned (ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ or YYYY-MM-DD) (string, optional)

before

Backward pagination cursor from previous pageInfo.prevCursor (rare). (string, optional)

merge_method

Merge method (string, optional)

after_id

The ID of the sub-issue to be prioritized after (either after_id OR before_id should be specified) (number, optional)

sub_issue_id

The ID of the sub-issue to add. ID is not the same as issue number (number, required)

update_issue

Edit issue

assignees

Usernames to assign to this issue (string[], optional)

milestone

Milestone number (number, optional)

get_notification_details

Get notification details

head

Filter by head user/org and branch (string, optional)

get_pull_request

Get pull request details

merge_pull_request

Merge pull request

get_tag

Get tag details

list_commits

List commits

published

Filter by publish date or date range (ISO 8601 date or range). (string, optional)

list_notifications

List notifications

side

The side of the diff to comment on. LEFT indicates the previous state, RIGHT indicates the new state (string, optional)

request_copilot_review

Request Copilot review

update_pull_request

Edit pull request

get_commit

Get commit details

startLine

For multi-line comments, the first line of the range that the comment applies to (number, optional)

get_pull_request_comments

Get pull request comments

draft

Mark pull request as draft (true) or ready for review (false) (boolean, optional)

expectedHeadSha

The expected SHA of the pull request's HEAD ref (string, optional)

autoInit

Initialize with README (boolean, optional)

page

Page number for pagination (min 1) (number, optional)

author

Author username or email address to filter commits by (string, optional)

files

Array of file objects to push, each object with path (string) and content (string) (object[], required)

sort

Sort users by number of followers or repositories, or when the person joined GitHub. (string, optional)

list_global_security_advisories

List global security advisories

search_pull_requests

Search pull requests

description

Repository description (string, optional)

message

Commit message (string, required)

type

Advisory type. (string, optional)

sha

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. (string, optional)

ref

Accepts optional git refs such as `refs/tags/{tag}`, `refs/heads/{branch}` or `refs/pull/{pr_number}/head` (string, optional)

push_files

Push files to repository

event

Review action to perform. (string, optional)

pullNumber

Pull request number (number, required)

fork_repository

Fork repository

tag

Tag name (string, required)

list_tags

List tags

minimal_output

Return minimal repository information (default: true). When false, returns full GitHub API repository objects. (boolean, optional)

organization

Organization to fork to (string, optional)

create_branch

Create branch

private

Whether the repository should be private. Defaults to true (private) when omitted. (boolean, optional)

get_release_by_tag

Get a release by tag name

search_code

Search code

resolution

Filter by resolution (string, optional)

direction

The direction to sort the results by. (string, optional)

branch

Branch to push to (string, required)

path

Only commits containing this file path will be returned (string, optional)

delete_file

Delete file

order

Sort order (string, optional)

search_users

Search users

alertNumber

The number of the alert. (number, required)

get_global_security_advisory

Get a global security advisory

modified

Filter by publish or update date or date range (ISO 8601 date or range). (string, optional)

adds

a new top-level comment to a discussion.

get_discussion

Get discussion

path_filter

Optional path prefix to filter the tree results (e.g., 'src/' to only show files in the src directory) (string, optional)

color

Label color as 6-character hex code without '#' prefix (e.g., 'f29513'). Required for 'create', optional for 'update'. (string, optional)

projects_write

Manage GitHub Projects

commentId

The numeric ID of the pull request review comment to reply or react to. Use the number from a #discussion_r... anchor, not the GraphQL thread node ID (PRRT_...). (number, required)

replies

to a top-level discussion comment (GitHub Discussions only support one level of nesting).

includeReplies

When true, each top-level comment will include its replies nested within it (up to 100 replies per comment, which is the GitHub API maximum). Defaults to false. (boolean, optional)

list_discussions

List discussions

gist_id

ID of the gist to update (string, required)

recursive

Setting this parameter to true returns the objects or subtrees referenced by the tree. Default is false (boolean, optional)

state_reason

Reason for the state change. Ignored unless state is changed. (string, optional)

run_id

The unique identifier of the workflow run. Required when failed_only is true to get logs for all failed jobs in the run. (number, optional)

workflow_id

The workflow ID (numeric) or workflow file name (e.g., main.yml, ci.yaml). Required for 'run_workflow' method. (string, optional)

tail_lines

Number of lines to return from the end of the log (number, optional)

list_code_scanning_alerts

List code scanning alerts

discussion_comment_write

Manage discussion comments

commentNodeID

The Node ID of the discussion comment (required for 'reply', 'update', 'delete', 'mark_answer', and 'unmark_answer' methods). For 'reply', this is the top-level comment to reply to; GitHub Discussions only support one level of nesting. (string, optional)

deletes

a discussion comment.

marks

a discussion comment as the answer (Q&A only).

unmarks

a discussion comment as the answer (Q&A only).

list_discussion_categories

List discussion categories

get_repository_tree

Get repository tree

item_owner

The owner (user or organization) of the repository containing the issue or pull request. Required for 'add_project_item' method. Also accepted by 'update_project_item' when resolving the item by issue number. (string, optional)

start_date

Start date in YYYY-MM-DD format. Used for 'create_project_status_update' and 'create_iteration_field' methods. (string, optional)

add_reply_to_pull_request_comment

Add reply to pull request comment

star_repository

Star repository

create_gist

Create Gist

list_gists

List Gists

get_label

Get a specific label from a repository

add

a sub-issue to a parent issue in a GitHub repository.

project_number

The project's number. Required for all methods except 'create_project'. (number, optional)

tree_sha

The SHA1 value or ref (branch or tag) name of the tree. Defaults to the repository's default branch (string, optional)

issue_write

Create or update issue/pull request

creates

a new issue.

Accepted OAuth Scopes

`repo`, `security_events`

updates

an existing issue.

labels

Filter by labels (string[], optional)

sub_issue_write

Change sub-issue

new_name

New name for the label (used only with 'update' method to rename) (string, optional)

field_id

The field's ID. Required for 'get_project_field' method. (number, optional)

projects_list

List GitHub Projects resources

pull_request_number

The pull request number (use when item_type is 'pull_request' for 'add_project_item' method). Provide either issue_number or pull_request_number. (number, optional)

create_pull_request

Open new pull request

commit_title

Title for merge commit (string, optional)

create_or_update_file

Create or update file

threadID

The ID of the notification thread (string, required)

lastReadAt

Describes the last point that notifications were checked (optional). Default: Now (string, optional)

status

The status of the project. Used for 'create_project_status_update' method. (string, optional)

list_releases

List releases

affiliation

Filter by affiliation. Can be one of: 'outside' (outside collaborators), 'direct' (all with permissions regardless of org membership), 'all' (all collaborators). Default: 'all' (string, optional)

notificationID

The ID of the notification thread. (string, required)

search_orgs

Search organizations

projects_get

Get details of GitHub Projects resources

owner_type

Owner type (user or org). Required for 'create_project' method. If not provided for other methods, will be automatically detected. (string, optional)

isWithdrawn

Whether to only return withdrawn advisories. (boolean, optional)

Get

check runs for the head commit of a pull request. Check runs are the individual CI/CD jobs and checks that run on the PR.

update_pull_request_branch

Update pull request branch

ghsaId

Filter by GitHub Security Advisory ID (format: GHSA-xxxx-xxxx-xxxx). (string, optional)

Required OAuth Scopes

`repo`

list_repository_collaborators

List repository collaborators

search_repositories

Search repositories

state

Filter by advisory state. (string, optional)

affects

Filter advisories by affected package or version (e.g. "package1,[email protected]"). (string, optional)

ecosystem

Filter by package ecosystem. (string, optional)

severity

Filter by severity. (string, optional)

username

Username to list starred repositories for. Defaults to the authenticated user. (string, optional)

END

AUTOMATED TOOLS -->

cwes

Filter by Common Weakness Enumeration IDs (e.g. ["79", "284", "22"]). (string[], optional)

updated

Filter by update date or date range (ISO 8601 date or range). (string, optional)

list_repository_security_advisories

List repository security advisories

list_starred_repositories

List starred repositories

Provide

a workflow run ID for 'list_workflow_jobs' and 'list_workflow_run_artifacts' methods.

workflow_runs_filter

Filters for workflow runs. **ONLY** used when method is 'list_workflow_runs' (object, optional)

failed_only

When true, gets logs for all failed jobs in the workflow run specified by run_id. Requires run_id to be provided. (boolean, optional)

get_code_quality_finding

Get code quality finding

findingNumber

The number of the finding. (number, required)

assign_copilot_to_issue_with_intent

Assign Copilot to issue with intent

custom_instructions

Optional custom instructions to guide the agent beyond the issue body. Ignored when is_suggestion is true (string, optional)

orderBy

Order issues by field. If provided, the 'direction' also needs to be provided. (string, optional)

startSide

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 (string, optional)

base

New base branch name (string, optional)

confidence

How confident you are in this choice. 'HIGH' for clear signal or explicit user request, 'MEDIUM' for reasonable inference with some ambiguity, 'LOW' for best guess with limited signal. (string, required)

field_name

The name of the iteration field (e.g. 'Sprint'). Required for 'create_iteration_field' method. (string, optional)

is_suggestion

If true, records a pending Copilot assignment intent rather than launching the agent. Approval later supplies the launch context; base_ref and custom_instructions are ignored in this case. (boolean, required)

list_issue_fields

List issue fields

item_id

The project item ID. Required for 'delete_project_item'. For 'update_project_item', provide either item_id, or (item_owner + item_repo + issue_number) to resolve the item by issue. (number, optional)

secret_type

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. (string, optional)

rationale

One concise sentence explaining what specifically about the issue led to choosing Copilot. State the concrete signal (e.g. 'Well-scoped task with clear acceptance criteria'). (string, required)

repo

Repository name (string, required)

comment_id

The numeric ID of the issue or pull request comment to react to. Use this for reactions to comments; omit it to react to the issue or pull request itself. Cannot be combined with body. (integer, optional)

change

the order of sub-issues within a parent issue in a GitHub repository. Use either 'after_id' or 'before_id' to specify the new position.

issue_number

The issue number. Required for 'add_project_item' when item_type is 'issue'. Also accepted by 'update_project_item' to resolve the item by issue number (combine with item_owner and item_repo). (number, optional)

line

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 (number, optional)

after

Cursor for pagination, used only by the get_review_comments method. Pass the endCursor from the previous page's PageInfo to fetch the next page. (string, optional)

detail

Level of detail to include for changed files. "none" omits stats and files entirely. "stats" (default) includes per-file metadata: filename, status, and lines-of-code counts (additions, deletions, changes), with no patch content. "full_patch" additionally includes the unified diff content for each file and can be very large. (string, optional)

reaction

Emoji reaction to add. Required unless body is provided. (string, optional)

issue_fields

Issue field values to set or clear. Each item requires 'field_name' and exactly one of 'value', 'field_option_name', or 'delete: true'. (object[], optional)

filter

Saved view filter; omit on update to preserve it, or pass null to clear it. (string | null, optional)

item_repo

The name of the repository containing the issue or pull request. Required for 'add_project_item' method. Also accepted by 'update_project_item' when resolving the item by issue number. (string, optional)

query

User search query. Examples: 'john smith', 'location:seattle', 'followers:>100'. Search is automatically scoped to type:user. (string, required)

Required OAuth Scopes (any of)

`repo`, `read:org`

search_commits

Search commits

field_filters

Filter by custom issue field values. Each entry takes a field_name and a value; the server looks up the field and coerces the value to its type (single-select option name, text, number, or YYYY-MM-DD date). (object[], optional)

field_names

Field names to include when listing project items (e.g. ["Status", "Priority"]). Resolved server-side to field IDs — pass this instead of 'fields' when you only know the human-readable names. Names that fail to resolve return a structured error. Mutually exclusive with 'fields' — provide one, not both. Only used for 'list_project_items' method. (string[], optional)

iteration_duration

Duration in days for iterations of the field (e.g. 7 for weekly, 14 for bi-weekly). Required for 'create_iteration_field' method. (number, optional)

owner

Repository owner (string, required)

reviewers

GitHub usernames or ORG/team-slug team reviewers to request reviews from (string[], optional)

perPage

Results per page for pagination (min 1, max 100) (number, optional)

fields

Subset of fields to return for each code search result. If omitted, all fields are returned. Use this to reduce response size when you only need specific fields; omitting 'repository' and 'text_matches' in particular drops the largest per-result data. (string[], optional)

iterations

Custom iterations for 'create_iteration_field' method. Only set this when you need iterations with varying durations, breaks between them, or specific titles. Otherwise omit it: GitHub auto-creates three iterations of 'iteration_duration' days starting on 'start_date', which is the right choice for most cases. (object[], optional)

updated_field

The field/value to apply, using {"id": 123, "value": ...} or {"name": "Status", "value": ...}; null clears the field. Required for 'update_project_item' and 'update_project_items', where one top-level field/value applies to every item in a batch. For 'update_project_item' SINGLE_SELECT fields, the name form accepts option names; the ID form expects an option ID. (object, optional)

commit_message

Extra detail for merge commit (string, optional)

view_id

Project view node ID for update or delete; must belong to owner/project_number. (string, optional)

layout

View layout; required when creating a view. (string, optional)

visible_field_names

Ordered project field names to show on create or replace on update; omit on update to preserve, or pass [] to reset. Mutually exclusive with visible_fields. Roadmap accepts only []. (string[], optional)

visible_fields

Ordered project field database IDs to show on create or replace on update; omit on update to preserve, or pass [] to reset. Mutually exclusive with visible_field_names. Roadmap accepts only []. (string[], optional)

OAuth Challenge Scopes

`repo`

allow_symlink_write

Set true to update a symbolic link itself; content must be its new target path. (boolean, optional)

items

The items to update with the top-level 'updated_field'. Required for 'update_project_items'; prefer it over calling 'update_project_item' in a loop. Each entry must match exactly one reference variant: 'node_id', numeric 'item_id', or 'item_owner' + 'item_repo' + 'issue_number'. Limit: 50 items per call. (object[], optional)

delete_repository

Delete repository

parent_issue_number

Issue number of the parent issue. Only used when method is 'create' and cannot be combined with issue_fields. The new issue is created and attached to this parent in the same operation. (number, optional)

parent_owner

Repository owner of the parent issue. Must be provided with parent_repo. Omit both to use owner and repo. Only used when method is 'create' and parent_issue_number is provided. (string, optional)

parent_repo

Repository name of the parent issue. Must be provided with parent_owner. Omit both to use owner and repo. Only used when method is 'create' and parent_issue_number is provided. (string, optional)

tool_name

The name of the tool used for code scanning. (string, optional)

get_me

Get my user profile

base_ref

Git reference (e.g., branch) that the agent will start its work from. If not specified, defaults to the repository's default branch. Ignored when is_suggestion is true (string, optional)

create_repository_ruleset

Create repository ruleset

bypass_actors

The actors that can bypass the rules in this ruleset (object[], optional)

conditions

Conditions for when this ruleset applies, e.g. {"ref_name": {"include": ["refs/heads/main"], "exclude": []}} (object, optional)

enforcement

The enforcement level of the ruleset. 'evaluate' allows admins to test rules before enforcing them (string, required)

enterprise

Enterprise slug. Required when level is 'enterprise'. (string, optional)

level

The level at which the ruleset is configured:

evaluate_status

Filter rule suites by ruleset evaluation mode. Used by the 'list_rule_suites' method. (string, optional)

rules

An array of rules within the ruleset. Each rule is an object with a 'type' (e.g. 'creation', 'deletion', 'non_fast_forward', 'required_signatures', 'pull_request', 'required_status_checks') and, for rules that need configuration, a 'parameters' object (object[], required)

custom_properties_write

Set custom properties

time_period

The time period to filter rule suites by. Used by the 'list_rule_suites' method. (string, optional)

target

The target of the ruleset. Defaults to 'branch'. 'repository' is only valid for 'organization' and 'enterprise' level rulesets. (string, optional)

actor_name

The handle for the GitHub user account to filter rule suites on. Used by the 'list_rule_suites' method. (string, optional)

custom_properties_read

Read custom properties

properties

The custom properties to create or update. At the repository level each item assigns a value ('property_name' and 'value'); at the organization and enterprise levels each item defines the schema ('property_name' and 'value_type', plus optional definition fields). (object[], required)

rule_suite_id

Rule suite ID. Required for the 'get_rule_suite' method. (number, optional)

repository_ruleset_read

Read repository rulesets

includes_parents

Include rulesets configured at higher levels that also apply. Defaults to true. Used by the 'get' and 'list' methods at the repository level. (boolean, optional)

repository_name

Repository name to filter rule suites by. Used by the 'list_rule_suites' method at the organization level. (string, optional)

ruleset_id

Ruleset ID. Required for the 'get' method. (number, optional)

rule_suite_result

The rule suite result to filter by. Used by the 'list_rule_suites' method. (string, optional)