Skip to main content
Glama

⚡ ContextWeave

Universal Project Memory Engine

Stop losing context. Start building faster.

License: MIT npm version Node.js MCP Compatible GitHub Stars

Works with Cursor • Claude Desktop • Kiro • GitHub Copilot • any MCP-compatible AI


The Problem

Every developer knows this moment:

"Why is this function written this way?"
"Why did we choose PostgreSQL over MongoDB?"
"Why is there a 500ms sleep in this critical path?"

You dig through git blame, search Slack, ping colleagues who may have left. The context is gone. You either make a decision blind, or spend hours reconstructing what someone already figured out.

This is the #1 productivity killer in software development. Context loss costs teams hours every week — and it compounds. AI coding assistants make it worse: they have no memory of your project's history, constraints, or the reasoning behind past decisions.


Related MCP server: agentmako

The Solution

ContextWeave is a local-first, zero-config project memory engine that automatically:

  • 🔍 Watches your codebase and extracts a living knowledge graph — every file, function, class, and module

  • 📜 Mines your git history for architectural decisions buried in commit messages

  • 💬 Extracts WHY comments (// WHY:, // DECISION:, // NOTE:) from your source code

  • 🗄️ Stores everything in SQLite locally — your data never leaves your machine

  • 🤖 Serves an MCP server so ANY AI coding assistant can query full project context instantly

  • 🖥️ Provides a CLI for humans to explore, search, and annotate the knowledge graph

  • 🌐 Includes a web dashboard to visualize everything — no build step required

                    Your Codebase
                         │
          ┌──────────────┼──────────────┐
          │              │              │
       git log      source files   package.json
          │              │              │
          └──────────────┼──────────────┘
                         │
                   ContextWeave
                    (watching)
                         │
                  SQLite Database
                  (local, yours)
                         │
           ┌─────────────┼─────────────┐
           │             │             │
         CLI           MCP          Dashboard
      (humans)      (AI tools)     (browser)

Quick Start

# Install globally
npm install -g contextweave

# Initialize in your project
cd my-project
contextweave init

# Scan — builds the knowledge graph (~5s for most projects)
contextweave scan

# Start the MCP server for your AI assistant
contextweave mcp

Tip: cw is a built-in short alias — cw scan, cw why src/auth.ts, etc.

That's it. Your AI assistant now has full project context.


Features

🏛️ Decision Capture — The "Why" Layer

ContextWeave extracts architectural decisions from three sources:

1. Git history mining

commit 7f3a9b2
Author: Sarah Chen

Switched auth from JWT to session-based

Performance benchmarks showed JWT verification was adding 12ms latency
per request. With 500+ concurrent users, sessions with Redis reduces
this to <1ms for cached sessions.

→ Captured as a decision: "Switched from JWT to session-based auth"

2. WHY/DECISION comments

// WHY: We use exponential backoff here instead of fixed delays because
//      thundering herd problems killed us in production with 500+ clients.
async function retryWithBackoff(fn: () => Promise<void>) {

// DECISION: Chose PostgreSQL over MongoDB for ACID transaction support
//           needed by the payment flow. Benchmarked both — Mongo was 15%
//           faster for reads but we can't sacrifice consistency.
const db = createConnection(DATABASE_URL);

3. Manual recording

contextweave decide
# Interactive prompts to record any decision

🤖 MCP Server — AI Superpowers

Once connected to your AI assistant, it gains 8 powerful tools:

Tool

What it does

search_context

Semantic search over all knowledge

get_file_context

Full history + symbols for any file

get_decisions

All architectural decisions with rationale

add_decision

Record a decision mid-conversation

get_project_summary

Languages, frameworks, stats

find_related

Code related to any term

get_recent_changes

Recent commits with context

annotate

Add notes to any file or function

Example: Ask your AI "Before refactoring auth, check what decisions were made" — it'll call get_file_context and surface the JWT→sessions migration rationale automatically.

⚡ CLI — Human-Friendly

Both contextweave and cw work as the command name.

cw search "rate limiting"            # Find anything in the knowledge base
cw why src/api/middleware.ts         # Understand a file — symbols, decisions, notes
cw decisions --source git            # All decisions extracted from git history
cw annotate src/auth.ts "Uses PKCE"  # Add a note to a file
cw decide                            # Interactively record an architectural decision
cw export --format markdown          # Export full knowledge as Markdown ADR doc
cw status                            # Project health at a glance
cw watch                             # Live updates as you code
cw dashboard                         # Open visual web dashboard
cw mcp                               # Start MCP server for AI tools

🌐 Dashboard

A beautiful, zero-dependency web UI (single HTML file, no build step):

  • Real-time stats: nodes indexed, decisions captured, last scan

  • Searchable decision log with source attribution (GIT/COMMENT/MANUAL)

  • File explorer with full context

  • Recent git activity feed

  • One-click decision recording


Language Support

Language

Files

Functions

Classes

Comments

TypeScript

JavaScript

Python

Go

✅ (structs)

Rust

✅ (structs)

Java

Ruby

Dependency manifests: package.json, requirements.txt, go.mod, Cargo.toml


MCP Setup

Cursor

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "contextweave": {
      "command": "contextweave",
      "args": ["mcp"]
    }
  }
}

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "contextweave": {
      "command": "contextweave",
      "args": ["mcp"]
    }
  }
}

Kiro

Add to .kiro/settings/mcp.json:

{
  "mcpServers": {
    "contextweave": {
      "command": "contextweave",
      "args": ["mcp"]
    }
  }
}

VS Code + GitHub Copilot

Add to .vscode/settings.json:

{
  "github.copilot.chat.mcp.enabled": true,
  "mcp": {
    "servers": {
      "contextweave": {
        "type": "stdio",
        "command": "contextweave",
        "args": ["mcp"]
      }
    }
  }
}

See examples/mcp-config.json for more.


Comment Tags Reference

Add these to any source file — ContextWeave extracts them automatically:

// WHY: <rationale>       → Captured as a Decision
// DECISION: <rationale>  → Captured as a Decision
// TODO: <task>           → Captured as an Annotation
// FIXME: <issue>         → Captured as an Annotation  
// NOTE: <info>           → Captured as an Annotation
// HACK: <explanation>    → Captured as an Annotation
// WARN: <warning>        → Captured as an Annotation

Works with // (JS/TS/Go/Rust), # (Python/Ruby). The comment delimiter must be at the start of the (trimmed) line — inline code strings are ignored.


All CLI Commands

Command

Description

cw init

Initialize in current directory

cw scan

Full project scan

cw watch

Continuous watch mode

cw search <query>

Search the knowledge base

cw why <file>

Show context for a specific file

cw decisions

List all captured decisions

cw decide

Interactively record a decision

cw annotate <file> <note>

Add a note to a file

cw export

Export knowledge as Markdown or JSON

cw dashboard

Open web dashboard

cw mcp

Start MCP server for AI tools

cw status

Project health stats


Configuration

.contextweave/config.json (created by contextweave init):

{
  "projectRoot": "/path/to/project",
  "dbPath": ".contextweave/context.db",
  "watchDebounce": 500,
  "maxFileSizeKb": 500,
  "gitDepth": 300,
  "dashboardPort": 4242,
  "excludePatterns": ["**/generated/**"]
}

Architecture

See docs/ARCHITECTURE.md for the full deep-dive.

Stack:

  • Storage: SQLite via better-sqlite3 + FTS5 for full-text search

  • Watching: chokidar with 500ms debounce

  • Parsing: Pure regex (no native deps, runs anywhere)

  • MCP: @modelcontextprotocol/sdk over stdio

  • CLI: commander + chalk + ora

  • Dashboard: Single HTML file, vanilla JS, no build step


Roadmap

  • v0.1 — Core engine: scan, watch, MCP server, CLI, dashboard

  • v0.2 — VS Code extension with inline decision annotations

  • v0.3 — Semantic search via local embeddings (ollama/nomic)

  • v0.4 — GitHub Actions integration — surface context in PR comments

  • v0.5 — Conflict detection — warn when changes contradict past decisions

  • v1.0 — Team sync via git notes (zero extra infra)

  • Ruby, PHP, Swift, Kotlin language support

  • Tree-sitter integration for precise multi-language parsing

  • Support for .contextweave/decisions.md manual ADR format

  • Automatic documentation generation from knowledge graph


Contributing

We'd love your help! See docs/CONTRIBUTING.md.

Good first issues:

  • Adding language support (Ruby, PHP, Swift, Kotlin)

  • Adding comment patterns for more tag types

  • Improving git decision extraction heuristics

  • Writing tests


Why Local-First?

  • Privacy: Your code and decisions never leave your machine

  • Speed: SQLite is faster than any cloud API for local queries

  • Reliability: Works offline, no rate limits, no authentication

  • Portability: The .contextweave/ directory goes with your project


License

MIT — see LICENSE


Built with ❤️ for developers who write // WHY: comments

DocumentationExamplesContributingGitHub

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/deyavinaba597-pixel/contextweave'

If you have feedback or need assistance with the MCP directory API, please join our Discord server