github-mcp-lite
by benjimkh
README.md
# github-mcp-lite
A small [Model Context Protocol](https://modelcontextprotocol.io/) server for GitHub — nine tools, PAT auth, stdio transport.
The official [`github/github-mcp-server`](https://github.com/github/github-mcp-server) covers a lot of ground (60+ tools). Handy for org admin and security workflows, but heavy if you mostly read files, scan PRs, and file issues. GitHub's been nudging people toward smaller tool sets for that reason ([changelog](https://github.blog/changelog/2025-12-10-github-mcp-server-tool-specific-configuration/), [notes on token use](https://github.blog/ai-and-ml/github-copilot/improving-token-efficiency-in-github-agentic-workflows/)).
This repo is the opposite end: fixed scope, short tool list, easy to skim before you plug it into an MCP host.
## Install
```bash
git clone https://github.com/benjimkh/github-mcp-lite.git
cd github-mcp-lite
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
```
Run it:
```bash
export GITHUB_TOKEN=ghp_...
github-mcp-lite
```
MCP client config (stdio):
```json
{
"mcpServers": {
"github-mcp-lite": {
"command": "/absolute/path/to/github-mcp-lite/.venv/bin/github-mcp-lite",
"env": {
"GITHUB_TOKEN": "ghp_your_token_here"
}
}
}
}
```
See [`examples/mcp-client.json`](examples/mcp-client.json).
## Tools
| Tool | What it does |
|------|----------------|
| `get_repo` | Metadata, default branch, visibility, star count |
| `search_code` | Code search (`repo:owner/name` queries work well) |
| `get_file_contents` | Read a file or list a directory at a ref |
| `list_pull_requests` | Open / closed / all PRs |
| `get_pull_request` | Single PR with merge state and diff stats |
| `create_issue` | Open a new issue |
| `comment_on_issue` | Comment on an issue or PR thread |
| `list_issues` | Issues only (PRs filtered out) |
| `search_repositories` | Repo search |
No gists, notifications, or org settings — that's intentional.
## Benchmark
Ballpark tool/schema footprint vs the official server:
```bash
python3 benchmark/measure_schema_size.py
```
Background: [`docs/context-budget-guide.md`](docs/context-budget-guide.md).
## This repo vs official github-mcp-server
| github-mcp-lite | official server |
|-----------------|-----------------|
| Few repos, everyday PR/issue work | Org admin, security, Dependabot |
| Short tool list you can read in a minute | Actions, Projects, Discussions, etc. |
| PAT + stdio | Copilot OAuth integration |
## License
MIT — see [LICENSE](LICENSE). PRs welcome; see [CONTRIBUTING.md](CONTRIBUTING.md).
TDQS
B3.1/5.0
Scored across 9 tools
Disambiguation5/5
Each tool targets a distinct resource and action: issues, pull requests, repos, files, and search. No overlap in functionality; e.g., list_issues vs list_pull_requests are clearly separated.
Naming Consistency5/5
All tool names follow a consistent verb_noun pattern in snake_case (e.g., create_issue, get_repo, search_code), making it predictable for an agent.
Tool Count5/5
With 9 tools, the server is well-scoped for a 'lite' GitHub MCP, covering essential operations without being bloated or too sparse.
Completeness3/5
The tool set covers read operations extensively (get, list, search) and create for issues, but lacks update/delete for issues and PR creation/update, which are notable gaps for common workflows.
Maintenance
ActivityInactive
ResponsivenessNo issues