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

kindle-mcp

v1.0.5

Published

MCP server that processes Kindle highlights and generates personalized book memory summaries in Notion

Readme

kindle-mcp

An MCP (Model Context Protocol) server that turns your Kindle highlights into structured personal book memory summaries saved directly to Notion.

Zero external AI API calls. All reasoning is performed by the host model (Claude Desktop) in its own context window. The server parses files, builds prompts, and writes to Notion — nothing else.


What it does

  1. You share a Kindle highlight export file in Claude Desktop
  2. Claude parses your highlights, generates a personal memory summary, and saves it to your Notion database
  3. You get back a Notion page URL — nothing else shown in chat

All automatic. No copy-pasting. No manual steps.


Requirements


Installation

1. Get a Notion API key

2. Add to Claude Desktop config

Open your Claude Desktop config file:

  • Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Add the following inside "mcpServers":

"kindle-mcp": {
  "command": "npx",
  "args": ["-y", "kindle-mcp"],
  "env": {
    "NOTION_API_KEY": "secret_..."
  }
}

3. Restart Claude Desktop

Fully quit (Cmd+Q on Mac) and reopen. You should see the tools available via the hammer icon in the chat input.


First-time use

On first run, the server needs a Notion page to create the Kindle Book Summaries database under. If you also have the Notion MCP running, this happens automatically — Claude will create the page and database without asking you anything.

If you don't have the Notion MCP, create any page in Notion and connect your integration to it first:

  1. Open a Notion page → click ... top right → Connections → select your integration

After the first run, the database ID is saved locally at ~/.kindle-mcp/config.json and never needs to be set up again.


Usage

In Claude Desktop:

  1. Attach your Kindle export file (.html from the Kindle app, or My Clippings.txt from a Kindle device)
  2. Say: "Use the process_kindle_export tool on this file"
  3. Claude processes everything and returns your Notion page URL

Supported Kindle export formats

| Format | How to get it | |---|---| | HTML | Kindle app (iOS/Android/Mac) → open book → Notes → Export | | Plain text | My Clippings.txt on Kindle device via USB |

Both formats are auto-detected — no configuration needed.


Summary output structure

Each book gets a Notion page with:

| Field | Description | |---|---| | personal_thesis | One sentence capturing the core insight from your highlights | | core_themes | 3–5 recurring themes | | key_ideas | 5–8 distinct ideas drawn from your highlights | | actionable_takeaways | 3–5 concrete actions implied by your highlights | | reflection_questions | 3–5 questions your highlights raise | | memory_capsule | A 3–4 sentence personal narrative distilling everything |

Summaries are generated only from your highlights — the model uses no external knowledge about the book.


Tools

| Tool | Description | |---|---| | process_kindle_export | Primary tool. Parses a Kindle file and orchestrates the full flow | | initialize_notion_database | Creates the Notion database on first run (called automatically) | | push_to_notion | Pushes a generated summary to Notion as a structured page | | parse_kindle_clippings | Parses a Kindle file and returns raw highlights grouped by book | | generate_personal_summary | Builds a prompt package for the host model to generate a summary |


Notion database schema

The Kindle Book Summaries database is created automatically with:

| Property | Type | |---|---| | Name | Title | | Author | Rich Text | | Title | Rich Text |

All summary content (thesis, themes, ideas, etc.) is written as page body blocks.


License

MIT