GitHub MCP Server

Developmentstdiohttp-streamingv1.0.5
Repository

GitHub's official MCP Server that connects AI tools directly to GitHub's platform. Enables AI agents to manage repositories, issues, pull requests, branches, files, actions workflows, and code security. Supports both remote (OAuth) and local (Docker/binary) modes with fine-grained toolset configuration.

Connect

Add this configuration to .claude/mcp.json

Transport:
{
  "mcpServers": {
    "github": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GITHUB_PERSONAL_ACCESS_TOKEN",
        "ghcr.io/github/github-mcp-server"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_GITHUB_PERSONAL_ACCESS_TOKEN>"
      }
    }
  }
}

Tools (5)

create_issue

Create a new issue in a GitHub repository with a title, body, labels, and assignees.

{
  "type": "object",
  "required": [
    "owner",
    "repo",
    "title"
  ],
  "properties": {
    "body": {
      "type": "string",
      "description": "Issue body in Markdown"
    },
    "repo": {
      "type": "string",
      "description": "Repository name"
    },
    "owner": {
      "type": "string",
      "description": "Repository owner (user or organization)"
    },
    "title": {
      "type": "string",
      "description": "Issue title"
    },
    "labels": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Labels to apply to the issue"
    },
    "assignees": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "GitHub usernames to assign"
    }
  }
}

create_pull_request

Create a new pull request in a GitHub repository.

{
  "type": "object",
  "required": [
    "owner",
    "repo",
    "title",
    "head",
    "base"
  ],
  "properties": {
    "base": {
      "type": "string",
      "description": "Branch to merge into"
    },
    "body": {
      "type": "string",
      "description": "Pull request description"
    },
    "head": {
      "type": "string",
      "description": "Branch containing changes"
    },
    "repo": {
      "type": "string",
      "description": "Repository name"
    },
    "owner": {
      "type": "string",
      "description": "Repository owner"
    },
    "title": {
      "type": "string",
      "description": "Pull request title"
    }
  }
}

search_repositories

Search for GitHub repositories matching a query string.

{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "page": {
      "type": "integer",
      "description": "Page number for pagination"
    },
    "query": {
      "type": "string",
      "description": "Search query using GitHub search syntax"
    },
    "per_page": {
      "type": "integer",
      "description": "Results per page (max 100)"
    }
  }
}

get_file_contents

Get the contents of a file or directory from a GitHub repository.

{
  "type": "object",
  "required": [
    "owner",
    "repo",
    "path"
  ],
  "properties": {
    "path": {
      "type": "string",
      "description": "Path to the file or directory"
    },
    "repo": {
      "type": "string",
      "description": "Repository name"
    },
    "owner": {
      "type": "string",
      "description": "Repository owner"
    },
    "branch": {
      "type": "string",
      "description": "Branch name (defaults to default branch)"
    }
  }
}

push_files

Push one or more files to a GitHub repository in a single commit.

{
  "type": "object",
  "required": [
    "owner",
    "repo",
    "branch",
    "message",
    "files"
  ],
  "properties": {
    "repo": {
      "type": "string",
      "description": "Repository name"
    },
    "files": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string"
          },
          "content": {
            "type": "string"
          }
        }
      },
      "description": "Files to push with path and content"
    },
    "owner": {
      "type": "string",
      "description": "Repository owner"
    },
    "branch": {
      "type": "string",
      "description": "Branch to push to"
    },
    "message": {
      "type": "string",
      "description": "Commit message"
    }
  }
}

Resources

This server does not expose any resources.

Prompts

This server does not expose any prompts.

Server Information

Author
GitHub (@github)
Repository
https://github.com/github/github-mcp-server
License
MIT
Version
1.0.5
Stars
30,200
Last Updated
May 21, 2026