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 🙏

© 2026 – Pkg Stats / Ryan Hefner

gitnotion

v1.1.0

Published

GitHub → Notion Project Intelligence — An MCP server that syncs GitHub data to Notion with AI-powered summaries

Readme

GitNotion

GitNotion is an MCP server that pulls data from a GitHub repo (issues, PRs, commits) and pushes it into structured Notion databases. It also calls Gemini to write weekly summaries, release notes, and contributor reports. The whole thing runs on free-tier APIs.

Built for the Notion MCP Challenge.

What it does

Eight MCP tools, accessible from any MCP client (Claude Desktop, Copilot, etc.):

  • setup_workspace creates four Notion databases (Issues, PRs, Commits, Summaries) under a parent page.
  • sync_issues, sync_pull_requests, sync_commits each pull data from GitHub and upsert it into the matching Notion database. Existing entries get updated instead of duplicated.
  • generate_summary grabs the last week of activity, sends it to Gemini, and writes an AI summary page in Notion.
  • generate_release_notes looks at merged PRs and recent commits, then produces formatted release notes.
  • get_contributor_insights aggregates per-contributor stats and has Gemini write up a report.
  • full_sync chains all of the above into one call.

Setup

You need four things. All free:

  1. GitHub token from github.com/settings/tokens
  2. Notion integration token from notion.so/my-integrations. After creating it, open your target page in Notion, click ••• > "Connections", and add the integration.
  3. Gemini API key from aistudio.google.com/apikey
  4. Notion parent page ID. Open the page in Notion, copy the link. The 32-char hex string at the end of the URL is the page ID.

Clone the repo and install deps:

git clone https://github.com/YOUR_USERNAME/gitnotion.git
cd gitnotion
npm install
npm run build

Copy .env.example to .env and fill in the values:

GITHUB_TOKEN=ghp_xxxxxxxxxxxxxxxxxxxx
GITHUB_REPO=owner/repo
NOTION_TOKEN=ntn_xxxxxxxxxxxxxxxxxxxx
NOTION_PARENT_PAGE_ID=your-page-id-here
GEMINI_API_KEY=AIzaSyxxxxxxxxxxxxxxxxx

Then add GitNotion to your MCP client config. For Claude Desktop, edit claude_desktop_config.json:

{
  "mcpServers": {
    "gitnotion": {
      "command": "node",
      "args": ["/absolute/path/to/gitnotion/dist/index.js"],
      "env": {
        "GITHUB_TOKEN": "ghp_xxxxxxxxxxxxxxxxxxxx",
        "GITHUB_REPO": "owner/repo",
        "NOTION_TOKEN": "ntn_xxxxxxxxxxxxxxxxxxxx",
        "NOTION_PARENT_PAGE_ID": "your-page-id-here",
        "GEMINI_API_KEY": "AIzaSyxxxxxxxxxxxxxxxxx"
      }
    }
  }
}

How it works

The server connects over stdio. Your AI agent calls the MCP tools by name. The typical flow:

  1. Run setup_workspace once. It returns four database IDs.
  2. Pass those IDs to the sync tools to populate data.
  3. Call the AI tools whenever you want fresh analysis.

Or just call full_sync with all four IDs and it handles everything in sequence.

Tech

TypeScript. MCP SDK for the server protocol. Octokit for GitHub. Notion SDK for the database writes. Google Generative AI SDK for Gemini calls. Nothing paid.