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

@delorenj/memory-bank-mcp

v2.1.0

Published

Implements a file based memory bank and provides a set of tools for interacting with it.

Readme

Memory Bank MCP

Memory Bank is an MCP server that helps teams create, manage, and access structured project documentation. It generates and maintains a set of interconnected Markdown documents that capture different aspects of project knowledge, from high-level goals to technical details and day-to-day progress.

Features

  • AI-Generated Documentation: Leverages Gemini API to automatically generate comprehensive project documentation
  • Structured Knowledge System: Maintains six core document types in a hierarchical structure
  • MCP Integration: Implements the Model Context Protocol for seamless integration with AI assistants
  • Customizable Location: Specify where you want your Memory Bank directory created
  • Document Templates: Pre-defined templates for project brief, product context, system patterns, etc.
  • AI-Assisted Updates: Update documents manually or regenerate them with AI assistance
  • Advanced Querying: Search across all documents with context-aware relevance ranking

Installation

# Clone the repository
git clone https://github.com/delorenj/memory-bank-mcp.git
cd memory-bank-mcp

# Install dependencies
pnpm install

# Create .env file with your Gemini API key (optional)
echo "GEMINI_API_KEY=your_api_key_here" > .env

Usage

Development Mode

# Start in development mode
pnpm run dev

Production Mode

# Build the project
pnpm run build

# Start in production mode
pnpm run start

MCP Configuration

To integrate Memory Bank with the Model Context Protocol (MCP), add the following configuration to your mcp.json file:

{
  "memoryBank": {
    "command": "npx",
    "args": ["@delorenj/memory-bank-mcp"],
    "env": {
      "GEMINI_API_KEY": "your_gemini_api_key_here"
    }
  }
}

MCP Tools

Memory Bank MCP provides the following tools via the Model Context Protocol:

initialize_memory_bank

Creates a new Memory Bank structure with all document templates.

Parameters:

  • goal (string): Project goal description (min 10 characters)
  • geminiApiKey (string, optional): Gemini API key for document generation
  • location (string, optional): Absolute path where memory-bank folder will be created

Example:

await callTool({
  name: "initialize_memory_bank",
  arguments: {
    goal: "Building a self-documenting AI-powered software development assistant",
    location: "/Users/username/Documents/projects/ai-assistant"
  }
});

Configuration

Memory Bank can be configured using a .memorybankconfig file in JSON format:

{
  "bankName": "memory-bank",
  "bankPath": "./docs"
}
  • bankName: The name of the memory bank folder (default: "memory-bank")
  • bankPath: The path where the memory bank folder will be created (default: "./docs")

The configuration file is optional. If not present, default values will be used. Command-line parameters (like location) take precedence over config file values.

update_document

Updates a specific document in the Memory Bank.

Parameters:

  • documentType (enum): One of: projectbrief, productContext, systemPatterns, techContext, activeContext, progress
  • content (string, optional): New content for the document
  • regenerate (boolean, default: false): Whether to regenerate the document using AI

Example:

await callTool({
  name: "update_document",
  arguments: {
    documentType: "projectbrief",
    content: "# Project Brief\n\n## Purpose\nTo develop an advanced and user-friendly AI..."
  }
});

query_memory_bank

Searches across all documents with context-aware relevance ranking.

Parameters:

  • query (string): Search query (min 5 characters)

Example:

await callTool({
  name: "query_memory_bank",
  arguments: {
    query: "system architecture components"
  }
});

export_memory_bank

Exports all Memory Bank documents.

Parameters:

  • format (enum, default: "folder"): Export format, either "json" or "folder"
  • outputPath (string, optional): Custom output path for the export

Example:

await callTool({
  name: "export_memory_bank",
  arguments: {
    format: "json",
    outputPath: "/Users/username/Documents/exports"
  }
});

Document Types

Memory Bank organizes project knowledge into six core document types:

  1. Project Brief (projectbrief.md): Core document defining project objectives, scope, and vision
  2. Product Context (productContext.md): Documents product functionality from a user perspective
  3. System Patterns (systemPatterns.md): Establishes system architecture and component relationships
  4. Tech Context (techContext.md): Specifies technology stack and implementation details
  5. Active Context (activeContext.md): Tracks current tasks, open issues, and development focus
  6. Progress (progress.md): Documents completed work, milestones, and project history

License

MIT