Projects / GitHub MCP Server

GitHub MCP Server

activeRust10 · tools

Async Rust MCP server exposing 10 GitHub API tools over stdio — repository listing, file trees, content decoding, code search, commit history, pull requests, and local repo scanning. Parallel API calls via tokio::join!, graceful binary and symlink handling throughout.

STATUSactive
LANGUAGERust
METRIC10 · tools
STACKRust · MCP · GitHub API · Tokio · Async · rmcp
TOOLS
  • list_repositories — paginated repo listing with visibility, language, and stars.
  • get_repository — detailed metadata with parallel language and topic API calls via tokio::join!.
  • get_repository_tree — recursive or shallow tree with directory/file icons and size annotations.
  • get_file_contents — base64 decode with binary, symlink, and directory detection.
  • get_readme — README fetch and in-place decode.
  • search_code — GitHub code search with optional repo scoping and GitHub search syntax support.
  • list_commits — history with SHA, author, date, and message.
  • list_pull_requests / list_issues — open/closed/all filtering; issues tool filters out PRs automatically.
  • list_local_repos — scans local git directories for remote origin, last commit, README presence, and dirty state.
IMPLEMENTATION
  • Single-binary async Rust using rmcp 0.3 (MCP protocol) over stdio transport.
  • Parallel API calls where responses are independent — tokio::join! on repo metadata, language breakdown, and topics in one round-trip.
  • Base64 decode strips API whitespace before decoding and rejects non-UTF-8 binaries with a clean error.
  • Zero configuration — GITHUB_TOKEN from environment, default branch auto-resolved from the API when not supplied.