npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

github-brain

v1.8.0

Published

MCP server for searching GitHub discussions, issues, and pull requests

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-brain

Or use npx github-brain to run without installing globally.

Usage

github-brain <command> [<args>]

Workflow:

  1. Use login to authenticate with GitHub (or set GITHUB_TOKEN manually)
  2. Use pull to populate the local database
  3. Use mcp to 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-org

login

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-org

The 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 --version

Displays 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).