adk-mcp-github 1.1.0

GitHub MCP Server — repositories, files, branches, issues, PRs, diffs, reviews, and releases for ADK-Rust Enterprise agents
adk-mcp-github-1.1.0 is not a library.

GitHub MCP Server

Crates.io License ADK-Rust Enterprise

GitHub integration for ADK-Rust Enterprise agents. Provides 13 MCP tools for repositories, files, branches, issues, PRs, diffs, reviews, and releases — all via the GitHub REST API.

Key Principles

  • Real GitHub API — all tools call the live GitHub REST API with your PAT.
  • Read + governed writes — search, browse, and read are unrestricted; issue creation and PR reviews are write operations.
  • Diff-aware — get full PR diffs for code review agents.
  • Registry-ready — ships with mcp-server.toml for ADK-Rust Enterprise onboarding.

Tools (13)

Tool Purpose Risk Class
search_repositories Search GitHub repositories by query Read-only
get_repository Get repo details (branch, language, stats) Read-only
list_branches List branches with protection status Read-only
get_file_contents Read file contents (decoded from base64) Read-only
search_code Search code across repositories Read-only
list_pull_requests List PRs by state (open/closed/all) Read-only
get_pull_request Get PR with merge status and stats Read-only
get_pull_request_diff Get full diff for a PR Read-only
create_pull_request_review Submit PR review (APPROVE/REQUEST_CHANGES/COMMENT) External write
create_issue Create a new issue External write
update_issue Update issue title, body, state, labels External write
list_releases List releases for a repository Read-only
create_release_note Generate release notes between tags Read-only

Verified Output

Tested against live GitHub API:

> search_repositories("zavora-ai/mcp-a2a")

[{ "full_name": "zavora-ai/mcp-a2a", "stargazers_count": 1, "html_url": "https://github.com/zavora-ai/mcp-a2a" }]

> get_repository(owner: "zavora-ai", repo: "mcp-a2a")

{ "full_name": "zavora-ai/mcp-a2a", "default_branch": "main", "language": "Rust", "stargazers_count": 1 }

> get_file_contents(owner: "zavora-ai", repo: "mcp-a2a", path: "Cargo.toml")

{ "path": "Cargo.toml", "size": 1191, "sha": "6dab006f...", "content": "[package]\nname = \"mcp-a2a\"..." }

> list_branches(owner: "zavora-ai", repo: "mcp-a2a")

[{ "name": "main", "protected": false }]

Installation

Build from source

git clone https://github.com/zavora-ai/mcp-github
cd mcp-github
cargo build --release

Configuration

Set your GitHub token:

export GITHUB_TOKEN=ghp_xxxxxxxxxxxx
# or
export GITHUB_PERSONAL_ACCESS_TOKEN=ghp_xxxxxxxxxxxx

Claude Desktop

{
  "mcpServers": {
    "github": {
      "command": "/path/to/mcp-github",
      "env": { "GITHUB_TOKEN": "ghp_xxxx" }
    }
  }
}

Kiro

{
  "mcpServers": {
    "github": {
      "command": "/path/to/mcp-github",
      "env": { "GITHUB_TOKEN": "ghp_xxxx" }
    }
  }
}

Cursor

{
  "mcpServers": {
    "github": {
      "command": "/path/to/mcp-github",
      "env": { "GITHUB_TOKEN": "ghp_xxxx" }
    }
  }
}

Governance

  • PR reviews require appropriate repo permissions
  • Issue creation respects repository write access
  • CODEOWNERS checks recommended for production write operations
  • All write operations are audit-logged

Contributors

James Karanja Maina

License

Apache-2.0 — see LICENSE for details.


Part of the ADK-Rust Enterprise MCP server ecosystem.