An MCP server that exposes your GitHub organization data to AI assistants. Query repos, find stale projects, check issues, and view stats across all your orgs — directly from Claude, VS Code, or any MCP-compatible host. Built in Rust. Powered by gitorg.
gitorg-mcp
An MCP (Model Context Protocol) server that exposes GitHub organization data to AI assistants. This wraps the functionality from gitorg as MCP tools over stdio transport.
Tools
| Tool | Description |
|------|-------------|
| list_orgs | List the user's GitHub organizations |
| list_repos | List repos across orgs with optional org filter and sort (stars/activity/name/staleness) |
| find_stale | Find repos with no recent pushes (default: 60 days threshold) |
| list_issues | List open issues across orgs (excludes PRs) |
| get_stats | Aggregate statistics: total repos, stars, forks, issues, top languages |
| get_overview | Full dashboard: stats + recently active repos + stale repos + recent issues |
All tools are annotated with readOnlyHint: true — this server only reads data from GitHub.
Setup
1. Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
2. Build
git clone https://github.com/DavidLiedle/gitorg-mcp.git
cd gitorg-mcp
cargo build --release
The binary will be at target/release/gitorg-mcp.
3. Configure GitHub Token
Option A: Environment variable
export GITHUB_TOKEN=ghp_yourtoken
Option B: Config file (shared with gitorg)
Create ~/.config/gitorg/config.toml:
[auth]
token = "ghp_yourtoken"
[defaults]
orgs = ["myorg", "otherorg"] # optional: limit to specific orgs
The token needs read:org and repo scopes. Create one at github.com/settings/tokens.
MCP Configuration
Claude Code
Add to your Claude Code MCP settings (.claude/settings.json or via claude mcp add):
claude mcp add gitorg-mcp /path/to/gitorg-mcp/target/release/gitorg-mcp
Or with a GitHub token passed as an environment variable:
claude mcp add gitorg-mcp -e GITHUB_TOKEN=ghp_yourtoken -- /path/to/gitorg-mcp/target/release/gitorg-mcp
Claude Desktop
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"gitorg-mcp": {
"command": "/path/to/gitorg-mcp/target/release/gitorg-mcp",
"env": {
"GITHUB_TOKEN": "ghp_yourtoken"
}
}
}
}
Tool Details
list_orgs
No parameters. Returns all organizations the authenticated user belongs to.
list_repos
| Parameter | Type | Description |
|-----------|------|-------------|
| org | string (optional) | Filter to a specific organization |
| sort | string (optional) | Sort order: activity (default), stars, name, staleness |
find_stale
| Parameter | Type | Description |
|-----------|------|-------------|
| days | number (optional) | Days without a push to consider stale (default: 60) |
| org | string (optional) | Filter to a specific organization |
list_issues
| Parameter | Type | Description |
|-----------|------|-------------|
| org | string (optional) | Filter to a specific organization |
get_stats
| Parameter | Type | Description |
|-----------|------|-------------|
| org | string (optional) | Filter to a specific organization |
get_overview
| Parameter | Type | Description |
|-----------|------|-------------|
| org | string (optional) | Filter to a specific organization |
| days | number (optional) | Days threshold for stale repos (default: 60) |
Organization Resolution
When no org parameter is provided, the server resolves organizations in this order:
defaults.orgsfrom~/.config/gitorg/config.toml(if set)- All organizations the authenticated user belongs to (via GitHub API)
License
MIT