GitHub MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GITHUB_TOKEN | Yes | GitHub Personal Access Token for authentication. Scopes required depend on the tools being used (e.g., repo, read:org, gist, notifications, user, workflow, read:discussion, project). |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_workflowsB | List GitHub Actions workflows in a repository. |
| list_workflow_runsB | List workflow runs for a repository or specific workflow. |
| trigger_workflowB | Trigger a workflow dispatch event to run a workflow. |
| cancel_workflow_runC | Cancel a workflow run. |
| get_branch_protectionB | Get branch protection rules for a branch. |
| update_branch_protectionC | Update branch protection rules for a branch. |
| delete_branch_protectionC | Delete branch protection rules for a branch. |
| list_branchesB | List branches in a repository. |
| create_branchB | Create a new branch in a repository. |
| delete_branchC | Delete a branch from a repository. |
| list_collaboratorsB | List collaborators of a repository. |
| add_collaboratorB | Add a collaborator to a repository. |
| remove_collaboratorB | Remove a collaborator from a repository. |
| list_commit_statusesB | List commit statuses for a reference (branch, tag, or SHA). |
| create_commit_statusB | Create a commit status for a specific SHA. |
| list_check_runsB | List check runs for a reference (branch, tag, or SHA). |
| get_check_runB | Get a single check run by ID. |
| list_discussionsC | List discussions in a repository. |
| get_discussionB | Get details of a specific discussion. |
| get_discussion_commentsC | Get comments on a discussion. |
| list_discussion_categoriesB | List discussion categories for a repository. |
| create_or_update_fileA | Create or update a file in a repository. To update, you must provide the current file's SHA. |
| delete_fileC | Delete a file from a repository. |
| list_gistsB | List gists for a user or the authenticated user. |
| get_gistB | Get a specific gist with its file contents. |
| create_gistB | Create a new gist. |
| update_gistB | Update an existing gist. Provide files to add/update, or set a filename's content to empty string to delete it. |
| get_repository_treeA | Get a repository tree (directory listing) by SHA or branch name. Set recursive=True to get the full nested file tree. |
| push_filesA | Push multiple files to a branch in a single commit using the Git Data API. This creates blobs, a tree, a commit, and updates the branch ref atomically. |
| list_issuesC | List issues in a repository. |
| get_issueB | Get detailed information about a specific issue. |
| create_issueB | Create a new issue in a repository. |
| update_issueC | Update an existing issue. |
| list_issue_commentsB | List comments on an issue. |
| create_issue_commentB | Add a comment to an issue. |
| list_labelsC | List labels in a repository. |
| create_labelC | Create a label in a repository. |
| delete_labelB | Delete a label from a repository. |
| list_notificationsB | List notifications for the authenticated user. |
| mark_notifications_readB | Mark all notifications as read. |
| mark_thread_readB | Mark a specific notification thread as read. |
| list_user_orgsB | List organizations for the authenticated user. |
| get_organizationC | Get detailed information about an organization. |
| list_org_membersB | List members of an organization. |
| list_repo_projectsB | List projects in a repository (classic projects). |
| list_org_projectsB | List projects in an organization (classic projects). |
| list_projects_v2C | List Projects V2 for an organization or user. |
| get_project_v2C | Get details of a specific Project V2. |
| list_project_v2_itemsB | List items in a Project V2 (issues, PRs, and draft items). |
| list_pull_requestsB | List pull requests in a repository. |
| get_pull_requestC | Get detailed information about a pull request. |
| create_pull_requestC | Create a new pull request. |
| update_pull_requestC | Update a pull request. |
| merge_pull_requestC | Merge a pull request. |
| list_pr_filesB | List files changed in a pull request. |
| list_pr_commitsB | List commits in a pull request. |
| update_pull_request_branchA | Update a pull request branch with the latest changes from the base branch. This is equivalent to pressing the 'Update branch' button on GitHub. |
| list_releasesB | List releases in a repository. |
| get_latest_releaseB | Get the latest published release of a repository. |
| create_releaseC | Create a new release. |
| get_release_by_tagB | Get a release by its tag name. |
| list_repositoriesB | List repositories for a user or organization. |
| get_repositoryB | Get detailed information about a repository. |
| create_repositoryB | Create a new repository for the authenticated user. |
| fork_repositoryC | Fork a repository. |
| list_commitsB | List commits in a repository. |
| get_file_contentsB | Get the contents of a file or directory listing in a repository. Returns JSON with a 'type' field ('file' or 'directory') for consistent parsing. |
| get_commitB | Get details of a specific commit including stats and changed files. |
| list_review_commentsB | List review comments on a pull request. |
| create_review_commentB | Create a review comment on a specific line of a pull request diff. |
| reply_to_review_commentB | Reply to an existing review comment on a pull request. |
| create_pr_reviewB | Create a review on a pull request. |
| list_pr_reviewsB | List reviews on a pull request. |
| search_repositoriesC | Search GitHub repositories. |
| search_codeB | Search code across GitHub repositories. |
| search_issuesB | Search issues and pull requests across GitHub. |
| search_usersB | Search GitHub users. |
| list_starred_reposB | List repositories starred by a user or the authenticated user. |
| star_repositoryB | Star a repository. |
| unstar_repositoryC | Unstar a repository. |
| list_tagsB | List tags in a repository. |
| get_tagA | Get an annotated tag object by its SHA. Only works for annotated tags, not lightweight tags. |
| get_authenticated_userB | Get information about the currently authenticated user. |
| get_userB | Get public information about a GitHub user. |
| list_webhooksB | List webhooks for a repository. |
| create_webhookB | Create a webhook for a repository. |
| delete_webhookB | Delete a webhook from a repository. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/software-engineer-mj/github-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server