GitHub_MCP_Server

SPerekrestova/GitHub_MCP_Server

3.2

If you are the rightful owner of GitHub_MCP_Server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

The GitHub MCP Server is a Model Context Protocol server designed for seamless integration with the GitHub API, enabling efficient access and management of repositories and documentation.

Tools
4
Resources
0
Prompts
0

GitHub MCP Server

Model Context Protocol server for accessing GitHub documentation via API.

Features

  • Fetch repositories from organizations with /doc folder detection
  • Access documentation files from repositories
  • Search across documentation
  • Automatic base64 decoding
  • MCP-compliant tools and resources

Quick Start (Docker)

1. Pull the image

docker pull ghcr.io/sperekrestova/github-mcp-server:latest

2. Configure Claude Desktop

Add to claude_desktop_config.json:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "github-docs": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e", "GITHUB_TOKEN",
        "ghcr.io/sperekrestova/github-mcp-server:latest"
      ],
      "env": {
        "GITHUB_TOKEN": "ghp_your_token_here"
      },
      "autoapprove": [
        "get_org_repos_tool",
        "get_repo_docs_tool",
        "get_file_content_tool",
        "search_documentation_tool"
      ]
    }
  }
}

3. Get GitHub Token

  1. Go to https://github.com/settings/tokens
  2. Generate new token (classic)
  3. Required scopes: repo, read:org, read:user
  4. Add token to configuration above

4. Restart Claude Desktop

Ask Claude:

  • "What documentation exists in the anthropics organization?"
  • "Show me docs from the anthropic-sdk-python repository"
  • "Search for streaming examples in anthropics repos"

MCP Tools

  • get_org_repos(org) - List repositories with /doc folder detection
  • get_repo_docs(org, repo) - Get documentation files from repository
  • get_file_content(org, repo, path) - Fetch file content with base64 decoding
  • search_documentation(org, query) - Search documentation across repositories

MCP Resources

  • documentation://{org}/{repo} - List documentation files
  • content://{org}/{repo}/{path} - Get file content

Building from Source

Local Docker build:

# Enable BuildKit for faster builds
export DOCKER_BUILDKIT=1

# Build (~30 seconds with cache)
docker build -t github-mcp-server:local .

# Or use docker-compose
docker-compose build

Python setup (for development):

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
# Add GITHUB_TOKEN to .env
python main.py

Claude Desktop config (Python):

{
  "mcpServers": {
    "github-docs": {
      "command": "python3",
      "args": ["/absolute/path/to/main.py"],
      "env": {
        "GITHUB_TOKEN": "ghp_your_token_here"
      },
      "autoapprove": ["get_org_repos_tool", "get_repo_docs_tool", "get_file_content_tool", "search_documentation_tool"]
    }
  }
}

Environment Variables

  • GITHUB_TOKEN - GitHub personal access token (required)
  • GITHUB_API_BASE_URL - GitHub API URL (default: https://api.github.com)
  • LOG_LEVEL - Logging level (default: INFO)

Supported File Types

Markdown (.md), Mermaid (.mmd, .mermaid), SVG (.svg), OpenAPI (.yml, .yaml, .json), Postman collections (.json)

License

MIT