github-brain
v1.8.0
Published
MCP server for searching GitHub discussions, issues, and pull requests
Maintainers
Readme
GitHub Brain is an experimental MCP server for summarizing GitHub discussions, issues, and pull requests. Answer questions like:
- What are the contributions of user X in the last month?
- Summarize this month's discussions.
https://github.com/user-attachments/assets/80910025-9d58-4367-af00-bf4c51e6ce86
GitHub Brain complements (but does not replace) the official GitHub MCP server. It stores GitHub data in a local database for:
- Fast responses
- More than the standard 100-item API limit
- Token-efficient Markdown output

GitHub Brain is programmed in Markdown.
Installation
npm i -g github-brainOr use npx github-brain to run without installing globally.
Usage
github-brain <command> [<args>]Workflow:
- Use
loginto authenticate with GitHub (or setGITHUB_TOKENmanually) - Use
pullto populate the local database - Use
mcpto start the MCP server
Re-run pull anytime to update the database with new GitHub data.
Each command has its own arguments. Some can be set via environment variables. The app will also load environment variables from a .env file in the GitHub Brain's home directory - ~/.github-brain by default.
You can change the home directory with the -m argument available for all commands.
GITHUB_TOKEN=your_github_token
ORGANIZATION=my-orglogin
Opens your browser to authorize GitHub Brain app and stores resulting GITHUB_TOKEN in the .env file.
Optionally, you can also specify ORGANIZATION to store in the same file.
Example:
github-brain login| Argument | Description |
| :------- | :----------------------------------------- |
| -m | Home directory. Default: ~/.github-brain |
pull
Populate the local database with GitHub data.
Example:
github-brain pull -o my-orgThe first run may take a while. Subsequent runs are faster, fetching only new data.
| Argument | Variable | Description |
| :------- | :---------------------- | :------------------------------------------------------------------------------------------------------------------------------------- |
| | GITHUB_TOKEN | Your GitHub token. Use login command or create a personal token. Required. |
| -o | ORGANIZATION | The GitHub organization to pull data from. Required. |
| -m | | Home directory. Default: ~/.github-brain |
| -i | | Pull only selected entities: repositories, discussions, issues, pull-requests (comma-separated). |
| -f | | Remove all data before pulling. With -i, removes only specified items. |
| -e | EXCLUDED_REPOSITORIES | Repositories to exclude (comma-separated). Useful for large repos not relevant to your analysis. |
Use [fine-grained personal access tokens](https://github.com/settings/personal-access-tokens).
**Private organizations:** Token needs read access to discussions, issues, metadata, and pull requests. [Generate token](https://github.com/settings/personal-access-tokens/new?name=github-brain&description=http%3A%2F%2Fgithub.com%2Fwham%2Fgithub-brain&issues=read&pull_requests=read&discussions=read).
**Public organizations:** Any token works (data is publicly accessible).mcp
Start the MCP server using the local database.
Example:
github-brain mcp -o my-org| Argument | Variable | Description |
| :------- | :------------- | :------------------------------------------ |
| -o | ORGANIZATION | GitHub organization. Required. |
| -m | | Home directory. Default: ~/.github-brain |
Additional Arguments
Version:
github-brain --versionDisplays the current version (commit hash and build date).
MCP Configuration
Claude
Add to the Claude MCP configuration file:
{
"mcpServers": {
"github-brain": {
"type": "stdio",
"command": "github-brain",
"args": ["mcp"]
}
}Merge with existing mcpServers if present.
VS Code
Add to the VS Code MCP configuration file:
{
"servers": {
"github-brain": {
"type": "stdio",
"command": "github-brain",
"args": ["mcp"],
"version": "0.0.1"
}
}
}Merge with existing servers if present.
Development
scripts/run builds and runs github-brain with the checkout directory as home -m (database in db/, config in .env).
