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

claude-historian

v1.0.1

Published

an MCP server for Claude Code conversation history

Readme

claude-historian

claude-historian

A Model Context Protocol (MCP) server for searching your Claude Code conversation history. Find past solutions, track file changes, and learn from previous work.

TypeScript npm version License: MIT Node.js CodeRabbit Pull Request Reviews

install

Requirements:

That's it. No npm install needed; thare are no external dependencies or local databases; only search algorithms.

From shell:

claude mcp add claude-historian -- npx claude-historian

From inside Claude (restart required):

Add this to our global mcp config: npx claude-historian

Install this mcp: https://github.com/Vvkmnn/claude-historian

From any manually configurable mcp.json: (Cursor, Windsurf, etc.)

{
  "mcpServers": {
    "claude-historian": {
      "command": "npx",
      "args": ["claude-historian"],
      "env": {}
    }
  }
}

features

MCP server that gives Claude access to your conversation history. Fast search with smart prioritization.

Runs locally (with cool shades [⌐■_■]):

[⌐■_■] search_conversations query=<query>
  > "How did we fix that Redis connection pooling nightmare?"
  > "Docker container keeps crashing on Kubernetes deployment"
  > "React infinite re-render loop - useEffect dependency hell"

[⌐□_□] find_file_context filepath=<filepath>
  > "package.json changes that broke everything last month"
  > "When we accidentally committed .env to main branch"
  > "Authentication service refactor - before/after comparison"

[⌐×_×] get_error_solutions error_pattern=<error>
  > "MODULE_NOT_FOUND - the classic npm/yarn version mismatch"
  > "CORS preflight failing - but only on production Fridays?"
  > "Database deadlock during Black Friday traffic spike"

[⌐◆_◆] find_similar_queries query=<query>
  > "Database queries slower than my morning coffee brewing"
  > "How to implement error boundaries without losing sanity"
  > "State management: Redux vs Zustand vs just useState"

[⌐○_○] list_recent_sessions
  > "Tuesday debugging marathon: 9pm-3am flaky test hunt"
  > "Performance optimization sprint - reduced bundle 40%"
  > "The great TypeScript migration of 2024"

[⌐⎚_⎚] find_tool_patterns tool_name=<tool>
  > "Read → Edit → Bash combo for rapid prototyping"
  > "When I use Grep vs Task for different searches"
  > "Git operations during feature branch management"

methodology

How claude-historian works (source):

"docker auth" query
      |
      ├─> Classify: implementation query -> boost tool examples
      |
      ├─> Stream & Filter:
      |   • Summary messages -> priority queue *****
      |   • Tool usage context -> high value ****
      |   • Error solutions -> targeted ***
      |
      ├─> Smart Ranking:
      |   • "Fixed Docker auth with Read tool" (2h ago) *****
      |   • "OAuth implementation approach" (yesterday) ****
      |   • "Container auth debug" (last week) ***
      |
      └─> Return Claude Code optimized results

Pure streaming architecture using:

  • JSON streaming parser: Reads Claude Code conversation files on-demand without full deserialization
  • LRU caching: In-memory cache with intelligent eviction for frequently accessed conversations
  • TF-IDF inspired scoring: Term frequency scoring with document frequency weighting for relevance
  • Query classification: Naive Bayes-style classification (error/implementation/analysis/general) with adaptive limits
  • Edit distance: Fuzzy matching for technical terms and typo tolerance
  • Exponential time decay: Recent messages weighted higher with configurable half-life

File access:

  • Reads from: ~/.claude/conversations/
  • Zero persistent storage or indexing
  • Never leaves your machine

development

git clone https://github.com/vvkmnn/claude-historian && cd claude-historian
npm install && npm run build
npm test

Contributing:

  • Please fork the repository and create feature branches
  • Test with large conversation histories before submitting PRs
  • Follow TypeScript strict mode and MCP protocol standards

Learn from examples:

license

MIT


Claude Fauchet

Claude Fauchet (1744-1793), French Historian