freshcrate
Skin:/
Home > MCP Servers > jcodemunch-mcp

jcodemunch-mcp

The leading, most token-efficient MCP server for GitHub source code exploration via tree-sitter AST parsing

Why this rank:Strong adoptionRecent releaseHealthy release cadence

Description

The leading, most token-efficient MCP server for GitHub source code exploration via tree-sitter AST parsing

README

Quickstart - https://github.com/jgravelle/jcodemunch-mcp/blob/main/QUICKSTART.md

FREE FOR PERSONAL USE

Use it to make money, and Uncle J. gets a taste. Fair enough? details


Documentation

Doc What it covers
QUICKSTART.md Zero-to-indexed in three steps
USER_GUIDE.md Full tool reference, workflows, and best practices
AGENT_HOOKS.md Agent hooks and prompt policies
ARCHITECTURE.md Internal design, storage model, and extension points
LANGUAGE_SUPPORT.md Supported languages and parsing details
CONTEXT_PROVIDERS.md dbt, Git, and custom context provider docs
TROUBLESHOOTING.md Common issues and fixes

Cut code-reading token usage by 95% or more

Most AI agents explore repositories the expensive way:

open entire files โ†’ skim thousands of irrelevant lines โ†’ repeat.

That is not โ€œa little inefficient.โ€ That is a token incinerator.

jCodeMunch indexes a codebase once and lets agents retrieve only the exact code they need: functions, classes, methods, constants, outlines, and tightly scoped context bundles, with byte-level precision.

In retrieval-heavy workflows, that routinely cuts code-reading token usage by 95%+ because the agent stops brute-reading giant files just to find one useful implementation.

Task Traditional approach With jCodeMunch
Find a function Open and scan large files Search symbol โ†’ fetch exact implementation
Understand a module Read broad file regions Pull only relevant symbols and imports
Explore repo structure Traverse file after file Query outlines, trees, and targeted bundles

Index once. Query cheaply. Keep moving. Precision context beats brute-force context.


jCodeMunch MCP

Structured code retrieval for serious AI agents

License MCP Local-first Polyglot jMRI PyPI version PyPI - Python Version


Mentioned by

  • Artur Skowroล„ski (VirtusLab) โ€” "roughly 80% fewer tokens, or 5ร— more efficient โ€” index once, query cheaply forever" ยท GitHub All-Stars #15
  • Julian Horsey (Geeky Gadgets) โ€” "3,850 tokens reduced to just 700 โ€” a 5.5ร— improvement" ยท JCodeMunch AI Token Saver
  • Sion Williams โ€” "preserving tokens for tasks that actually require reasoning rather than retrieval" ยท March 2026 AI Workflow Update
  • Traci Lim (AWS ยท ASEAN AI Lead) โ€” "structural queries that native tools can't answer: find_importers, get_blast_radius, get_class_hierarchy, find_dead_code" ยท 5 Repos That Save Token Usage in Claude Code
  • Eric Grill โ€” "context is the scarce resource. Cut it by 90% and the whole stack gets cheaper and more reliable" ยท jCodemunch: Context Engine for AI Agents

Full recognition page โ†’


Commercial licenses

jCodeMunch-MCP is free for non-commercial use.

Commercial use requires a paid license.

jCodeMunch-only licenses

Want both code and docs retrieval?

Stop paying your model to read the whole damn file.

jCodeMunch turns repo exploration into structured retrieval.

Instead of forcing an agent to open giant files, wade through imports, boilerplate, comments, helpers, and unrelated code, jCodeMunch lets it navigate by what the code is and retrieve only what matters.

That means:

  • 95%+ lower code-reading token usage in many retrieval-heavy workflows
  • less irrelevant context polluting the prompt
  • faster repo exploration
  • more accurate code lookup
  • less repeated file-scanning nonsense

It indexes your codebase once using tree-sitter, stores structured symbol metadata plus byte offsets into the original source, and retrieves exact implementations on demand instead of re-reading entire files over and over.

Recent releases have made that retrieval workflow sharper and more useful in real engineering work, with BM25-based symbol search, fuzzy matching, semantic/hybrid search (opt-in, zero mandatory dependencies), query-driven token-budgeted context assembly (get_ranked_context), dead code detection (find_dead_code), untested symbol detection (get_untested_symbols), git-diff-to-symbol mapping (get_changed_symbols), architectural centrality ranking (get_symbol_importance, PageRank), blast-radius depth scoring with source snippets, context bundles with token budgets, AST-derived call graphs and call hierarchy traversal, decorator-aware search and filtering, hotspot detection (complexity x churn), dependency cycles and coupling metrics, session-aware routing (plan_turn, turn budgets, negative evidence), agent config auditing, complexity-based model routing (Agent Selector), enforcement hooks (PreToolUse/PostToolUse/PreCompact), dependency graphs, class hierarchy traversal, multi-symbol bundles, live watch-based reindexing, automatic Claude Code worktree discovery (watch-claude), auto-watch on demand (when watch: true in config, the server automatically indexes and watches any repo a tool is called against โ€” ensuring fresh results from the first call), and trusted-folder access controls.


Real-world results

Reproducible token efficiency benchmark

Measured with tiktoken cl100k_base across three public repos. Workflow: search_symbols (top 5) + get_symbol_source ร— 3 per query. Baseline: all source files concatenated (minimum cost for an agent that reads everything). Full methodology and harness โ†’

Repository Files Symbols Baseline tokens jCodeMunch tokens Reduction
expressjs/express 34 117 73,838 ~1,300 avg 98.4%
fastapi/fastapi 156 1,359 214,312 ~15,600 avg 92.7%
gin-gonic/gin 40 805 84,892 ~1,730 avg 98.0%
Grand total (15 task-runs) 1,865,210 92,515 95.0%

Per-query results range from 79.7% (dense FastAPI router query) to 99.8% (sparse context-bind query on Express). The 95% figure is the aggregate. Run python benchmarks/harness/run_benchmark.py to reproduce.

A/B test on production codebase

Independent 50-iteration A/B test on a real Vue 3 + Firebase production codebase โ€” JCodeMunch vs native tools (Grep/Glob/Read), Claude Sonnet 4.6, fresh session per iteration:

Metric Native JCodeMunch
Success rate 72% 80%
Timeout rate 40% 32%
Mean cost/iteration $0.783 $0.738
Mean cache creation 104,135 93,178 (โˆ’10.5%)

Tool-layer savings isolated from fixed overhead: 15โ€“25%. One finding category appeared exclusively in the JCodeMunch variant: orphaned file detection via find_importers โ€” a structural query native tools cannot answer without scripting.

Full report: benchmarks/ab-test-naming-audit-2026-03-18.md


Why agents need this

Most agents still inspect codebases like tourists trapped in an airport gift shop:

  • open entire files to find one function
  • re-read the same code repeatedly
  • consume imports, boilerplate, and unrelated helpers
  • burn context window on material they never needed in the first place

jCodeMunch fixes that by giving them a structured way to:

  • search symbols by name, kind, or language โ€” with fuzzy matching and optional semantic/hybrid search
  • inspect file and repo outlines before pulling source
  • retrieve exact symbol implementations only
  • grab a token-budgeted context bundle or ranked context pack for a task
  • fall back to text search when structure alone is not enough
  • detect dead code, trace impact, rank by centrality, and map git diffs to symbols
  • plan the next turn with plan_turn โ€” confidence-guided routing before the first read
  • track session state and avoid re-reading files the agent already explored

Agents do not need bigger and bigger context windows.

They need better aim.


What you get

Symbol-level retrieval

Find and fetch functions, classes, methods, constants, and more without opening entire files.

Faster repo understanding

Inspect repository structure and file outlines before asking for source.

Lower token spend

Send the model the code it needs, not 1,500 lines of collateral damage.

Structural queries native tools can't answer

find_importers tells you what imports a file. get_blast_radius tells you what breaks if you change a symbol, with depth-weighted risk scores and optional source snippets. get_class_hierarchy traverses inheritance chains. get_call_hierarchy traces callers and callees N levels deep using AST-derived call graphs, with optional LSP-enriched dispatch resolution for interface/trait method calls. find_dead_code finds symbols and files unreachable from any entry point. get_untested_symbols finds functions with no evidence of test-file reachability โ€” the intersection of import-graph analysis and test-file detection. get_changed_symbols maps a git diff to the exact symbols that were added, modified, or removed. get_symbol_importance ranks your codebase by architectural centrality using PageRank on the import graph. get_hotspots surfaces the riskiest code by combining complexity with git churn. get_dependency_cycles detects circular imports. get_coupling_metrics measures module coupling and instability. These are not "faster grep" โ€” they are questions grep cannot answer at all.

Agent config hygiene

audit_agent_config scans your CLAUDE.md, .cursorrules, copilot-instructions.md, and other agent config files for token waste: per-file token cost, stale symbol references (cross-referenced against the index โ€” catches renamed or deleted functions), dead file paths, redundancy between global and project configs, bloat, and scope leaks. No other tool can tell you "line 15 references a function that was renamed three weeks ago."

Better engineering workflows

Useful for onboarding, debugging, refactoring, impact analysis, and exploring unfamiliar repos without brute-force file reading.

Local-first speed

Indexes are stored locally for fast repeated access.


How it works

jCodeMunch indexes local folders or GitHub repos, parses source with tree-sitter, extracts symbols, and stores structured metadata alongside raw file content in a local index. Each symbol includes enough information to be found cheaply and retrieved precisely later.

That includes metadata like:

  • signature
  • kind
  • qualified name
  • one-line summary
  • byte offsets into the original file

So when the agent wants a symbol, jCodeMunch can fetch the exact source directly instead of loading and rescanning the full file.


Start fast

Ubuntu 24.04+ / Debian 12+: System Python is externally managed (PEP 668). Use pipx install jcodemunch-mcp or uv tool install jcodemunch-mcp instead of bare pip install.

Option A: One command (recommended)

pip install jcodemunch-mcp
jcodemunch-mcp init

init auto-detects your MCP clients (Claude Code, Claude Desktop, Cursor, Windsurf, Continue), writes their config entries, installs the CLAUDE.md prompt policy so your agent actually uses jCodeMunch, optionally installs enforcement hooks (PreToolUse read guard + PostToolUse auto-reindex + PreCompact session snapshot), optionally indexes your project, and audits your agent config files for token waste. Run jcodemunch-mcp init --help for all flags.

For non-interactive CI or scripting:

jcodemunch-mcp init --yes --claude-md global --hooks --index --audit

Option B: Manual setup

1. Install it

pip install jcodemunch-mcp

Want semantic search? Install the local embedding extra for zero-config semantic search โ€” no API keys, no internet after first download:

pip install "jcodemunch-mcp[local-embed]"  # bundled ONNX encoder (recommended)
jcodemunch-mcp download-model              # fetch model (~23 MB, one-time)

Want AI-generated summaries? Install the extra for your provider:

pip install "jcodemunch-mcp[anthropic]"   # Claude
pip install "jcodemunch-mcp[gemini]"      # Gemini
pip install "jcodemunch-mcp[openai]"      # OpenAI-compatible
pip install "jcodemunch-mcp[all]"         # all providers + local embeddings

Without an extra, summaries fall back to signatures (which still works โ€” you just get shorter descriptions). Run jcodemunch-mcp config --check to verify your provider is installed and working.

2. Add it to your MCP client

If youโ€™re using Claude Code:

claude mcp add jcodemunch uvx jcodemunch-mcp

If youโ€™re using Paperclip (the multi-agent orchestration platform), add a .mcp.json to your workspace root:

{
  "mcpServers": {
    "jcodemunch": {
      "type": "stdio",
      "command": "uvx",
      "args": ["jcodemunch-mcp"]
    },
    "jdocmunch": {
      "type": "stdio",
      "command": "uvx",
      "args": ["jdocmunch-mcp"]
    }
  }
}

Paperclipโ€™s Claude Code agents auto-detect .mcp.json at startup. Add both servers to give your agents symbol search + doc navigation without blowing the token budget.

3. Tell your agent to actually use it

This matters more than people think.

Installing jCodeMunch makes the tools available. It does not guarantee the agent will stop its bad habit of brute-reading files unless you instruct it to prefer symbol search, outlines, and targeted retrieval. The changelog specifically calls out improved onboarding around this because it is a real source of confusion for first-time users.

A simple instruction like this helps:

Use jcodemunch-mcp for code lookup whenever available. Prefer symbol search, outlines, and targeted retrieval over reading full files.

Note: jcodemunch-mcp init handles steps 2 and 3 automatically. For a comprehensive guide on enforcing these rules through agent hooks and prompt policies, see AGENT_HOOKS.md.


Starter Packs

Pre-built indexes for popular frameworks and libraries. Skip the initial indexing step โ€” install a pack and start querying immediately.

# List available packs
jcodemunch-mcp install-pack --list

# Install a free pack
jcodemunch-mcp install-pack fastapi

# Install a licensed pack
jcodemunch-mcp install-pack express --license YOUR-KEY

Free packs require no license. Licensed packs require a jCodeMunch license. Use --force to re-download an already-installed pack.


Configuration

Settings are controlled by a JSONC config file (config.jsonc) with env var fallbacks for backward compatibility. Defaults are chosen so that a fresh install works without any configuration.

Quick setup

jcodemunch-mcp config --init       # create ~/.code-index/config.jsonc from template
jcodemunch-mcp config              # show effective configuration
jcodemunch-mcp config --check      # validate config + verify prerequisites

--check validates that your config file is well-formed, your AI provider package is installed, your index storage path is writable, and HTTP transport packages are present. Exits non-zero on any failure โ€” useful for CI/CD or first-run scripts.

Config file locations

Layer Path Purpose
Global ~/.code-index/config.jsonc Server-wide defaults
Project {project_root}/.jcodemunch.jsonc Per-project overrides

Project config merges over global config โ€” closest to the work wins.

Token-control levers (reduce schema tokens per turn)

Config key What it controls Typical savings
disabled_tools Remove tools from schema entirely ~100โ€“400 tokens/tool
languages Shrink language enum + gate features ~2โ€“86 tokens/turn
meta_fields Filter _meta response fields ~50โ€“150 tokens/call
descriptions Control description verbosity ~0โ€“600 tokens/turn

See the full template for all available keys. Run jcodemunch-mcp config --init to generate one.

Architecture layer enforcement (architecture.layers)

Place a .jcodemunch.jsonc file at your project root to declare the layers your architecture must respect. get_layer_violations will then enforce that imports only flow in the declared direction.

// .jcodemunch.jsonc โ€” example for a layered Python project
{
  "architecture": {
    "layers": [
      { "name": "api",      "paths": ["src/routes", "src/controllers"] },
      { "name": "service",  "paths": ["src/services"] },
      { "name": "repo",     "paths": ["src/repositories"] },
      { "name": "db",       "paths": ["src/models", "src/migrations"] }
    ],
    "rules": [
      { "layer": "api",     "may_not_import": ["db"] },
      { "layer": "service", "may_not_import": ["api"] },
      { "layer": "repo",    "may_not_import": ["api", "service"] }
    ]
  }
}

Call get_layer_violations(rules=[...]) directly to pass rules inline โ€” the config file is optional and used as a fallback. When no config is present, get_layer_violations infers layers from top-level directory structure.

Deprecated env vars (v2.0 will remove)

The following env vars still work but are deprecated. Config file values take priority:

Variable Config key Default
JCODEMUNCH_USE_AI_SUMMARIES use_ai_summaries true
JCODEMUNCH_TRUSTED_FOLDERS trusted_folders []
JCODEMUNCH_MAX_FOLDER_FILES max_folder_files 2000
JCODEMUNCH_MAX_INDEX_FILES max_index_files 10000
JCODEMUNCH_STALENESS_DAYS staleness_days 7
JCODEMUNCH_MAX_RESULTS max_results 500
JCODEMUNCH_EXTRA_IGNORE_PATTERNS extra_ignore_patterns []
JCODEMUNCH_CONTEXT_PROVIDERS context_providers true
JCODEMUNCH_REDACT_SOURCE_ROOT redact_source_root false
JCODEMUNCH_STATS_FILE_INTERVAL stats_file_interval 3
JCODEMUNCH_SHARE_SAVINGS share_savings true
JCODEMUNCH_SUMMARIZER_CONCURRENCY summarizer_concurrency 4
JCODEMUNCH_ALLOW_REMOTE_SUMMARIZER allow_remote_summarizer false
JCODEMUNCH_RATE_LIMIT rate_limit 0
JCODEMUNCH_TRANSPORT transport stdio
JCODEMUNCH_HOST host 127.0.0.1
JCODEMUNCH_PORT port 8901
JCODEMUNCH_LOG_LEVEL log_level WARNING

AI provider keys (ANTHROPIC_API_KEY, GOOGLE_API_KEY, OPENAI_API_BASE, MINIMAX_API_KEY, ZHIPUAI_API_KEY, etc.), JCODEMUNCH_SUMMARIZER_PROVIDER, and CODE_INDEX_PATH are always read from env vars โ€” they are never placed in config files.

AI provider priority in auto-detect mode: Anthropic โ†’ Gemini โ†’ OpenAI-compatible (OPENAI_API_BASE) โ†’ MiniMax โ†’ GLM-5 โ†’ signature fallback. Set JCODEMUNCH_SUMMARIZER_PROVIDER to force anthropic, gemini, openai, minimax, glm, or none. jcodemunch-mcp config shows which provider is active.

allow_remote_summarizer only affects OpenAI-compatible HTTP endpoints. When false, jcodemunch accepts only localhost-style endpoints such as Ollama or LM Studio on 127.0.0.1 and rejects remote hosts like api.minimax.io. When a remote endpoint is rejected, AI summarization falls back to docstrings or signatures instead of sending source code to that provider. Set allow_remote_summarizer: true in config.jsonc if you intentionally want to use a hosted OpenAI-compatible provider such as MiniMax or GLM-5.


When does it help?

A common question: does this only help during exploration, or also when the agent is prompted to read a file before editing?

It helps most when editing a specific function. The "read before edit" constraint doesn't require reading the whole file โ€” it requires reading the code. get_symbol_source gives you exactly the function body you're about to touch, nothing else. Instead of reading 700 lines to edit one method, you read those 30 lines.

Scenario Native tool jCodemunch Savings
Edit one function (700-line file) Read โ†’ 700 lines get_symbol_source โ†’ 30 lines ~95%
Understand a file's structure Read โ†’ full content get_file_outline โ†’ names + signatures ~80%
Find which file to edit Grep many files search_symbols โ†’ exact match comparable
Edit requires whole-file context Read โ†’ full content get_file_content โ†’ full content ~0%
"What breaks if I change X?" not possible get_blast_radius unique capability

The cases where it doesn't help: edits that genuinely require understanding the entire file (restructuring file-level state, reordering logic that spans hundreds of lines). For those, get_file_content is roughly equivalent to Read. The cases where it helps most are targeted edits โ€” one function, one method, one class โ€” which is the majority of real editing work.


Best for

  • large repositories
  • unfamiliar codebases
  • agent-driven code exploration
  • refactoring and impact analysis
  • teams trying to cut AI token costs without making agents dumber
  • developers who are tired of paying premium rates for glorified file scrolling

New here?

Start with QUICKSTART.md for the fastest setup path.

Then index a repo, ask your agent what it has indexed, and have it retrieve code by symbol instead of reading entire files. That is where the savings start.

Star History

Star History Chart

Release History

VersionChangesUrgencyDate
v1.108.29## 1.108.29 - WRR signal fusion was inert Closes #324 (reported by @sektor10, with a full root-cause analysis and a clean reproduction). ### The bug The Weighted Reciprocal Rank fusion pipeline in `retrieval/signal_fusion.py` never applied its channel weights. Every fused score came out `0.0`, and the final ordering silently fell back to a stable sort over insertion order. The documented ranking (identity 2.0 > lexical 1.0 > similarity 0.8 > structural 0.4) was a no-op on the `fusion=True` paHigh6/5/2026
v1.108.26# 1.108.26 โ€” get_file_outline batch mode dropped all symbols ## Fixed `get_file_outline` in **batch mode** (`file_paths=[...]`) returned empty outlines for every file โ€” models saw "the outline came back empty" and either gave up or burned tokens re-querying (issue #319, reported by @MariusAdrian88, corroborated by @ImJustWeed). The bug was confined to the MUNCH `fo1` encoder: it only understood the **singular** response shape, where `symbols` sits at the top level. Batch mode nests the data oHigh5/29/2026
v1.108.22Six additive enterprise-hardening items in one release. All purely additive; no user-facing behavior changes. Full notes in [CHANGELOG.md](https://github.com/jgravelle/jcodemunch-mcp/blob/v1.108.22/CHANGELOG.md). ## Highlights - **Keyring credentials** (P1.3): Any credential env var can be set to `keyring:<name>` to load from the system keyring. New `jcodemunch-mcp keyring set|get|delete|list` CLI. Requires `pip install "jcodemunch-mcp[keyring]"`. - **Metadata-only cache mode** (P1.4): New `caHigh5/22/2026
v1.108.18Patch release. Closes #304 โ€” the runtime gap I flagged when shipping v1.108.17's display fix. ## The gap `batch_summarize.py` read every summarizer-related config key from `_GLOBAL_CONFIG` only (no `repo=` passed). So a user with `summarizer_model` in `.jcodemunch.jsonc` saw the runtime ignore it โ€” the AI summarizer used the env-var fallback or hardcoded default instead of their configured value. Same plumbing-audit shape as #300 / #301 but in summarizer code. ## The fix Thread `repo` from cHigh5/17/2026
v1.108.7## v1.108.7 โ€” Windows hook path: forward slashes + path-shape-agnostic dedup Fixes the recurring `PreToolUse:Read hook error / command not found` loop on Windows. Two coupled bugs: ### Bug 1: bash silently eats backslashes in hook paths `_hook_invocation()` returned `shutil.which("jcodemunch-mcp")` raw, which on Windows yields `C:\Python314\Scripts\jcodemunch-mcp.EXE`. JSON serialisation preserves the backslashes in settings.json (`C:\\Python314\\Scripts\\jcodemunch-mcp.EXE`), but Claude CodeHigh5/12/2026
v1.81.3**Fixes #276** โ€” Bare-name `repo` lookups crashing when `JCODEMUNCH_PERF_TELEMETRY=1`. `list_repos()` globbed `*.db` indiscriminately, so `~/.code-index/telemetry.db` was treated as an indexed repo. Worse, `_connect()` auto-initialised the code-index schema on it, vandalising telemetry.db, and `_list_repo_from_db` returned a phantom entry with `repo=""`. That empty owner/name then crashed `_get_bare_name_map` (`"".split("/", 1)` โ†’ `ValueError: not enough values to unpack`), aborting the bare-naHigh5/7/2026
v1.80.3Fixes #269 via PR #270 (DrHayt). The WorktreeRemove hook never actually removed worktrees from disk because two bugs in cli/hook_event.py conspired: (1) a legacy worktree_path early-return wrote the manifest and skipped git commands on remove, and (2) git worktree remove ran with cwd set to the worktree being removed, which git refuses. Fix: gate the legacy early-return on event_type=='create' and resolve the main repo via git rev-parse --git-common-dir before running removal commands. 3700 passHigh5/1/2026
v1.80.1## Fixed - **Scala 3 symbol extraction** (#262, @irreversible-paths). The Scala language spec only matched `function_definition` nodes, silently dropping abstract defs (`function_declaration`), fields (`val_definition` / `var_definition`), and type aliases (`type_definition`). It also assumed the identifier field was named `name`, but tree-sitter-scala uses `pattern` for val/var nodes. `SCALA_SPEC` now declares the additional node types and the `pattern` name field. On a real Scala 3 + Spring BoHigh4/26/2026
v1.72.0 Correctness + reach release: fixes six tier-1 MUNCH encoders that had shipped against imagined response shapes (silent data loss in `get_blast_radius`, `find_importers`, `find_references`, `get_signal_chains`, `get_tectonic_map`, `get_dependency_cycles`), and adds generic monorepo/`extends`-chain support to the tsconfig alias loader so path aliases resolve in any workspace layout. ### Fixed - **MUNCH tier-1 encoder alignment** (#256, credit @MariusAdrian88). Six encoders realigned to the actHigh4/22/2026
v1.71.0Resolves #255 (credit @rsubr). ## Added - **jcodemunch_guide tool.** Returns the version-current policy snippet โ€” the same text jcodemunch-mcp claude-md --generate emits โ€” plus the running version. Keep a single line in CLAUDE.md / AGENT.md and never hand-edit it when the tool surface changes: Call the jcodemunch_guide tool and strictly follow its instructions. Force-included alongside set_tool_tier / announce_model, so disabled_tools and tier filtering can't hide it. No repo context;High4/21/2026
v1.70.0## Highlights **Default detail_level flipped "standard" โ†’ "auto".** `search_symbols` now returns the cheapest representation by default for broad discovery queries โ€” compact shape when `max_results>=5` with no `token_budget` and no `debug`, standard otherwise. Explicit `detail_level` values are always honored. **Full-mode respects token_budget.** Previously the packer saw each result's signature-only byte_length, then full-mode appended `source`/`docstring`/`end_line` AFTER packing โ€” overshootHigh4/19/2026
v1.63.1Hotfix for get_hotspots (and get_repo_health, which aggregates it) crashing with UnboundLocalError on any repo whose source_root isn't a git worktree. This is the common case for index_repo extracts โ€” they live in the cache dir with no .git. Root cause: candidate-building block was mis-indented inside 'if rc_check == 0:'. The existing test suite masked it because tmp_path nested inside the maintainer's git worktree and rev-parse accidentally walked up and succeeded. Regression test now monkeypaHigh4/19/2026
v1.63.0Closes #252. Fixes under-resolution on Python layouts where the effective source root is injected at runtime (conftest.py sys.path shims, PYTHONPATH, setuptools package_dir with nested roots). resolve_specifier now falls back to a cached package_basename โ†’ parent_dirs index and retries against the parents of any package whose name matches the specifier's first dotted segment. Scoped by concrete first-segment evidence in the import itself, not a broad suffix sweep โ€” zero false-positive risk, memHigh4/19/2026
v1.62.0Audit remediation for findings F1, F2, F3, F5, F6, F11. - **F1** MUNCH scalar values with embedded newlines now escape to \n/\r (and \) inside quoted fields; decoder reverses the escapes so round-tripped payloads no longer truncate at blank-line section boundaries. - **F11** Generic encoder schema embed now percent-escapes %25/%3A/%7C/%2C in tag/key/column/type tokens โ€” table keys with ':' and column names with '|' round-trip cleanly. - **F5** Generic decoder no longer drops nested tables when High4/19/2026
v1.61.1Low-risk audit remediation. No wire-format or session-state changes. ### Fixed - **tier_resolver substring match normalizes both sides (F4, closes #249)** โ€” provider-prefixed keys like anthropic/claude-haiku now match claude-haiku-4-5. - **Bearer-token redaction requires Authorization anchor (F9)** โ€” prose containing the word Bearer no longer trips redaction. - **Redaction depth cap collapses all scalars (F10)** โ€” short credential prefixes (AWS, GitHub tokens) under 16 chars no longer leak pastHigh4/19/2026
v1.61.0## Added - **Per-session tier state makes adaptive_tiering: true safe under HTTP (#253).** The process-global _session_tier_override is now a session-keyed OrderedDict of overrides (LRU-capped at 256 entries). The key is the MCP session's session_id when present, otherwise id(request_context.session); stdio and tests fall through to a \"__default__\" sentinel so their behavior is byte-for-byte unchanged. One HTTP client's plan_turn(model=...) or set_tool_tier(...) call no longer leaks into everyHigh4/19/2026
v1.60.1## Changed - **adaptive_tiering: true + HTTP transport now refuses to start (#248).** Previously emitted a startup WARNING. Process-global tier state leaks across concurrent HTTP clients โ€” one client's plan_turn(model=...) flip silently changes the tool surface for every other client on the same server. That is a misconfiguration, not a heads-up condition. The server now logs an ERROR and aborts via HttpAdaptiveTieringError (a SystemExit subclass) on both sse and streamable-http transports. StdHigh4/19/2026
v1.60.0Thanks to @MariusAdrian88 for PR #246 โ€” the tier surface, the three bundled fixes, and +215 tests of coverage. ## Added - **Tiered tool surface with runtime model-driven switching (#246).** jcodemunch's 60+ tools now narrow per model at runtime. Three tiers (core / standard / full); tier bundle contents moved from hardcoded constants into user-editable config.jsonc with baked-in defaults as fallback. New model_tier_map maps model identifiers to tiers via normalize โ†’ exact โ†’ glob โ†’ substring โ†’ High4/18/2026
v1.59.1Patch release fixing six issues surfaced by the 2026-04-18 adversarial audit. Zero behavior change for normal usage; all fixes either tighten safety or remove false-positives. ## Fixed - **F1 โ€” Redaction no longer mangles source code.** The bearer_token pattern was over-broad: case-insensitive token + any 20+ char identifier. Now header-anchored (Authorization: context or capital Bearer). generic_api_key now requires upper+lower+digit character classes plus entropy >= 3.5 bits/char. - **F2 โ€” DeHigh4/18/2026
v1.59.0## render_diagram โ†’ mmd-viewer integration (#245, @MariusAdrian88) Opt-in visual preview for `render_diagram`. When enabled, calling `render_diagram(..., open_in_viewer=True)` writes the rendered Mermaid to a `jcm-`-prefixed `.mmd` file and spawns the companion [mmd-viewer](https://github.com/MariusAdrian88/mmd-viewer) binary โ€” no copy/paste into mermaid.live required. ### Config (default: off) ```jsonc "render_diagram_viewer_enabled": true, "mermaid_viewer_path": "C:/tools/mmd-viewer.exe" //High4/18/2026
v1.58.0## MUNCH phase 5 โ€” TypeScript decoder + agent hints Final phase of the MUNCH rollout. Non-Python clients and agents can now consume compact payloads directly. ### Added - **clients/ts/decoder.ts** โ€” zero-dependency TypeScript reference decoder (~200 lines). Handles both tier-1 encoder payloads (fr1, dg1, ch1, etc.) and generic-fallback (gen1) payloads through a single entry point. Falls through to JSON.parse for non-MUNCH input, so callers can hand it any tool-response string without branchingHigh4/17/2026
v1.57.0## MUNCH phase 4 โ€” spec + benchmarks ### Added - **SPEC_MUNCH.md** โ€” full on-wire format spec so third-party clients and alternate MCP servers can decode MUNCH payloads without depending on the Python reference decoder. - **Encoding benchmark harness** โ€” `python -m munch_bench.encoding_bench` runs representative fixtures through the dispatcher and reports JSON bytes, compact bytes, savings %, and token-saved estimate. - **README compact-output section** + **TOKEN_SAVINGS.md** dual-axis framing High4/17/2026
v1.56.0## MUNCH phase 3 โ€” hardened generic fallback The shape-sniffer that covers every tool without a hand-tuned encoder now produces fully round-trippable output. ### Changed - **Original table keys preserved** (was emitting synthesized `table_<tag>`). - **Per-column types preserved** (int / float / bool / str) via embedded schema. - **Top-level scalar types preserved** via compact `__stypes` companion map. - **Nested dict-of-list-of-dicts flattened** with dotted key so downstream tools can still rHigh4/17/2026
v1.55.0## MUNCH compact encoding โ€” phase 2 15 hand-tuned per-tool compact encoders now ship, replacing the generic fallback for the highest-payoff graph/list/search tools. Dispatcher auto-selects the custom encoder when available and falls back to the generic shape-sniffer otherwise. ### Encoders shipped | Tool | Encoding ID | |---|---| | `get_dependency_graph` | `dg1` | | `get_call_hierarchy` | `ch1` | | `find_references` | `fr1` | | `find_importers` | `fi1` | | `get_blast_radius` | `br1` | | `get_iHigh4/17/2026
v1.54.0## MUNCH compact response encoding โ€” phase 1 Opt-in **second-axis token savings** independent from jCodeMunch's retrieval-side optimization. Tool responses can now be emitted in a purpose-built compact format (path/symbol interning, tabular row packing, quoted-CSV data sections) instead of verbose JSON. ### New `format` argument on every tool - `"auto"` (default) โ€” encode compact; fall back to JSON if savings below 15% - `"compact"` โ€” force MUNCH regardless of savings - `"json"` โ€” never encodeHigh4/17/2026
v1.53.0## Added **Constraint-chain retrieval** โ€” new `winnow_symbols` tool runs a multi-axis query against the index in a single round trip. Accepts an ordered list of `{axis, op, value}` criteria (AND semantics) that intersect signals no existing tool composes: - `kind`, `language` - `name` (regex), `file` (glob) - `complexity`, `decorator` - `calls` (direct call references) - `summary`/`docstring` text - git `churn` (with configurable `window_days`) Survivors are ranked by PageRank-based `importanHigh4/17/2026
v1.52.1### Changed - **`plan_refactoring` full language coverage** โ€” import and definition patterns, import rewrite logic, and import formatting extended to ~40 previously-uncovered languages (erlang, solidity, zig, clojure, powershell, ocaml, fsharp, nim, tcl, dlang, pascal, ada, cobol, matlab, apex, css/scss/sass/less/styl, razor, blade, al, nix, ejs, verse, asm, vue, and others). Refactorings in these languages now emit correct edits instead of falling through to a generic default. New `TestLanguageHigh4/16/2026
v1.52.0## What's New ### `search_ast` โ€” Cross-language AST pattern matching Write one query, match across all 70+ languages. No need to know language-specific tree-sitter node types. **10 preset anti-pattern detectors:** - `empty_catch` โ€” silently swallowed errors - `bare_except` โ€” catch-all without specific type - `deeply_nested` โ€” 5+ control-flow levels - `nested_loops` โ€” O(nยณ)+ triple-nested loops - `god_function` โ€” 100+ line functions - `eval_exec` โ€” dynamic code execution (injection risk) - `haHigh4/16/2026
v1.51.0## What's New ### Symbol Provenance (`get_symbol_provenance`) Git archaeology per symbol โ€” traces the complete authorship lineage through git history. Uses `git log -L` line-range tracking to find every commit that touched a symbol, classifies each into semantic categories (creation, bugfix, refactor, feature, perf, rename, revert), extracts motivating intent from commit bodies, and generates a human-readable narrative summarising who created it, why, and how it evolved. Use before refactoring High4/16/2026
v1.50.1Fix: index_folder no longer rejects shallow paths like /workspace or /app when running inside a container. Auto-detects Docker, Podman, VS Code devcontainers, GitHub Codespaces, and generic container orchestrators. Minimum path depth relaxed from 3 to 2 components in container environments; bare / is still rejected. trusted_folders remains available as a manual override for non-container setups. Fixes #243.High4/16/2026
v1.50.0## Branch-Aware Delta-Layered Indexing jcodemunch-mcp now maintains per-branch delta layers instead of re-indexing from scratch when you switch git branches. ### How it works - **One base index** (typically `main`/`master`) stores the full index - **Per-branch deltas** record only what changed relative to the base โ€” O(delta) storage instead of O(full) per branch - **Auto-detection**: all 55+ tools detect the current branch via `git rev-parse --abbrev-ref HEAD` โ€” no new parameters - **Compose aHigh4/15/2026
v1.49.0## New Tool: `get_project_intel` Auto-discovers and structurally parses non-code knowledge files, cross-references them to indexed code symbols. Zero config, zero manual input. ### What it discovers - **Infra**: Dockerfiles (stages, ports, entrypoints), docker-compose (services, build contexts), K8s manifests (deployments, services, images), Terraform resources (from index) - **CI/CD**: GitHub Actions, GitLab CI, CircleCI (jobs, triggers, run commands) - **Config**: .env templates (var names, High4/15/2026
v1.48.0## render_diagram โ€” one tool renders every graph New `render_diagram` tool transforms any graph-producing tool's output into rich, annotated Mermaid markup. ### Auto-detects source, picks optimal diagram type: - **get_call_hierarchy** โ†’ `flowchart TD` with confidence-colored edges (green=LSP, blue=AST, orange=inferred, red=heuristic) - **get_signal_chains** โ†’ `sequenceDiagram` with kind-grouped participant boxes (HTTP/CLI/Task/Event) - **get_tectonic_map** โ†’ `flowchart LR` subgraph clusters wiHigh4/15/2026
v1.47.0## Signal Chain Discovery New `get_signal_chains` tool traces how external signals (HTTP requests, CLI commands, scheduled tasks, events) propagate through the codebase via the call graph. ### Two modes - **Discovery** โ€” omit `symbol` to map all entry-point-to-leaf pathways with orphan detection - **Lookup** โ€” pass a `symbol` to find which user-facing chains it participates in (e.g. "validate_email sits on POST /api/users and cli:import-users") ### Gateway detection Detects entry points from High4/15/2026
v1.46.0## Tectonic Analysis โ€” `get_tectonic_map` New tool that discovers the logical module topology of a codebase by fusing three independent coupling signals: - **Structural** โ€” import edges between files - **Behavioral** โ€” shared symbol references (files that import the same symbols are coupled) - **Temporal** โ€” git co-churn (files that change together in the same commits) The weighted file graph is partitioned via label propagation to reveal the *actual* module boundaries. Every discovered **plaHigh4/15/2026
v1.45.1### Documentation - Added "Works with" section to README with Hermes Agent integration config - Submitted optional skill PR to [NousResearch/hermes-agent#10413](https://github.com/NousResearch/hermes-agent/pull/10413)High4/15/2026
v1.45.0### Added - **Enhanced BM25 tokenizer** โ€” Porter-style suffix stemming ("searching" โ†’ "search", "running" โ†’ "run") and bidirectional abbreviation expansion (40 entries: "db" โ†” "database", "config" โ†” "configuration", etc.). Significantly improves recall for natural-language queries against code symbols. - **Diversity-aware budget packing** โ€” `get_ranked_context` now spreads results across files (per-file cap of 3, decay penalty for same-file repeats) instead of greedy same-file stacking. ProducesHigh4/15/2026
v1.44.3### Added - **Native performance backend** โ€” Windows x64 users automatically get a compiled native backend for tokenizer, budget packing, hotspot scoring, fusion, and PageRank. Installs seamlessly via `pip install jcodemunch-mcp`. Other platforms fall back gracefully to pure Python. Linux and macOS wheels coming soon. **Full Changelog**: https://github.com/jgravelle/jcodemunch-mcp/compare/v1.44.2...v1.44.3High4/15/2026
v1.44.2### Fixed - **Content hash consistency** โ€” drift detection now always uses SHA-256, preventing false-positive staleness on existing indexes. - **Budget packing efficiency** โ€” lazy source loading cuts memory usage for large repos (only loads ~2ร— budget worth of candidates instead of all). - **Hotspot filtering** โ€” pre-filters symbols by kind/complexity before scoring, avoiding unnecessary work on large indexes. - **BM25 tokenizer quality** โ€” abbreviation expansions ("database", "configuration") aHigh4/15/2026
v1.44.1Fixed: claude-md, Cursor rules, and Windsurf rules generators now respect tool_profile and disabled_tools from config. Only tools the model can actually call are emitted in the generated policy. (#242 follow-up by @gebeer)High4/15/2026
v1.44.0## Tool Profiles & Compact Schemas (#242) New config options to control context budget: - **`tool_profile`** โ€” `"core"` (16 tools, ~4k tokens), `"standard"` (~40 tools), or `"full"` (all, default) - **`compact_schemas`** โ€” strips rarely-used advanced parameters from tool schemas (~1-2k token savings) Combined, `"core"` + `compact_schemas: true` reduces the schema footprint from ~11.5k to ~4k tokens โ€” a 65% reduction. ### Quick start ```jsonc // ~/.code-index/config.jsonc { "tool_profile": High4/14/2026
v1.43.0### Added - **6 new languages** from TIOBE 51-100: F# (`.fs`, `.fsi`, `.fsx`), Clojure (`.clj`, `.cljs`, `.cljc`, `.edn`), Emacs Lisp (`.el`), Nim (`.nim`, `.nims`, `.nimble`), Tcl (`.tcl`, `.tk`, `.itcl`), D (`.d`, `.di`) - Custom tree-sitter parsers for all 6 with full symbol extraction - 26 new tests (3023 total) Install: `pip install jcodemunch-mcp==1.43.0`High4/13/2026
v1.42.0## 11 New Languages Added full symbol extraction for **11 new programming languages**, bringing the total to 55+ supported languages: | Language | Extensions | TIOBE Rank | |----------|-----------|------------| | Pascal / Delphi | `.pas`, `.dpr`, `.dpk`, `.lpr`, `.pp` | #9 (1.98%) | | MATLAB / Octave | `.mat`, `.mlx`, `.m`* | #14 (1.40%) | | Ada | `.adb`, `.ads` | #18 (1.19%) | | COBOL | `.cob`, `.cbl`, `.cpy` | #21 (0.95%) | | Common Lisp | `.lisp`, `.cl`, `.lsp`, `.asd` | #31 (0.34%) | | SolMedium4/13/2026
v1.41.0## munch-bench joins the mothership Phase 5 of the Groq Integration Suite โ€” consolidated from standalone repo into `jcodemunch-mcp/munch-bench/`, same pattern as speedreview. ### Install ```bash pip install jcodemunch-mcp[bench] ``` ### Run ```bash munch-bench run --provider groq munch-bench compare results/*.json -o leaderboard.html ``` ### First Results (31 questions โ€” Flask, FastAPI, Express) | # | Model | Judge Score | P@5 | Recall | Cost | |---|-------|-------------|-----|--------|----Medium4/13/2026
v1.40.1### Fixed - Fix `jcodemunch-mcp index <owner/repo>` CLI crash โ€” was passing `repo=` instead of `url=` to `index_repo()`, causing `TypeError` PyPI: https://pypi.org/project/jcodemunch-mcp/1.40.1/Medium4/13/2026
v1.40.0## Phase 4: Wow Factor Two new `gcm` modes powered by Groq's full audio stack: ### Voice-to-Codebase (`gcm --voice`) Speak a question about your codebase, hear the answer spoken back in real-time. ```bash pip install jcodemunch-mcp[groq-voice] gcm --voice --repo pallets/flask ``` Full pipeline: Whisper STT โ†’ jCodeMunch retrieval โ†’ Groq LLM โ†’ Orpheus TTS playback. Push-to-talk via Enter key, with text fallback for environments without a microphone. ### Auto Repo Explainer (`gcm explain`) GenMedium4/13/2026
v1.39.1### Fixed - **gcm: GitHub repo detection on Linux** โ€” `_is_github_repo("pallets/flask")` was returning `False` on Linux where `/` is `os.path.sep`. Now uses structural heuristics that work cross-platform. **Full Changelog**: https://github.com/jgravelle/jcodemunch-mcp/compare/v1.39.0...v1.39.1Medium4/13/2026
v1.39.0## gcm โ€” Ask any question about any codebase New `gcm` command line tool powered by jCodeMunch retrieval + Groq inference. Get answers about any codebase in under 3 seconds. ```bash pip install jcodemunch-mcp[groq] export GROQ_API_KEY=gsk_... gcm "how does authentication work?" --repo pallets/flask gcm "where are the API routes?" gcm --chat --repo facebook/react ``` ### Features - **GitHub repos** โ€” `--repo owner/name` auto-indexes on first use - **Local directories** โ€” defaults to current Medium4/13/2026
v1.38.0## speedreview โ€” AI Code Review in Under 5 Seconds New `speedreview/` subdirectory adds a GitHub Action that reviews PRs using jCodeMunch retrieval + Groq inference. ### Setup (3 steps) 1. Add `GROQ_API_KEY` to your repo secrets 2. Add this workflow: ```yaml name: speedreview on: [pull_request] permissions: pull-requests: write contents: read jobs: review: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - uses: jgraveMedium4/13/2026
v1.37.0## Groq Remote MCP Integration Use jCodeMunch as a remote MCP tool with [Groq's](https://groq.com) ultra-fast inference API โ€” answer codebase questions in seconds via a single API call. ### Added - **GROQ.md** โ€” full tutorial with Python/curl/JS quickstarts, allowed-tools presets (explore, deep, review, full), model recommendations, and deployment guides - **Docker deployment** โ€” `Dockerfile` + `docker-compose.yml` + `Caddyfile` for one-command HTTPS deployment with auto-TLS - **Validation scrMedium4/13/2026
v1.36.0Three new languages, courtesy of @MariusAdrian88 (#239): - **Arduino** (.ino, .pde) โ€” parsed via tree-sitter-arduino grammar (C++ superset). Classes, structs, enums, functions, constants. Import extraction reuses #include path. - **VHDL** (.vhd, .vhdl, .vho, .vhs) โ€” regex parser. Entity, architecture, package, process, function, procedure, component, signal, constant, type/subtype. Library/use import extraction (work library excluded). - **Verilog/SystemVerilog** (.v, .vh, .sv, .svh) โ€” regex paMedium4/13/2026
v1.35.1Four reliability fixes from MariusAdrian88 (#238): - invalidate_cache followed by index_folder (incremental) no longer returns "No changes detected" -- fixes Windows WAL file-locking race, legacy JSON resurrection, adds _force_full_reindex coordination flag - meta_fields config now applied to nested _meta in batch tool results (e.g. get_file_outline with file_paths=[...]) - WatcherManager self-restarts on crash with 100ms backoff, up to 5 consecutive attempts - Orphan index cleanup on startup -Medium4/12/2026
v1.35.0New tool: plan_refactoring -- generate edit-ready {old_text, new_text} refactoring plans in a single call. - 4 refactoring types: rename, move, extract, signature change - Import rewrites for 20+ languages - Collision detection, inter-symbol dependency warnings, path alias detection - Multi-line signature capture with paren balancing - Non-code file scanning (YAML, JSON, TOML, etc.) - 325 new tests, 2995 total passing Full changelog: https://github.com/jgravelle/jcodemunch-mcp/blob/main/CHANGEMedium4/12/2026
v1.34.0Long-running tools now emit MCP progress notifications so hosts like VS Code show a live inline indicator instead of a static spinner. Zero token cost -- notifications go to the host, never the model. ### Added - **MCP progress notifications** (#232): index_folder, index_repo, index_file, and embed_repo emit notifications/progress when the client provides a progressToken - **ProgressReporter** (progress.py): thread-safe, monotonic progress helper. No pulse threads, no fake drift -- progress refHigh4/11/2026
v1.33.0When watch: true is set in config (or JCODEMUNCH_WATCH=1), the server automatically reindexes and starts watching any unwatched repo before a tool executes. Eliminates silent-stale-data that causes LLMs to abandon jcodemunch tools for the session. ### Added - **Auto-watch on demand** (#233): race-safe pre-dispatch hook via asyncio.Condition -- concurrent tool calls to the same unwatched repo trigger only one reindex - **WatcherManager class** (watcher.py): dynamic folder watching with add_foldeMedium4/11/2026
v1.32.1### Fixed - **embed_repo preflight performance** (#231): cache-discovery no longer loads and decodes every stored embedding blob just to get symbol IDs. New EmbeddingStore.get_all_ids() queries only the symbol_id column. Eliminates unnecessary CPU, memory, and latency on repos with existing embeddings. ### Upgrade pip install --upgrade jcodemunch-mcpMedium4/11/2026
v1.32.0### Version correction Releases 2.0.0 and 2.1.0 were numbered incorrectly -- every change was purely additive with no breaking API changes. Those releases have been marked as deprecated pre-releases. This release (1.32.0) is the corrected successor. See the full renumbering table in CHANGELOG.md. ### Added - **jcodemunch-mcp index CLI command** (#230): Index a local folder or GitHub repo directly from the terminal. Defaults to the current directory when no target is given -- no init required. Medium4/10/2026
v2.1.0> **DEPRECATED**: This version number was a semver error. No breaking changes were introduced. Install v1.32.0 instead: `pip install jcodemunch-mcp>=1.32.0` --- ### Added - **jcodemunch-mcp index CLI command** (#230): Index a local folder or GitHub repo directly from the terminal. Defaults to the current directory when no target is given โ€” no init required. Supports --no-ai-summaries, --follow-symlinks, and --extra-ignore flags. Full changelog: https://github.com/jgravelle/jcodemunch-mcp/blobMedium4/10/2026
v2.0.0> **DEPRECATED**: This version number was a semver error. The 2.0.0 bump contained no breaking changes โ€” all features are additive and opt-in. Install v1.32.0 instead, which is the corrected successor: `pip install jcodemunch-mcp>=1.32.0` --- ## Phase 5: Interface & Trait Dispatch Resolution (Gap 2C) Resolves interface/trait method calls to their concrete implementations via LSP textDocument/implementation: - **Go** interfaces, **Rust** traits, **TypeScript/Java/C#/PHP** interfaces and abstrMedium4/10/2026

Dependencies & License Audit

Loading dependencies...

Similar Packages

antigravity-awesome-skills๐ŸŒŒ Explore 255+ essential skills for AI coding assistants like Claude Code and GitHub Copilot to enhance your development workflow.main@2026-06-05
notebooklm-pyProvide full Python API access to NotebookLM features, including advanced functions beyond the web interface, via CLI and AI agent integration.main@2026-06-05
Auto-claude-code-research-in-sleepARIS โš”๏ธ (Auto-Research-In-Sleep) โ€” Lightweight Markdown-only skills for autonomous ML research: cross-model review loops, idea discovery, and experiment automation. No framework, no lock-in โ€” works wiv0.4.16
mcp-videoVideo editing MCP server for AI agents. 83 tools, 858 tests collected, 3 interfaces. Works with Claude Code, Cursor, and any MCP client. Local, fast, free.v1.5.1
MARM-SystemsTurn AI into a persistent, memory-powered collaborator. Universal MCP Server (supports HTTP, STDIO, and WebSocket) enabling cross-platform AI memory, multi-agent coordination, and context sharing. Buiv2.9.0

More from jgravelle

jdocmunch-mcpThe leading, most token-efficient MCP server for documentation exploration and retrieval via structured section indexing
jdatamunch-mcpToken-efficient MCP server for tabular data retrieval. Index CSV/Excel files, query rows, aggregate โ€” 99%+ token savings vs raw file reads.

More in MCP Servers

AstrBotAgentic IM Chatbot infrastructure that integrates lots of IM platforms, LLMs, plugins and AI feature, and can be your openclaw alternative. โœจ
agentscopeBuild and run agents you can see, understand and trust.
claude-plugins-officialOfficial, Anthropic-managed directory of high quality Claude Code Plugins.
langchain4jLangChain4j is an open-source Java library that simplifies the integration of LLMs into Java applications through a unified API, providing access to popular LLMs and vector databases. It makes impleme