The GitHub MCP server enables AI agents to safely interact with repositories, issues, pull requests, commits, and code search through MCP. Built for conversational and automated engineering workflows.
repo
, read:org
; optionally workflow
and read:packages
if neededhttps://api.githubcopilot.com/mcp/
ghcr.io/github/github-mcp-server
owner
(string, required) — repository owner.repo
(string, required) — repository name.run_id
(number, required) — unique identifier of the workflow run.owner
(string, required)repo
(string, required)run_id
(number, required)artifact_id
(number, required) — unique identifier of the artifact.owner
(string, required)repo
(string, required)owner
(string, required)repo
(string, required)failed_only
(boolean, optional) — when true, returns logs for all failed jobs in run_id
.job_id
(number, optional) — workflow job ID (for one job’s logs).run_id
(number, optional) — workflow run ID (required with failed_only
).return_content
(boolean, optional) — whether to return log content instead of URLs.tail_lines
(number, optional) — number of lines to return from the end of the log.owner
(string, required)repo
(string, required)run_id
(number, required)owner
(string, required)repo
(string, required)run_id
(number, required)owner
(string, required)repo
(string, required)run_id
(number, required)owner
(string, required)repo
(string, required)run_id
(number, required)filter
(string, optional) — filter by completed_at
timestamp.page
(number, optional) — page number (default 1).perPage
(number, optional) — results per page (1–100).owner
(string, required)repo
(string, required)run_id
(number, required)page
(number, optional)perPage
(number, optional)owner
(string, required)repo
(string, required)workflow_id
(string, required) — workflow file name (e.g. ci.yml
) or numeric ID.actor
(string, optional) — filter runs by user.branch
(string, optional) — filter by branch name.event
(string, optional) — filter by event type.status
(string, optional) — filter by check run status.page
(number, optional)perPage
(number, optional)owner
(string, required)repo
(string, required)page
(number, optional)perPage
(number, optional)owner
(string, required)repo
(string, required)run_id
(number, required)owner
(string, required)repo
(string, required)run_id
(number, required)owner
(string, required)
repo
(string, required)
workflow_id
(string, required) — workflow ID or file name (e.g., ci.yml
).
ref
(string, required) — git ref (branch or tag).
inputs
(object, optional) — inputs accepted by the workflow.
owner
(string, required) — repository owner.repo
(string, required) — repository name.alertNumber
(number, required) — unique identifier of the code scanning alert.owner
(string, required) — repository owner.repo
(string, required) — repository name.alertNumber
(number, required) — unique identifier of the code scanning alert.owner
(string, required) — repository owner.repo
(string, required) — repository name.ref
(string, optional) — git ref to filter results.severity
(string, optional) — filter by severity.state
(string, optional) — filter by state (defaults to open).tool_name
(string, optional) — filter by scanner/tool name.org
(string, required) — organization login.team_slug
(string, required) — team slug.user
(string, optional) — GitHub username.owner
(string, required) — repository owner.repo
(string, required) — repository name.alertNumber
(number, required) — unique identifier of the Dependabot alert.owner
(string, required) — repository owner.repo
(string, required) — repository name.severity
(string, optional) — filter by severity.state
(string, optional, default=open
) — filter by alert state.owner
(string, required) — repository owner.repo
(string, required) — repository name.discussionNumber
(number, required) — unique identifier of the discussion.owner
(string, required) — repository owner.repo
(string, required) — repository name.discussionNumber
(number, required) — unique identifier of the discussion.perPage
(number, optional, min 1, max 100) — number of comments per page.after
(string, optional) — cursor for pagination.owner
(string, required) — repository owner or organization.repo
(string, optional) — repository name; if omitted, queries at the organization level.owner
(string, required) — repository owner or organization.repo
(string, optional) — repository name.category
(string, optional) — discussion category ID.orderBy
(string, optional) — field to order by.direction
(string, optional) — ascending/descending order.perPage
(number, optional) — number of results per page.after
(string, optional) — pagination cursor.filename
(string, required) — file name.content
(string, required) — file content.description
(string, optional) — gist description.public
(boolean, optional) — visibility of the gist.username
(string, optional) — GitHub username.since
(string, optional, ISO 8601) — updated after date.page
(number, optional) — page number.perPage
(number, optional) — results per page.gist_id
(string, required) — unique identifier of the gist.filename
(string, required) — file name.content
(string, required) — file content.description
(string, optional) — gist description.owner
(string, required) — repository owner.repo
(string, required) — repository name.issue_number
(number, required) — issue number.body
(string, required) — comment body.owner
(string, required) — repository owner.repo
(string, required) — repository name.issue_number
(number, required) — parent issue number.sub_issue_id
(number, required) — ID of the sub-issue.replace_parent
(boolean, optional) — replace current parent if already assigned.owner
(string, required) — repository owner.repo
(string, required) — repository name.issueNumber
(number, required) — issue number.owner
(string, required) — repository owner.repo
(string, required) — repository name.title
(string, required) — issue title.body
(string, optional) — issue body.assignees
(string[], optional) — list of assignees.labels
(string[], optional) — list of labels.milestone
(number, optional) — milestone number.type
(string, optional) — custom issue type.owner
(string, required) — repository owner.repo
(string, required) — repository name.issue_number
(number, required) — issue number.owner
(string, required) — repository owner.repo
(string, required) — repository name.issue_number
(number, required) — issue number.page
(number, optional) — page number.perPage
(number, optional) — results per page.owner
(string, required) — repository owner.repo
(string, required) — repository name.owner
(string, required) — repository owner.repo
(string, required) — repository name.labels
(string[], optional) — filter by labels.state
(string, optional) — filter by issue state.since
(string, optional) — ISO 8601 timestamp to filter updated issues.orderBy
(string, optional) — field to order by.direction
(string, optional) — sort direction.perPage
(number, optional) — results per page.after
(string, optional) — pagination cursor.owner
(string, required) — repository owner.repo
(string, required) — repository name.issue_number
(number, required) — parent issue number.page
(number, optional) — page number.per_page
(number, optional) — results per page.owner
(string, required) — repository owner.repo
(string, required) — repository name.issue_number
(number, required) — parent issue number.sub_issue_id
(number, required) — ID of the sub-issue to remove.owner
(string, required) — repository owner.repo
(string, required) — repository name.issue_number
(number, required) — parent issue number.sub_issue_id
(number, required) — sub-issue to move.before_id
(number, optional) — move before this sub-issue.after_id
(number, optional) — move after this sub-issue.query
(string, required) — search string.owner
(string, optional) — restrict search to a repo owner.repo
(string, optional) — restrict search to a specific repo.sort
(string, optional) — field to sort by.order
(string, optional) — sort direction (asc/desc).page
(number, optional) — page number.perPage
(number, optional) — results per page.owner
(string, required) — repository owner.repo
(string, required) — repository name.issue_number
(number, required) — issue number.title
(string, optional) — new issue title.body
(string, optional) — new issue body.labels
(string[], optional) — list of labels.assignees
(string[], optional) — list of assignees.milestone
(number, optional) — milestone number.state
(string, optional) — issue state.type
(string, optional) — custom issue type.type
(string, optional)owner
(string, required) — repository owner.repo
(string, required) — repository name.alertNumber
(number, required) — unique identifier of the code scanning alert.owner
(string, required) — repository owner.repo
(string, required) — repository name.ref
(string, optional) — git reference for the results.severity
(string, optional) — filter by severity.state
(string, optional) — filter by state (defaults to open).tool_name
(string, optional) — filter by scanning tool name.org
(string, required) — organization login.team_slug
(string, required) — team slug.user
(string, optional) — GitHub username.owner
(string, required) — repository owner.repo
(string, required) — repository name.alertNumber
(number, required) — unique identifier of the Dependabot alert.owner
(string, required) — repository owner.repo
(string, required) — repository name.severity
(string, optional) — filter by severity.state
(string, optional) — filter by state (defaults to open).owner
(string, required) — repository owner.repo
(string, required) — repository name.discussionNumber
(number, required) — discussion number.owner
(string, required) — repository owner.repo
(string, required) — repository name.discussionNumber
(number, required) — discussion number.perPage
(number, optional) — results per page (min 1, max 100).after
(string, optional) — cursor for pagination.owner
(string, required) — repository owner.repo
(string, optional) — repository name.owner
(string, required) — repository owner.repo
(string, optional) — repository name.category
(string, optional) — filter by discussion category ID.orderBy
(string, optional) — field to order by.direction
(string, optional) — order direction.perPage
(number, optional) — results per page (min 1, max 100).after
(string, optional) — cursor for pagination.threadID
(string, required) — ID of the notification thread.state
(string, optional) — new state of the notification (read or done).notificationID
(string, required) — ID of the notification.owner
(string, optional) — repository owner; when provided with repo, limits results.repo
(string, optional) — repository name; requires owner.filter
(string, optional) — filter type (all, read, unread, participating).since
(string, optional) — only show notifications updated after this time (ISO 8601).before
(string, optional) — only show notifications updated before this time (ISO 8601).page
(number, optional) — page number for pagination (min 1).perPage
(number, optional) — results per page (min 1, max 100).notificationID
(string, required) — ID of the notification thread.action
(string, required) — action to perform (ignore, watch, delete).owner
(string, required) — repository owner.repo
(string, required) — repository name.action
(string, required) — action to perform (ignore, watch, delete).lastReadAt
(string, optional) — timestamp of the last read time (ISO 8601). Defaults to now.owner
(string, optional) — repository owner; if provided with repo, limits scope.repo
(string, optional) — repository name; requires owner.query
(string, required) — search string (e.g., “microsoft”, “location:california”, “created:>=2025-01-01”).order
(string, optional) — sort order (asc or desc).sort
(string, optional) — sort field by category.page
(number, optional) — page number for pagination (min 1).perPage
(number, optional) — results per page (min 1, max 100).owner
(string, required) — repository owner.repo
(string, required) — repository name.pullNumber
(number, required) — pull request number.body
(string, required) — review comment text.path
(string, required) — relative file path in the PR diff.subjectType
(string, required) — target level (file, line, etc.).line
(number, optional) — single line in the diff.side
(string, optional) — side of the diff (LEFT or RIGHT).startLine
(number, optional) — starting line for multi-line comments.startSide
(string, optional) — starting side of the diff (LEFT or RIGHT).owner
(string, required)repo
(string, required)pullNumber
(number, required)body
(string, required) — review body text.event
(string, required) — review action (APPROVE, REQUEST_CHANGES, COMMENT).commitID
(string, optional) — SHA of the commit under review.owner
(string, required)repo
(string, required)pullNumber
(number, required)commitID
(string, optional) — SHA of the commit under review.owner
(string, required)repo
(string, required)title
(string, required) — PR title.base
(string, required) — branch to merge into.head
(string, required) — branch with proposed changes.body
(string, optional) — PR description.draft
(boolean, optional) — create as draft PR.maintainer_can_modify
(boolean, optional) — allow maintainers to edit the PR.owner
(string, required)repo
(string, required)pullNumber
(number, required)owner
(string, required)repo
(string, required)pullNumber
(number, required)owner
(string, required)repo
(string, required)pullNumber
(number, required)owner
(string, required)repo
(string, required)pullNumber
(number, required)owner
(string, required)repo
(string, required)pullNumber
(number, required)page
(number, optional)perPage
(number, optional)owner
(string, required)repo
(string, required)pullNumber
(number, required)owner
(string, required)repo
(string, required)pullNumber
(number, required)owner
(string, required)repo
(string, required)state
(string, optional) — PR state (open, closed, all).base
(string, optional) — filter by base branch.head
(string, optional) — filter by head branch or user.sort
(string, optional) — sort field.direction
(string, optional) — sort direction.page
(number, optional)perPage
(number, optional)owner
(string, required)repo
(string, required)pullNumber
(number, required)commit_title
(string, optional) — custom merge commit title.commit_message
(string, optional) — custom merge commit body.merge_method
(string, optional) — merge type (merge, squash, rebase).owner
(string, required)repo
(string, required)pullNumber
(number, required)query
(string, required) — search query.owner
(string, optional) — filter by repo owner.repo
(string, optional) — filter by repository name.sort
(string, optional) — sort field.order
(string, optional) — sort order.page
(number, optional)perPage
(number, optional)owner
(string, required)repo
(string, required)pullNumber
(number, required)event
(string, required) — action (APPROVE, REQUEST_CHANGES, COMMENT).body
(string, optional) — optional text to include.owner
(string, required)repo
(string, required)pullNumber
(number, required)title
(string, optional)body
(string, optional)state
(string, optional) — open/closed.base
(string, optional) — new base branch.draft
(boolean, optional) — mark as draft or ready for review.maintainer_can_modify
(boolean, optional)reviewers
(string[], optional) — users to request reviews from.owner
(string, required)repo
(string, required)pullNumber
(number, required)expectedHeadSha
(string, optional) — SHA of the current PR head to ensure consistency.owner
(string, required) — repository owner.repo
(string, required) — repository name.branch
(string, required) — name for the new branch.from_branch
(string, optional) — source branch (defaults to repo default).owner
(string, required) — repository owner (user or org).repo
(string, required) — repository name.branch
(string, required) — branch where the file will be created/updated.path
(string, required) — file path in the repo.content
(string, required) — file content (base64-encoded).message
(string, required) — commit message.sha
(string, optional) — required if updating; the blob SHA of the file being replaced.name
(string, required) — repository name.description
(string, optional) — repo description.organization
(string, optional) — org to create in; omit for personal account.private
(boolean, optional) — whether the repo is private.autoInit
(boolean, optional) — initialize with README.owner
(string, required) — repository owner (user or org).repo
(string, required) — repository name.branch
(string, required) — branch from which to delete the file.path
(string, required) — path to the file.message
(string, required) — commit message.owner
(string, required) — repository owner.repo
(string, required) — repository name.organization
(string, optional) — org to fork into.owner
(string, required)repo
(string, required)sha
(string, required) — commit SHA, branch name, or tag name.include_diff
(boolean, optional) — include diffs and stats (default: true).page
(number, optional)perPage
(number, optional)owner
(string, required) — repository owner.repo
(string, required) — repository name.path
(string, optional) — path to file or directory (dirs must end with /).ref
(string, optional) — git ref (branch, tag, or PR head).sha
(string, optional) — specific commit SHA (overrides ref).owner
(string, required)repo
(string, required)owner
(string, required)repo
(string, required)tag
(string, required) — tag name (e.g., v1.0.0).owner
(string, required)repo
(string, required)tag
(string, required) — tag name.owner
(string, required)repo
(string, required)page
(number, optional)perPage
(number, optional)owner
(string, required)repo
(string, required)author
(string, optional) — filter by author username or email.sha
(string, optional) — branch, tag, or commit SHA.page
(number, optional)perPage
(number, optional)owner
(string, required)repo
(string, required)page
(number, optional)perPage
(number, optional)owner
(string, required)repo
(string, required)page
(number, optional)perPage
(number, optional)owner
(string, required)repo
(string, required)branch
(string, required) — target branch.files
(object[], required) — array of (path, content) objects.message
(string, required) — commit message.query
(string, required) — search query (supports filters like language:, repo:, path:).order
(string, optional) — sort order (asc, desc).sort
(string, optional) — sort field (indexed).page
(number, optional)perPage
(number, optional)query
(string, required) — repo search string (e.g., “topic:react”, “stars:>1000 language:python”).minimal_output
(boolean, optional) — return minimal output (default: true).page
(number, optional)perPage
(number, optional)owner
(string, required) — repository owner.repo
(string, required) — repository name.alertNumber
(number, required) — unique identifier of the secret scanning alert.owner
(string, required) — repository owner.repo
(string, required) — repository name.state
(string, optional) — filter by state (e.g., open, resolved).resolution
(string, optional) — filter by resolution (e.g., revoked, false_positive).secret_type
(string, optional) — comma-separated list of secret types to return.ghsaId
(string, required) — advisory ID (format: GHSA-xxxx-xxxx-xxxx).affects
(string, optional) — filter by affected package or version (e.g., “package1,[email protected]”).cveId
(string, optional) — filter by CVE ID.cwes
(string[], optional) — filter by CWE IDs (e.g., [“79”, “284”, “22”]).ecosystem
(string, optional) — filter by package ecosystem (npm, Maven, etc.).ghsaId
(string, optional) — filter by advisory ID.isWithdrawn
(boolean, optional) — only return withdrawn advisories.modified
(string, optional) — filter by publish or update date/range (ISO 8601).published
(string, optional) — filter by publish date/range (ISO 8601).updated
(string, optional) — filter by update date/range (ISO 8601).severity
(string, optional) — filter by severity (low, medium, high, critical).type
(string, optional) — filter by advisory type.org
(string, required) — organization login.state
(string, optional) — filter by advisory state (draft, published, closed).sort
(string, optional) — sort field.direction
(string, optional) — sort direction (asc or desc).owner
(string, required) — repository owner.repo
(string, required) — repository name.state
(string, optional) — filter by advisory state.sort
(string, optional) — sort field.direction
(string, optional) — sort direction.query
(string, required) — search query (e.g., “john smith”, “location:seattle”, “followers:>100”).sort
(string, optional) — sort users by followers, repositories, or join date.order
(string, optional) — sort order (asc or desc).page
(number, optional) — page number (min 1).perPage
* (number, optional)* — results per page (min 1, max 100).