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

@qwickapps/qwickbrain-proxy

v1.1.0

Published

Local MCP proxy for QwickBrain with caching and resilience

Readme

QwickBrain MCP Proxy

Local MCP proxy for QwickBrain with caching and resilience features.

Features

  • Local caching: SQLite-based cache for workflows, rules, documents, and memories
  • Auto-reconnect: Automatic reconnection to QwickBrain server with exponential backoff
  • Graceful degradation: Serves stale cached data when QwickBrain is unavailable
  • Write queue: Queues write operations when offline, syncs when reconnected
  • Health monitoring: Continuous health checks and connection state management
  • Dynamic tool forwarding: Transparently forwards all QwickBrain tools to MCP clients

Available Tools

The proxy provides access to all QwickBrain tools:

Code Analysis:

  • analyze_repository - Analyze repository structure and dependencies
  • analyze_file - Extract functions, classes, and structure from files
  • find_functions - Find functions matching a pattern
  • find_classes - Find classes matching a pattern
  • get_imports - Get imports from files
  • explain_function - Get detailed function explanations

Semantic Search:

  • search_codebase - Search code with natural language queries
  • search_documents - Search engineering documents
  • search_memories - Search project memories

Document Management:

  • create_document - Create ADRs, FRDs, designs, spikes, reviews
  • get_document - Retrieve specific documents (cached)
  • list_documents - List documents by type/project
  • update_document - Update existing documents
  • delete_document - Remove documents

Repository Management:

  • add_repository - Index GitHub repositories
  • list_repositories - List indexed repositories
  • remove_repository - Remove from index
  • update_repository - Pull and re-index changes

Workflows & Memories:

  • get_workflow - Get workflow definitions (cached)
  • list_workflows - List available workflows
  • create_workflow - Define new workflows
  • update_workflow - Modify workflows
  • get_memory - Retrieve memories (cached)
  • set_memory - Store project context
  • list_memories - List available memories

Document tools (workflows, documents, memories) are cached locally for offline access. Other tools require active connection to QwickBrain server.

Installation

npm install -g @qwickapps/qwickbrain-proxy

Configuration

Initialize

qwickbrain-proxy init

This creates a default configuration at ~/.qwickbrain/config.json with:

  • QwickBrain URL: http://macmini-devserver:3000/sse
  • Connection mode: sse (Server-Sent Events)
  • Cache directory: ~/.qwickbrain/cache

Connection Modes

The proxy supports three connection modes:

  1. SSE (Server-Sent Events) - Default, for remote QwickBrain servers
  2. MCP (stdio) - For local MCP server processes
  3. HTTP - Direct HTTP REST API calls

Configure mode:

# SSE mode (default)
qwickbrain-proxy config set qwickbrain.mode sse
qwickbrain-proxy config set qwickbrain.url http://macmini-devserver:3000/sse

# MCP stdio mode
qwickbrain-proxy config set qwickbrain.mode mcp
qwickbrain-proxy config set qwickbrain.command npx
qwickbrain-proxy config set qwickbrain.args '["@qwickapps/qwickbrain-server"]'

# HTTP mode
qwickbrain-proxy config set qwickbrain.mode http
qwickbrain-proxy config set qwickbrain.url http://qwickbrain.qwickapps.com

View Configuration

# Show all configuration
qwickbrain-proxy config show

# Get specific value
qwickbrain-proxy config get qwickbrain.url

Usage

Start the Proxy

# Start the proxy server (runs in stdio mode for MCP)
qwickbrain-proxy serve

The proxy runs in stdio mode, communicating via standard input/output with the MCP client (Claude Code).

Check Status

qwickbrain-proxy status

Shows current configuration and cache location.

Claude Code Configuration

Add to your Claude Code MCP configuration:

{
  "mcpServers": {
    "qwickbrain": {
      "command": "qwickbrain-proxy",
      "args": ["serve"]
    }
  }
}

Cache Strategy

| Content Type | Default TTL | Offline | Notes | |--------------|-------------|---------|-------| | workflows | 24h (86400s) | ✓ | Global, rarely changes | | rules | 24h (86400s) | ✓ | Global, rarely changes | | documents | 6h (21600s) | ✓ | Project-scoped FRDs, designs | | memories | 1h (3600s) | ✓ | Project context, updated frequently |

Cache is automatically populated on first access and refreshed when TTL expires.

Development

# Install dependencies
npm install

# Run in development mode (with watch)
npm run dev

# Run tests
npm test

# Format code
npm run format

Architecture

Claude Code (MCP Client)
    ↓ (stdio)
qwickbrain-proxy (MCP Server)
    ├─ Local Cache (SQLite)
    │  ├─ Documents (workflows, rules, FRDs, designs)
    │  ├─ Memories (project context)
    │  └─ Sync Queue (offline writes)
    ├─ Connection Manager
    │  ├─ Health checks
    │  ├─ Auto-reconnect with exponential backoff
    │  └─ Graceful degradation
    └─ QwickBrain Client (multi-mode)
       ├─ SSE (Server-Sent Events) → QwickBrain Server
       ├─ MCP (stdio) → Local QwickBrain Server
       └─ HTTP (REST API) → Cloud QwickBrain Server

Connection Flow:

  1. Claude Code requests document via MCP
  2. Proxy checks local cache (SQLite)
  3. If cached and fresh, returns immediately
  4. If expired or missing, fetches from QwickBrain (if connected)
  5. Updates cache and returns data
  6. If offline, serves stale cache with metadata indicating age

License

This project is licensed under the PolyForm Shield License 1.0.0.

Summary:

  • Free to use for non-competitive purposes
  • Source code available for learning and development
  • Cannot be used to compete with QwickApps
  • Commercial licensing available for competitive use cases

For questions about licensing, contact [email protected]