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

claudecode-rlm

v1.3.0

Published

MCP server for Claude Code - Knowledge graph-based context storage with 74x faster reads

Readme

claudecode-rlm

Unlimited context for Claude Code - Knowledge graph-based context storage with automatic memory.

Author: Michael Thornton ([email protected]) Repository: https://github.com/tekcin/claudecode-rlm

Features

  • TRUE Unlimited Context - Proxy server auto-stores ALL conversations, auto-injects relevant context
  • MCP Server - Manual memory tools for Claude Code
  • Knowledge Graph - Hierarchical storage (Document → Section → Chunk → Entity)
  • 74x Faster Reads - LRU cache with inverted index
  • Entity Extraction - Automatic extraction of code elements, files, concepts
  • Recency Weighting - Fresh context ranked higher

Installation

npm install -g claudecode-rlm

🚀 Proxy Mode (Recommended) - TRUE Automatic Memory

The proxy server intercepts ALL API calls for complete automatic context:

1. Start the proxy

claudecode-rlm-proxy

2. Configure Claude Code

export ANTHROPIC_BASE_URL=http://localhost:3456

Or add to your shell profile (~/.bashrc, ~/.zshrc):

export ANTHROPIC_BASE_URL=http://localhost:3456

What happens automatically:

  • Every user message → Stored in knowledge graph
  • Every assistant response → Stored in knowledge graph
  • Before each request → Relevant past context injected
  • Streaming supported → Works with Claude Code's streaming

Proxy Environment Variables

| Variable | Description | Default | |----------|-------------|---------| | CLAUDECODE_RLM_PROXY_PORT | Proxy port | 3456 | | CLAUDECODE_RLM_WORKDIR | Storage directory | Current directory | | CLAUDECODE_RLM_SESSION | Session ID | auto | | CLAUDECODE_RLM_MAX_INJECT | Max tokens to inject | 2000 | | ANTHROPIC_REAL_URL | Real Anthropic API URL | https://api.anthropic.com |


MCP Mode - Manual Memory Tools

For manual control via MCP tools:

Add to Claude Code config (~/.claude/claude_desktop_config.json):

{
  "mcpServers": {
    "claudecode-rlm": {
      "command": "claudecode-rlm"
    }
  }
}

Available Tools

| Tool | Description | |------|-------------| | memory_auto | Store AND retrieve context in one call (recommended) | | memory_store | Store content in knowledge graph | | memory_search | Search with recency weighting | | graph_query | Query graph (search/entity/expand/path) | | list_entities | List tracked entities | | graph_stats | Get storage statistics |


Architecture

Knowledge Graph Structure

Document (conversation turn)
├── Section (topic/header group)
│   ├── Chunk (~300 chars, searchable)
│   │   ├── Entity (function name)
│   │   ├── Entity (file path)
│   │   └── Entity (concept)
│   └── Chunk
│       └── [FOLLOWS] → next chunk
└── Section

Storage Location

.claude/claudecode-rlm/graph/{sessionID}/
├── nodes/*.json    - Content nodes
├── edges/*.json    - Relationships
└── indexes/*.json  - Search indexes

Performance

| Operation | Basic | Optimized | Speedup | |-----------|-------|-----------|---------| | Node reads | 21.3µs | 0.3µs | 74x | | Get by type | 1.1ms | 21µs | 54x | | Bulk insert | 6.07s | 1.21s | 5x |

Library Usage

import { GraphStorage, GraphIngester, EnhancedSearch } from 'claudecode-rlm'

GraphStorage.init('/path/to/project')

// Store
GraphIngester.ingestContextBlock({
  id: 'block-1',
  sessionID: 'my-session',
  content: 'Your content...',
  summary: '',
  tokens: 1000,
  createdAt: Date.now()
})

// Search
const results = EnhancedSearch.search('my-session', 'query')

Development

npm install
npm run build
npm start           # MCP server
npm run proxy       # Proxy server

License

MIT

Author

Michael Thornton

Links