SkillAgentSearch skills...

contextplus

Semantic Intelligence for Large-Scale Engineering. Context+ is an MCP server designed for developers who demand 99% accuracy. By combining RAG, Tree-sitter AST, Spectral Clustering, and Obsidian-style linking, Context+ turns a massive codebase into a searchable, hierarchical feature graph.

Install / Use

claude mcp add forloopcodes -- npx -y github:forloopcodes/contextplus

If the server publishes to npm under a different name, use that package instead — check the repo README.

About this skill
🔌

MCP Server

Model Context Protocol server

Quality Score

90/100

Supported Platforms

Claude Code
Claude Desktop

Our assessment of contextplus

contextplus scores 90/100 on our quality scale, 1228th of 4,613 Development & Engineering skills we index (top 27%).

Its MCP Server is 15 KB long, well organised into 20 sections with 12 code examples: a thorough specification that gives an agent plenty to work with.

With 1,989 GitHub stars, it is one of the more widely adopted skills in the catalogue.

Substance
30/30
Structure
20/20
Description
15/15
Adoption
14/20
Freshness
11/15

Maintenance, license and trust

  • The repository was last updated about 4 months ago. That is recent enough to be usable, but agent tooling moves fast, so check the instructions against your agent's current version.
  • Our last check on 2026-10-21 found the source still online.
  • It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
  • Its trust signals score 98/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

Safety scan

No issues found

Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful.

AI review by kimi-k2.7-code on 2026-09-24. Automated pattern scan on 2026-09-24. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.

contextplus compared with similar skills

All 4 of these similar skills score higher than contextplus; compare them before choosing.

SkillScoreStarsUpdatedFormat
contextplus (this skill)by forloopcodes902.0k4mo agoMCP Server
taste-skillby Leonxlnx100110.6k1d agoCLAUDE.md
Agent-Reachby Panniantong100109.2ktodayCLAUDE.md
headroomby headroomlabs-ai10078.9ktodayCLAUDE.md
ai-job-searchby ai-job-search-dev10069.8ktodayCLAUDE.md

Frequently asked questions

How do I install contextplus?
Run claude mcp add forloopcodes -- npx -y github:forloopcodes/contextplus. The install tabs above show the steps for each supported agent.
Which AI agents does contextplus work with?
It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
Is contextplus safe to use?
Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful. It is MIT-licensed and scores 98/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is contextplus still maintained?
The repository was last updated about 4 months ago. That is recent enough to be usable, but agent tooling moves fast, so check the instructions against your agent's current version.

Context+

Semantic Intelligence for Large-Scale Engineering.

Context+ is an MCP server designed for developers who demand 99% accuracy. By combining RAG, Tree-sitter AST, Spectral Clustering, and Obsidian-style linking, Context+ turns a massive codebase into a searchable, hierarchical feature graph.

https://github.com/user-attachments/assets/a97a451f-c9b4-468d-b036-15b65fc13e79

Tools

Discovery

| Tool | Description | | ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | | get_context_tree | Structural AST tree of a project with file headers and symbol ranges (line numbers for functions/classes/methods). Dynamic pruning shrinks output automatically. | | get_file_skeleton | Function signatures, class methods, and type definitions with line ranges, without reading full bodies. Shows the API surface. | | semantic_code_search | Search by meaning, not exact text. Uses embeddings over file headers/symbols and returns matched symbol definition lines. | | semantic_identifier_search | Identifier-level semantic retrieval for functions/classes/variables with ranked call sites and line numbers. | | semantic_navigate | Browse codebase by meaning using spectral clustering. Groups semantically related files into labeled clusters. |

Analysis

| Tool | Description | | --------------------- | ----------------------------------------------------------------------------------------------------------------------------- | | get_blast_radius | Trace every file and line where a symbol is imported or used. Prevents orphaned references. | | run_static_analysis | Run native linters and compilers to find unused variables, dead code, and type errors. Supports TypeScript, Python, Rust, Go. |

Code Ops

| Tool | Description | | ----------------- | ------------------------------------------------------------------------------------------------------------------------ | | propose_commit | The only way to write code. Validates against strict rules before saving. Creates a shadow restore point before writing. | | get_feature_hub | Obsidian-style feature hub navigator. Hubs are .md files with [[wikilinks]] that map features to code files. |

Version Control

| Tool | Description | | --------------------- | ---------------------------------------------------------------------------------------------------------- | | list_restore_points | List all shadow restore points created by propose_commit. Each captures file state before AI changes. | | undo_change | Restore files to their state before a specific AI change. Uses shadow restore points. Does not affect git. |

Memory & RAG

| Tool | Description | | ------------------------- | -------------------------------------------------------------------------------------------------------- | | upsert_memory_node | Create or update a memory node (concept, file, symbol, note) with auto-generated embeddings. | | create_relation | Create typed edges between nodes (relates_to, depends_on, implements, references, similar_to, contains). | | search_memory_graph | Semantic search with graph traversal — finds direct matches then walks 1st/2nd-degree neighbors. | | prune_stale_links | Remove decayed edges (e^(-λt) below threshold) and orphan nodes with low access counts. | | add_interlinked_context | Bulk-add nodes with auto-similarity linking (cosine ≥ 0.72 creates edges automatically). | | retrieve_with_traversal | Start from a node and walk outward — returns all reachable neighbors scored by decay and depth. |

Complementary server: pmll-memory-mcp (npx pmll-memory-mcp) is a separate MCP server by @drQedwards that adapts Context+'s long-term memory graph and adds short-term KV context memory, Q-promise deduplication, and a solution engine on top. See drQedwards/PPM for details.

Setup

Quick Start (npx / bunx)

No installation needed. Add Context+ to your IDE MCP config.

For Claude Code, Cursor, and Windsurf, use mcpServers:

{
  "mcpServers": {
    "contextplus": {
      "command": "bunx",
      "args": ["contextplus"],
      "env": {
        "OLLAMA_EMBED_MODEL": "nomic-embed-text",
        "OLLAMA_CHAT_MODEL": "gemma2:27b",
        "OLLAMA_API_KEY": "YOUR_OLLAMA_API_KEY"
      }
    }
  }
}

For VS Code (.vscode/mcp.json), use servers and inputs:

{
  "servers": {
    "contextplus": {
      "type": "stdio",
      "command": "bunx",
      "args": ["contextplus"],
      "env": {
        "OLLAMA_EMBED_MODEL": "nomic-embed-text",
        "OLLAMA_CHAT_MODEL": "gemma2:27b",
        "OLLAMA_API_KEY": "YOUR_OLLAMA_API_KEY"
      }
    }
  },
  "inputs": []
}

If you prefer npx, use:

  • "command": "npx"
  • "args": ["-y", "contextplus"]

Or generate the MCP config file directly in your current directory:

npx -y contextplus init claude
bunx contextplus init cursor
npx -y contextplus init opencode

Supported coding agent names: claude, cursor, vscode, windsurf, opencode.

Config file locations:

| IDE | Config File | | ----------- | -------------------- | | Claude Code | .mcp.json | | Cursor | .cursor/mcp.json | | VS Code | .vscode/mcp.json | | Windsurf | .windsurf/mcp.json | | OpenCode | opencode.json |

CLI Subcommands

  • init [target] - Generate MCP configuration (targets: claude, cursor, vscode, windsurf, opencode).
  • skeleton [path] or tree [path] - (New) View the structural tree of a project with file headers and symbol definitions directly in your terminal.
  • [path] - Start the MCP server (stdio) for the specified path (defaults to current directory).

Including paths excluded by the workspace .gitignore

If your workspace .gitignore excludes a sub-directory that you still want indexed (common in monorepos where sub-projects under repos/, packages/, or vendor/ are gitignored at the top level), use --include or CONTEXTPLUS_EXTRA_ROOTS to add the paths back.

CLI form (repeatable):

bunx contextplus /path/to/workspace \
  --include repos/lacuna \
  --include repos/graphrag-core

Environment variable (fallback when no --include flag is set; uses the system path separator — : on Unix, ; on Windows):

CONTEXTPLUS_EXTRA_ROOTS=repos/lacuna:repos/graphrag-core \
  bunx contextplus /path/to/workspace

In .mcp.json the env form is usually more ergonomic:

{
  "mcpServers": {
    "contextplus": {
      "command": "bunx",
      "args": ["contextplus", "/path/to/workspace"],
      "env": {
        "CONTEXTPLUS_EXTRA_ROOTS": "repos/lacuna:repos/graphrag-core"
      }
    }
  }
}

Each path listed is walked independently of the workspace root, with a fresh ignore scope. Each path's own .gitignore is respected. Paths are validated at startup; invalid entries (non-existent, not a directory, outside the workspace) emit a stderr warning and are skipped.

Nested .gitignore files inside the workspace and inside each extra root are loaded and merged with inherited rules, matching git and ripgrep behavior.

From Source

npm install
npm run build

Embedding Providers

Context+ supports two embedding backends controlled by CONTEXTPLUS_EMBED_PROVIDER:

| Provider | Value | Requires | Best For | |----------|-------|----------|----------| | Ollama (default) | ollama | Local Ollama server | Free, offline, private | | OpenAI-compatible | openai | API key | Gemini (free tier), OpenAI, Groq, vLLM |

Ollama (Default)

No extra configuration needed. Just run Ollama with an embedding model:

ollama pull nomic-embed-text
ollama serve

Google Gemini (Free Tier)

Full Claude Code .mcp.json example:

{
  "mcpServers": {
    "contextplus": {
      "command": "npx",
      "args": ["-y", "contextplus"],
      "env": {
        "CONTEXTPLUS_EMBED_PROVIDER": "openai",
        "CONTEXTPLUS_OPENAI_API_KEY": "YOUR_GEMINI_API_KEY",
        "CONTEXTPLUS_OPENAI_BASE_URL": "https://generativelanguage.googleapis.com/v1beta/openai",
        "CONTEXTPLUS_OPENAI_EMBED_MODEL": "text-embedding-004"
      }
    }
  }
}

Get a free API key at Google AI Studio.

OpenAI

{
  "mcpServers": {
    "contextplus": {
      "command": "npx",
      "args": ["-y", "contextplus"],
      "env": {
        "CONTEXTPLUS_EMBED_PROVIDER": "openai",
        "OPENAI_API_KEY": "sk-...",
        "OPENAI_EMBED_MODEL": "text-embedding-3-small"
      }
    }
  }
}

Other OpenAI-compatible APIs (Groq, vLLM, LiteLLM)

Any endpoint implementing the OpenAI Embeddings API works:

{
  "mcpServers": {
    "contextplus": {
      "command": "npx",
      "args": ["-y", "contextplus"],
      "env": {
        "CONTEXTPLUS_EMBED_PROVIDER": "openai",
        "CONTEXTPLUS_OPENAI_API_KEY": "YOUR_KEY",
        "CONTEXTPLUS_OPENAI_BASE_URL": "https://your-proxy.example.com/v1",
        "CONTEXTPLUS_OPENAI_EMBED_MODEL": "your-model-name"
      }
    }
  }
}

Note: The semantic_navigate tool also uses a chat model for cluster labeling. When using the openai provider, set CONTEXTPLUS_OPENAI_CHAT_MODEL (default: gpt-4o-mini).

For VS Code, Cursor, or OpenCode, use the same env block inside your IDE's MCP config format (see Config file locations table above).

Architecture

Three layers built with TypeScript over stdio using the Model Context Protocol SDK:

Core (src/core/) - Multi-language AST parsing (tree-sitter, 43 extensions), gitignore-aware traversal, Ollama vector embeddings with disk cache, wikilink hub graph, in-memory property graph with decay scoring.

Tools (src/tools/) - 17 MCP tools exposing structural, semantic, operational, and memory graph capabilities.

Git (src/git/) - Shadow restore point system for undo without touching git history.

Runtime Cache (.mcp_data/) - created on server startup; stores reusable file, identifier, and call-site embeddings to avoid repeated GPU/CPU embedding work. A realtime tracker refreshes changed files/functions incrementally.

Config

| Variable | Type | Default | Description | | --------------------------------------- | ------------------------- | -------------------------------------- | ------------------------------------------------------------- | | CONTEXTPLUS_EMBED_PROVIDER | string | ollama | Embedding backend: ollama or `ope

Truncated for display — read the full file on GitHub.

Related Skills

View on GitHub
GitHub Stars2.0k
CategoryDevelopment
Updated3mo ago
Forks169

Languages

TypeScript

Trust signals

98/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

1 info