Skip to main content
Glama

Jambavan is a local-first Model Context Protocol server. It gives coding agents persistent, repository-aware context: an AST-backed symbol index, durable project decisions, a ledger of dead ends already tried, and branch review context.

No LLM calls. No telemetry. No code upload. Source-mutating and shell tools are off unless you turn them on.

60-second quick start

claude mcp add jambavan -- npx -y jambavan

Restart or reload the MCP host after registration. Then call the active MCP server in this order:

jambavan_doctor {}

If it reports source: cwd-fallback, bind the repository and awaken in one call:

jambavan_awaken { "root": "/absolute/path/to/repository" }

Otherwise awaken without a root:

jambavan_awaken {}

After either awaken call, index, watch, and request useful context:

jambavan_index {}
jambavan_watch { "action": "start" }
jambavan_context { "query": "buildReviewPack" }

The root-bearing jambavan_awaken call already performs the awaken step, so do not call it twice. A tool-input root can later be re-pointed to another repository inside the original fallback directory; roots fixed by JAMBAVAN_ROOT, MCP roots/list, or a project cwd cannot be re-pointed.

jambavan_doctor above inspects the active MCP process, including its resolved root, tool count, loaded index, and watcher. npx jambavan doctor is a separate, short-lived shell process: it is useful for launch-environment and parser checks, but it cannot report the active MCP server's in-memory index or watcher.

Related MCP server: reflens

Supported hosts and languages

Jambavan uses stdio MCP, so the same npx -y jambavan command works with any compatible host. Documented setup paths are:

Host

Registration

Claude Code

claude mcp add jambavan -- npx -y jambavan

Codex CLI

codex mcp add jambavan -- npx -y jambavan

Cursor

~/.cursor/mcp.json or project .cursor/mcp.json

Continue

~/.continue/config.yaml (Agent mode)

Other stdio MCP clients

command npx, args -y, jambavan

The index supports TypeScript, TSX, JavaScript, JSX, Python, Go, Rust, and Java. Supported extensions are .ts, .tsx, .mts, .cts, .js, .jsx, .mjs, .py, .go, .rs, and .java.

Measured, not claimed

This historical aggregate was produced with Jambavan v2.0.0 against react/react at commit 9ceb1e7: 4,615 files, 20,595 symbols, Node 24 on macOS arm64.

Result

Context tokens vs reading every matching file

9,207 instead of 261,816 — 96% less

Cold index

8.5 s (552 files/s)

Unchanged re-index

1.2 s (7.2x faster)

Context retrieval

1.2–3.6 ms per query

Tool schema your host pays for every request

20 tools, 3,423 tokens (down from 38 tools / 5,680 in 1.x)

Re-run the same pinned methodology from a clean temporary directory:

WORKDIR="$(mktemp -d)"
git clone --branch v2.0.0 --depth 1 https://github.com/beingmartinbmc/jambavan.git "$WORKDIR/jambavan"
git init "$WORKDIR/react"
git -C "$WORKDIR/react" remote add origin https://github.com/react/react.git
git -C "$WORKDIR/react" fetch --depth 1 origin 9ceb1e7
git -C "$WORKDIR/react" checkout --detach FETCH_HEAD
cd "$WORKDIR/jambavan"
npm ci
npm run build
JAMBAVAN_ROOT="$WORKDIR/react" node dist/benchmark.js

This re-runs the code and inputs; it does not recreate the original machine or timing conditions, so exact timings can differ. The historical aggregate says five auto-derived queries, but only four per-query rows survive in the React proof card. Those four rows do not sum to the aggregate, and the missing raw row is not reconstructed. The surviving rows still show the non-uniform result: one saved 99%, another only 42% because its matches lived in tiny fixture files. This is a retrieval benchmark; it measures token cost and latency, not task correctness.

Why it exists

Without an index or saved memory, rediscovering a project costs work proportional to the area searched: O(n) files opened, every session, forever. Jambavan persists that work. Index refresh still discovers and hashes candidate files in O(n files), but reparses only files whose content changed.

In the Ramayana, before Hanuman's leap to Lanka, Jambavan reminds him of the strength he already possesses. This project borrows that metaphor narrowly: it restores access to knowledge that was already indexed or stored. It does not make a model smarter.

The remaining Sanskrit names are descriptive: mool kaaran means root cause, praman means evidence, yukti means strategy, vibhaajan means decomposition, Vibhishana Niti means disciplined counsel or rules, rin mochan means debt release, and sankshipta means concise or compressed.

Install

The installers attempt to register Jambavan only for hosts they can detect. Claude Code and Codex use their CLIs; Cursor requires an existing ~/.cursor directory and valid JSON if the config already exists. Continue requires an existing ~/.continue directory; the installer creates config.yaml only when it is absent and otherwise prints an entry for you to merge. A detected host can still reject registration, so review the installer result.

On macOS, Linux, WSL, or Git Bash:

curl -fsSL https://raw.githubusercontent.com/beingmartinbmc/jambavan/main/install.sh | bash

On Windows, in PowerShell 5.1+:

irm https://raw.githubusercontent.com/beingmartinbmc/jambavan/main/install.ps1 | iex

Needs Node >=20.19.0 <27. The scripts are designed to skip undetected hosts and preserve unrelated MCP entries, but registration remains conditional on each host and existing config being usable. As with any internet shell script, read it before piping it into a shell.

Manual registration

Same MCP command everywhere: npx -y jambavan.

Host

Setup

Claude Code

claude mcp add jambavan -- npx -y jambavan

Codex CLI

codex mcp add jambavan -- npx -y jambavan

Cursor

add to .cursor/mcp.json

Continue

add to ~/.continue/config.yaml

Any MCP client

command: npx -y jambavan

Cursor (~/.cursor/mcp.json global, or .cursor/mcp.json per project)

{
  "mcpServers": {
    "jambavan": { "command": "npx", "args": ["-y", "jambavan"] }
  }
}

Continue (~/.continue/config.yaml)

name: Local config
version: 1.0.0
schema: v1
mcpServers:
  - name: Jambavan
    command: npx
    args:
      - -y
      - jambavan

Restart or reload the host after any config change, then follow the 60-second quick start, beginning with the MCP jambavan_doctor. Continue exposes MCP tools only in Agent mode.

Check installed and published versions:

npx jambavan --version
npm view jambavan version

To uninstall, run claude mcp remove jambavan or codex mcp remove jambavan; for Cursor and Continue, delete the jambavan entry. Repository indexes under <repo>/.jambavan/ and memory/failure documents under ~/.jambavan/memory/ are left intact.

The tools

Jambavan advertises 20 tools by default. JAMBAVAN_ALLOW_WRITE=1 adds write_file, patch_file, and jambavan_compress_prompt for 23; JAMBAVAN_ALLOW_BASH=1 adds bash for 21; enabling both advertises up to 24. Every advertised tool costs your host model tokens on every request whether or not it is called, so the default surface stays small.

Group

Tools

What the agent gets

Sight

jambavan_index, jambavan_context, jambavan_watch, jambavan_doctor

AST-backed symbol index, token-budgeted context with bounded extracted call neighbors, optional heuristic test references and recent diff, live watching, and root health.

Bridge

jambavan_graph, jambavan_impact

Code-graph report, query, and shortest path in one tool, plus changed-symbol inbound impact and heuristic test-file associations.

Memory

jambavan_memory_store, jambavan_memory_read, jambavan_memory_forget, jambavan_memory_mine_session, jambavan_memory_status

Rootless local Markdown memory, logical collections, and explicit read-only MemPalace federation.

Failure memory

jambavan_failure_store, jambavan_failure_search

Structured failure records plus an exact-command repeat guard in the opt-in bash tool.

Review

jambavan_review_pack

Bounded branch review context: touched symbols, extracted caller candidates, heuristic test references, rin debt, and past failures.

Debt

jambavan_debt_ledger

Harvests every deliberate-shortcut // rin: marker and flags the ones with no upgrade trigger.

Compression

jambavan_compress_prompt

Deterministic prose shortening with protected spans for code, URLs, paths, versions, and env vars. Write-gated.

Awakening

jambavan_awaken

Session protocol: what exists, when to use it, and this project's recent memories.

Hands

read_file, search, list_files; opt-in write_file, patch_file, bash

Guarded project-root file, search, and shell tools. Mutating and shell tools are disabled unless enabled.

Prompts

The discipline protocols are static text with no repository access, so they ship as MCP prompts rather than tools — they cost nothing per request and appear as slash commands in hosts that support them.

Prompt

Use it

root_cause

Before debugging. Enforces observe → compare → hypothesize → fix; escalates at 3+ failed attempts.

verify_gate

Before claiming tests pass, a build succeeds, or a bug is fixed. Demands fresh evidence.

strategy_plan

Before multi-step work. Scales the plan to task size.

decompose_task

When sub-units are genuinely independent.

dev_rules

Vibhishana Niti: YAGNI first, stdlib before dependencies, shortest working diff.

  1. Restart or reload the host after registration or config changes.

  2. jambavan_doctor {} to inspect the active MCP root, gates, storage, index, and watcher.

  3. If the source is cwd-fallback, call jambavan_awaken { "root": "/absolute/path/to/repository" }; otherwise call jambavan_awaken {}.

  4. jambavan_index {} then jambavan_watch { "action": "start" }.

  5. jambavan_context { "query": "<identifier or focused question>" } before touching unfamiliar code.

  6. root_cause / verify_gate / strategy_plan when debugging, claiming completion, or planning.

  7. Run the smallest relevant check.

  8. jambavan_memory_store { "title": "...", "body": "...", "collection": "decisions" } to persist durable context.

  9. jambavan_failure_store to record dead ends with root cause and do-not-retry advice.

  10. jambavan_session_handoff {} to hand off; pass text to import one back.

What the output looks like

jambavan_context returns focused spans instead of whole files. This is an illustrative output shape, not captured output from the current repository:

# Jambavan Context: "review pack"
Symbols: 12 included, 18 dropped (budget: 8000 tokens)

## src/tools/review-pack.ts: buildReviewPack
kind: function · score: 0.92
Uses git diff to list touched files, maps symbols from the index, adds callers via graph,
heuristic test references via test-map, and risk flags for rin debt / missing tests / failures.

jambavan_review_pack { "base": "main" } turns a branch into reviewer-oriented context. This example is illustrative:

# Jambavan Review Pack
Base: main
Touched files: src/mcp/server.ts, src/mcp/tool-aliases.ts

src/mcp/server.ts
- touched symbols: startServer, handleToolCall
- callers: dist/index.js -> startServer
- heuristic test references: test/tool-aliases.test.ts
- risk flags: write-gated tool alias; verify disabled-tool listing

jambavan_failure_search { "query": "timeout" } surfaces a prior dead end before another retry. This example is illustrative:

FailureRecord: flaky auth test timeout
Root cause: unawaited promise in token refresh mock.
Do not retry: increasing the test timeout; it hid the race.
Next check: run the focused auth test with fake timers enabled.

Privacy and safety

Code indexes and caches stay in the active repository's .jambavan/; memory and failure documents live in ~/.jambavan/memory by default. Both generated-state roots get a nested .gitignore with *. These operational writes still happen when source mutation is disabled.

Source-mutating and shell tools are not advertised unless you opt in:

Tool(s)

Enable with

write_file, patch_file, jambavan_compress_prompt

JAMBAVAN_ALLOW_WRITE=1

bash

JAMBAVAN_ALLOW_BASH=1

Direct path arguments to file, search, and list tools, plus the bash working directory, are confined to JAMBAVAN_ROOT or the detected project root. The same guard refuses known secret-file basenames, extensions, and immediate parent directories unless JAMBAVAN_ALLOW_SECRETS=1. This is a direct-path guard, not content scanning, and it does not stop an enabled shell command from reading files.

bash uses a minimal no-color environment and blocks a few obvious footguns such as rm -rf /, git reset --hard, git clean -fx, and blind curl | sh. It redacts and stores failed-command records locally; once the same unresolved command fails unchanged again, a do-not-retry record can block another exact retry unless retry_known_failure=true. These checks are not a security boundary. Treat the tool like a local shell and sandbox the workspace if you need isolation.

MemPalace is never contacted during ordinary recall, context enrichment, or awakening — only when a memory read explicitly sets provider. See memory docs.

Configuration

Env var

Default

Description

JAMBAVAN_ROOT

auto-detect

Project root to index and serve

JAMBAVAN_SCOPE

Git-derived

Validated clone-independent scope override

JAMBAVAN_MEMORY_HOME

~/.jambavan/memory

Override for the root-independent OKF archive

JAMBAVAN_MEMPALACE_COMMAND

mempalace-mcp

Executable for explicit read-only MemPalace calls

JAMBAVAN_TOKEN_BUDGET

8000

Max approximate cl100k_base tokens in jambavan_context

JAMBAVAN_DEV_MODE

full

Default dev_rules level (lite, full, ultra)

JAMBAVAN_ALLOW_WRITE

off

Registers write_file, patch_file, jambavan_compress_prompt

JAMBAVAN_ALLOW_BASH

off

Registers bash

JAMBAVAN_ALLOW_OUTSIDE_ROOT

off

Disables direct-path project-root containment

JAMBAVAN_ALLOW_SECRETS

off

Allows direct paths matching the secret-file guard

JAMBAVAN_BASH_INHERIT_ENV

off

Passes full host env to bash

JAMBAVAN_MAX_OUTPUT_CHARS

100000

Global cap on tool output

JAMBAVAN_MAX_READ_BYTES

5242880

Max file size read_file loads

Upgrading from 1.x

2.0 renamed the Sanskrit tool names to English and merged near-duplicate tools, cutting the advertised surface from 38 tools to 20 and the tools/list schema your host pays for on every request from 5,680 tokens to 3,423. Every old name still works — retired names are resolved internally, they are just no longer advertised, and tool-check fails the build if any of them stops dispatching.

Was

Now

jambavan_mool_kaaran, root_cause

root_cause prompt

jambavan_praman, verify_gate

verify_gate prompt

jambavan_yukti, strategy_plan

strategy_plan prompt

jambavan_vibhaajan, decompose_task

decompose_task prompt

jambavan_vibhishana_niti, dev_rules

dev_rules prompt

jambavan_rin_mochan

jambavan_debt_ledger

jambavan_sankshipta

jambavan_compress_prompt

jambavan_graph_report, _query, _path

jambavan_graph

jambavan_diagnostics

jambavan_doctor

jambavan_memory_get, _search, _recall

jambavan_memory_read

jambavan_memory_invalidate, _delete

jambavan_memory_forget

jambavan_session_export, _import

jambavan_session_handoff

Claude Code plugin

This repo is also a Claude Code plugin marketplace:

/plugin marketplace add beingmartinbmc/jambavan
/plugin install jambavan@jambavan

Documentation

Contributing

Read CONTRIBUTING.md before proposing a change. Use the issue forms for bugs and focused feature requests, and report vulnerabilities privately through SECURITY.md.

npm run docs-check && npm run lint && npm test && npm run coverage

Available Tools

20 tools
jambavan_awakenA

Return the Jambavan operating protocol: recall memory, index/watch code, retrieve context before edits, patch surgically, run checks, and store durable decisions. Call once at the start of every host session. Includes recent project memories by default.

ParametersJSON Schema
NameRequiredDescriptionDefault
rootNoExisting absolute directory inside the current fallback root. Re-points a previous tool-input root (needed by hosts that share one server across workspaces); cannot override an env, client-roots, or cwd-project binding.
include_memoriesNoInclude recent memories for this project scope (default: true).

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It states the tool returns a protocol and includes recent project memories, implying a read-only operation. However, it does not explicitly disclose whether the tool has side effects, permissions required, or any destructive potential.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, front-loaded with purpose, and every sentence adds value. No redundant or filler content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, the description explains what the tool returns (operating protocol and included memories). The list of components aligns with sibling tool names, aiding agent understanding. A minor gap is the lack of explicit return structure or format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and both parameters are described in the schema. The description adds no semantics beyond the schema, confirming the default for include_memories. Per guidelines, a baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool returns the Jambavan operating protocol and specifies its components (recall memory, index/watch code, etc.). It distinguishes itself from sibling tools by serving as an initialization call.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly advises 'Call once at the start of every host session,' providing clear when-to-use guidance. However, it does not mention when not to use or suggest alternative tools for specific scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

jambavan_contextA

Search the Jambavan index for code symbols and snippets most relevant to a query. Returns a ranked, token-budgeted context block of matching functions, classes, and types. Inject this block into your prompt to give the model precise, token-efficient codebase knowledge. Much cheaper than reading whole files — only the relevant symbol bodies are returned. Automatically includes top project-memory matches and a bounded set of extracted callers/callees under the same token budget. Options: compress_prose shrinks comments for extra budget; include_diff adds recent git changes; include_tests shows heuristic test associations/references, not execution coverage.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax lexical symbols before token-budget truncation; up to 6 extracted structural neighbors may be added (default: 30)
queryYesNatural-language or identifier query — e.g. "auth middleware", "UserService.login"
include_diffNoInclude recent git changes for each symbol (default: false)
include_testsNoInclude associated test file info for each symbol (default: false)
compress_proseNoCompress comments/docstrings in results for more symbol density (default: false)

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description fully discloses key behaviors: returns ranked/token-budgeted context, automatically includes project-memory matches and bounded callers/callees, and clarifies that include_tests shows 'heuristic test associations/references, not execution coverage.' It also explains the effect of each option.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-organized paragraph that front-loads the primary action, then covers output, usage advantage, automatic behaviors, and options. Every sentence earns its place without redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 5 parameters and no output schema, the description provides comprehensive coverage: purpose, return type (context block), usage directive, cost comparison, automatic inclusion behavior, and option distinctions. It gives an agent enough information to select and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (baseline 3), but the description adds meaning by explaining the automatic inclusion of callers/callees under the same token budget, which informs the behavior of the 'limit' parameter. It also summarizes each boolean option, providing contextual understanding beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function with a specific verb and resource: 'Search the Jambavan index for code symbols and snippets most relevant to a query.' It distinguishes itself from siblings by focusing on producing a token-budgeted context block for injection, which is unique among the listed tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers clear usage context: 'Inject this block into your prompt' and emphasizes cost efficiency over 'reading whole files.' However, it does not explicitly name alternative tools or provide when-not-to-use scenarios, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

jambavan_debt_ledgerA

Harvest every rin marker (lines marked with a ceiling and upgrade path) from the project into a debt ledger. Groups findings by file and flags any marker with no upgrade trigger — those are the ones that silently rot. Read-only. Call before a release or refactor sprint.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description discloses read-only behavior and explains the process (scan, group, flag). It does not cover auth needs or rate limits, but the tool is simple and read-only, so the transparency is good.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences, front-loaded with the primary action. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter tool with no output schema, the description is complete: it explains the purpose, grouping, flagging, read-only nature, and use case.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and schema coverage is 100%. The description does not add parameter details, but none are needed. Baseline for 0 parameters is 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool harvests 'rin markers' from the project into a debt ledger, groups by file, and flags untriggered markers. The verb 'harvest' and resource 'rin marker' are specific, distinguishing it from siblings like read_file or jambavan_index.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Call before a release or refactor sprint,' providing clear context. Does not mention when not to use or alternatives, but the sibling tools suggest this is specialized, so the guidance is adequate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

jambavan_doctorA

One-shot environment health check: root detection source, tree-sitter vs regex parser backends, write/bash tool gates, token budget, memory dir writability, .gitignore/CI presence, and index/watcher status. Call this first when something feels off (e.g. context results look like the wrong project) — it catches the most common cause: the MCP host resolving the wrong project root.

ParametersJSON Schema
NameRequiredDescriptionDefault
issue_reportNoReturn a copy-ready redacted GitHub issue URL/body without posting it.

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It describes what the tool checks but does not disclose whether it is read-only, any side effects, required permissions, or output format. It only mentions the optional parameter but not the return structure beyond the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loading the specific checks and then providing usage guidance. No unnecessary words; every sentence provides value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description lists what the tool checks but does not explain the output format, return values, or error conditions. Since there is no output schema, this is a gap. The optional parameter 'issue_report' is mentioned in schema but not in description, leaving ambiguity about output.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has full coverage (100%) for the single parameter 'issue_report', with a clear description. The description adds no additional parameter information, so a baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states it performs a 'one-shot environment health check' and lists specific items checked (root detection, parser backends, gates, token budget, etc.). This clearly distinguishes it from sibling tools like jambavan_index, jambavan_context, etc., which have more specific scopes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides explicit guidance: 'Call this first when something feels off (e.g. context results look like the wrong project).' This gives clear context but does not explicitly mention when not to use it or list alternatives, though the purpose implies it's a diagnostic first step.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

jambavan_failure_storeA

Store a structured failure record in the memory palace. Use after a command/approach fails to prevent repeating the same mistake in future sessions. Stores: command, symptom, attempted fix, root cause, resolution, status, and advice on what NOT to retry.

ParametersJSON Schema
NameRequiredDescriptionDefault
scopeNoMemory scope / project name. Defaults to project scope derived from project root.
statusNoCurrent status. Default: unresolved.
commandYesThe command or action that failed.
symptomYesWhat went wrong (error message, behavior).
next_pathNoSuggested next approach if unresolved.
resolutionNoWhat actually fixed it (if resolved).
root_causeNoWhy it failed (if known).
do_not_retryNoWhat specifically should NOT be tried again.
attempted_fixNoWhat was tried to fix it.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It lists stored fields but does not mention idempotency, overwrite behavior, or authorization requirements. This is adequate but not thorough for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loading the purpose and listing fields efficiently. There is no unnecessary text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 9 parameters, 2 required, and no output schema, the description covers the purpose and fields. It lacks details on return values or error handling, which would be helpful for completeness, but the description is still functional.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for all 9 parameters. The description enumerates the fields but adds minimal new meaning beyond the schema, consistent with baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'store a structured failure record' with a specific verb and resource. It distinguishes from siblings like jambavan_failure_search by focusing on storage after failure.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description says 'use after a command/approach fails to prevent repeating the same mistake', providing clear usage context. It lacks explicit when-not-to-use or comparison to similar store tools, but the guidance is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

jambavan_graphA

Navigate the code graph built from the current index. Call jambavan_index first. action=report lists hub nodes and edge-confidence notes; action=query finds matching nodes and their BFS neighbors; action=path finds the shortest route between two symbols. Action is inferred from the arguments when omitted. Ambiguous same-name edges are excluded unless include_inferred=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoaction=path: end symbol/file.
fromNoaction=path: start symbol/file.
queryNoaction=query: symbol/file text to find.
actionNoInferred from arguments when omitted.
budgetNoaction=query: max output tokens (default: 2000).
directionNoaction=query: traverse callers, callees, or both (default: both).
max_nodesNoaction=report: max hub nodes (default: 10).
symbol_limitNoMax indexed symbols to graph (default: 5000; higher costs more).
include_inferredNoInclude ambiguous same-name inferred edges (default: false).

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses the inferred action behavior and ambiguous-edge exclusion, but does not mention mutability, authorization needs, or rate limits. For a read-navigation tool, this is adequate but not exhaustive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with every sentence adding essential information: purpose, prerequisite, action breakdown, inference rule, and edge behavior. Front-loaded with core function, no redundant text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (9 parameters, no output schema), the description covers the three actions and their general effects, but lacks detail on return format, pagination, or error conditions. It meets minimal completeness but could be more comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (baseline 3). The description adds value by explaining how the action parameter is inferred from arguments and by linking parameters to specific actions (e.g., budget for query, max_nodes for report). This synergy improves understanding beyond the schema alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool navigates a code graph built from the current index, specifying three distinct actions (report, query, path) with concrete outcomes. This differentiates it from sibling tools like jambavan_index (which builds the index) and jambavan_context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly instructs to call jambavan_index first, providing a clear prerequisite. However, it lacks explicit when-not-to-use guidance or direct comparisons to alternative sibling tools, which would strengthen usage clarity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

jambavan_impactA

Analyze changed symbols against inbound extracted graph edges and test associations/references. Reports bounded transitive callers, test associations/references, and explicit graph incompleteness. Use before a risky refactor or PR review; call jambavan_index first.

ParametersJSON Schema
NameRequiredDescriptionDefault
baseNoBase ref for the three-dot branch diff (auto-detects main/master and origin variants).
max_depthNoInbound caller traversal depth, 1-5 (default: 2).
include_worktreeNoInclude staged, unstaged, and untracked changes.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of behavioral disclosure. It goes beyond a simple 'analyze' by specifying exactly what it reports (bounded transitive callers, test associations/references, explicit graph incompleteness) and flags a dependency on jambavan_index. This gives the agent a good sense of expected behavior, though it stops short of detailing side effects or output format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the core purpose and immediately followed by usage guidance. Every word earns its place, and the structure makes the key information easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given moderate complexity and no output schema, the description does a good job of summarizing the tool's return focus (callers, tests, incompleteness) and prerequisites. It could be more explicit about output format or error behavior when jambavan_index hasn't been run, but overall it provides sufficient context for an agent to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for all three parameters, so the baseline is 3. The description doesn't add much parameter-specific detail beyond what the schema already provides, though the term 'changed symbols' aligns with the base and include_worktree parameters. It doesn't introduce new semantic value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb ('Analyze') with a defined resource ('changed symbols against inbound extracted graph edges and test associations/references'). It also distinguishes itself from sibling tools by detailing its unique outputs: bounded transitive callers, test associations/references, and explicit graph incompleteness.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit context for when to use ('before a risky refactor or PR review') and a prerequisite ('call jambavan_index first'). It doesn't mention alternatives or when not to use, but the guidance is clear enough to be actionable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

jambavan_indexA

Build or refresh the Jambavan codebase index. Parses source files with a tree-sitter AST extractor and stores symbols in a local SQLite database. Run once per project, then incrementally on file changes. Returns indexing statistics (files processed, symbols extracted, duration).

ParametersJSON Schema
NameRequiredDescriptionDefault
rootNoExisting absolute directory inside the current fallback root. Re-points a previous tool-input root (needed by hosts that share one server across workspaces); cannot override an env, client-roots, or cwd-project binding.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It discloses that the tool parses files, stores in SQLite, and returns statistics. It mentions incremental updates, which is good for an indexing tool. Lacks details on error handling or permissions, but acceptable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the primary action. Every sentence adds value: purpose, method, usage pattern, return value. No superfluous text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an indexing tool with no output schema, the description adequately describes return values (statistics). It doesn't discuss resumption or cancellation, but the context is complete enough for an agent to use effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a single optional parameter 'root', which is already well-documented in the schema. The tool description adds no additional semantics beyond the schema, meriting the baseline score of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states 'Build or refresh the Jambavan codebase index', using a specific verb+resource. It distinguishes from sibling tools like jambavan_awaken or jambavan_graph by focusing solely on indexing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear context: 'Run once per project, then incrementally on file changes.' This tells the agent when to invoke the tool. It does not explicitly list alternatives or exclusions, but the guidance is sufficient for typical use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

jambavan_memory_forgetA

Retire a memory. mode=invalidate (the default) marks it superseded but keeps the document for temporal history; mode=delete permanently removes it. Provide id for one memory, or scope with delete_scope: true to wipe a scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoOKF concept ID, e.g. "general/old-decision".
modeNoDefaults to invalidate, which is reversible. Pass delete only to destroy the document.
scopeNoScope to wipe (requires delete_scope: true).
reasonNoReason appended to the body when mode=invalidate.
delete_scopeNoSet true to delete all memories in scope.

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must cover behaviors. It discloses mode defaults, effects on document retention, but lacks side effects, auth needs, or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two efficient sentences, front-loaded with main action, no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers main behaviors for a forget action, but missing return value or confirmation. Adequate given parameters and no output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, description adds meaning by explaining mode effects, scope usage, and reason context. Adds value beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it's for 'retiring a memory' with specific verbs (invalidate/delete) and resource (memory). Distinguishes from sibling tools like store, read, etc.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explains when to use invalidate (reversible, keeps history) vs delete (permanent), and mentions delete_scope for wiping a scope. Could be more explicit about when not to use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

jambavan_memory_mine_sessionA

Mine durable facts, decisions, TODOs, and constraints from a pasted session transcript or log. Stores each extracted item as an OKF memory in the requested scope. This is deterministic text mining — no summarization or external service.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesSession transcript, notes, or log text to mine.
scopeNoMemory scope / project name. Defaults to the active project, or "global" without a root.
sourceNoOptional source label, e.g. session id or file path.
collectionNoLogical collection. Defaults to "general".

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses that the tool performs deterministic text mining and stores results as OKF memories, but does not mention side effects, idempotency, or permissions. The description is truthful but lacks depth on behavioral traits like whether it overwrites existing memories.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with no unnecessary words. The first sentence immediately conveys the action and output. The second adds key clarifying detail (deterministic, no external service). Perfectly front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the core action and deterministic nature, but lacks information about return values, error cases, or what happens after storage (e.g., confirmation). With no output schema, more detail on the outcome would improve completeness. Adequate but not comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds context ('from a pasted session transcript or log') but does not significantly extend beyond the schema's parameter descriptions. No additional semantics beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Mine durable facts, decisions, TODOs, and constraints from a pasted session transcript or log.' It uses a specific verb ('Mine') and resource ('session transcript or log'), and distinguishes from siblings by emphasizing deterministic text mining versus summarization or external services.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when deterministic fact extraction is needed (explicitly noting 'no summarization or external service'), but does not explicitly state when not to use it or provide alternatives. Siblings like jambavan_memory_store or jambavan_memory_recall exist, but no comparative guidance is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

jambavan_memory_readA

Read stored memories. Pass id to fetch one document, query to BM25-search, or neither to recall the most recent. Set provider=mempalace for explicit read-only MemPalace access, or provider=all for separate provider sections; ordinary reads never start MemPalace. Jambavan scope/collection map to MemPalace wing/room.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoFetch one memory by OKF concept ID, e.g. "project/why-graphql".
limitNoMax results (default: 10 for search, 20 for recall).
queryNoBM25 search query. Ignored when id is set.
scopeNoRestrict to this scope. Omit to read across scopes.
providerNoDefaults to jambavan.
collectionNoRestrict to one logical collection.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully covers behavioral aspects: it explains that setting provider=mempalace gives explicit read-only access, that ordinary reads don't trigger MemPalace, and that scope/collection map to MemPalace wing/room. It also discloses the BM25 search mechanism and default limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences. The first sentence establishes the core purpose and modes; the second adds provider and mapping details. Every word contributes meaning, and there is no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (6 parameters, no output schema, no annotations), the description covers usage and behavior well. However, it omits any description of the return format or structure, which would be helpful since no output schema is provided.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description adds significant value beyond the schema by explaining the three usage modes, the interaction of provider settings, and the mapping of scope/collection to MemPalace concepts. This enriches the agent's understanding of parameter behavior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Read stored memories' and details three distinct modes: by id, by query (BM25 search), or by recalling the most recent. This specificity distinguishes it from sibling tools like jambavan_memory_store (write) and jambavan_memory_forget (delete).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use each mode (id, query, or none) and explains provider options with their implications (e.g., 'ordinary reads never start MemPalace'). It lacks direct comparison to sibling tools like jambavan_memory_status, but the instructions are clear for the primary use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

jambavan_memory_statusA

Show active Jambavan counts by scope and collection by default. Set provider=mempalace or provider=all to explicitly include read-only MemPalace status and taxonomy.

ParametersJSON Schema
NameRequiredDescriptionDefault
providerNoShow Jambavan, MemPalace, or both in separate sections. Defaults to jambavan.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It implies read-only by mentioning 'read-only MemPalace status', but does not explicitly state safety or side effects. Adequate but not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, concise and front-loaded with key information. Every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description adequately describes the output as counts and status. However, more detail on format or structure would enhance completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a description for provider. The description adds that it defaults to jambavan and explains each enum value's effect, enhancing clarity beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool shows active Jambavan counts by scope and collection, with an option to include MemPalace status. It distinguishes itself from sibling tools like jambavan_memory_read and jambavan_memory_store by focusing on status/counts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide guidance on when to use this tool compared to alternatives. It explains default behavior and how to include MemPalace, but lacks explicit context or scenarios for usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

jambavan_memory_storeA

Persist a memory as an Open Knowledge Format (OKF) concept document. Memories are markdown files with YAML frontmatter — human-readable and portable. Each memory has a title, body (markdown), optional tags, and a scope (e.g. project name). Memories with the same title in the same scope are overwritten (idempotent). Returns the OKF concept ID (scope/slug) of the stored document.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesFull markdown content to store verbatim.
tagsNoOptional tags for filtering.
typeNoOKF concept type. Defaults to "Memory".
scopeNoScope / project name. Defaults to the active project, or "global" without a root.
titleYesShort label for this memory.
sourceNoOptional: source file or session identifier.
collectionNoLogical collection within the scope. Defaults from type.
supersedesNoOptional OKF concept ID this memory replaces.
descriptionNoOne-line summary (used in index.md). Defaults to title.

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses idempotency, return value, and format. No annotations exist, so description carries full burden. Lacks details on side effects (e.g., does it trigger indexing?), error handling, or permission requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, front-loaded with main purpose, each sentence adds essential information. No superfluous text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers key behavior (write, idempotent, return ID), format, and parameter defaults. Does not explain return value structure beyond ID, but acceptable for a store tool without output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema coverage, baseline is 3. Description adds value by explaining scope defaults, idempotency, and portability beyond the schema's field descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool persists a memory as an OKF concept document, with specifics on format (markdown + YAML) and idempotency. It distinguishes from sibling read-only memory tools like jambavan_memory_get or jambavan_memory_recall.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies usage for storing or updating memories, including overwrite behavior. However, it does not explicitly state when not to use it (e.g., for read operations) or mention alternative tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

jambavan_review_packA

Assemble a review pack for the current branch vs a base branch: touched files, the symbols changed or deleted in them, their callers (via the knowledge graph), related test associations/references, past failure records mentioning the same files, and risk flags (open rin debt, no matching test association). Call before opening/updating a PR, or whenever asked "what changed" / "review this branch". Requires jambavan_index to have been run at least once for symbol/caller/test/risk analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
baseNoBase ref to diff against (three-dot diff from merge-base to HEAD). Auto-detects main/master/origin variants if omitted.
max_filesNoMax touched files to analyze in depth (default: 20).
include_worktreeNoAlso include staged, unstaged, and untracked working-tree changes (default: false).

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool depends on a prior jambavan_index run, uses the knowledge graph, references past failure records, and flags risks like open debt and missing test associations. This is substantive context. It does not explicitly say whether the operation is read-only, but 'Assemble' strongly implies a non-mutating analysis. No contradictions with annotations since none exist.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, front-loaded with the primary purpose, then usage guidance, then a prerequisite. Every sentence earns its place, with no filler or redundancy. It is concise yet comprehensive enough to convey the tool's role and requirements.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is moderately complex (no output schema, no annotations), so the description must explain what the tool does and what it returns. It does this by listing the review pack's components in the first sentence and adding usage context. It lacks details about the exact output format (e.g., structured object vs text), but the enumerated contents give an agent enough understanding to invoke and interpret the result. A small improvement would be to state explicitly how the pack is returned, but the current description is fairly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All three parameters (base, max_files, include_worktree) have descriptions in the input schema, achieving 100% schema description coverage. The tool description adds no additional parameter-level semantics beyond what the schema already provides, such as auto-detection behavior or defaults. A baseline score of 3 is appropriate when the schema handles parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Assemble') and resource ('a review pack for the current branch vs a base branch'), then enumerates exactly what the pack contains (touched files, symbols, callers, test associations, failure records, risk flags). This clearly distinguishes it from sibling tools like jambavan_impact or jambavan_context by framing it around PR review and 'what changed' scenarios.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage timing: 'Call before opening/updating a PR, or whenever asked what changed / review this branch.' It also states a prerequisite (jambavan_index must have been run). However, it does not name alternative tools for when NOT to use this tool, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

jambavan_session_handoffA

Move session context between sessions, hosts, or people as one self-contained markdown document containing recent memories, rin debt markers, and git status. Omit text to export; pass text to import it back (idempotent — re-importing creates no duplicates).

ParametersJSON Schema
NameRequiredDescriptionDefault
textNoHandoff markdown to import. Omit to export instead.
scopeNoMemory scope. Defaults to project scope.
share_safeNoExport: redact local paths/secrets and omit git-sensitive data (default: false).
include_gitNoExport: include git status/recent commits (default: true).
include_rinNoExport: include rin debt markers (default: true).
max_memoriesNoExport: max memories to include (default: 15).

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description discloses key behaviors: idempotency, inclusion of memories/rin/git status, and share_safe redaction. It is transparent about the dual-mode operation, though could detail return value format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, each earning its place: first defines core functionality, second explains the bidirectional nature with idempotency. No fluff, well front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description is fairly complete, covering inputs and behavior. However, it does not describe the return value for import (e.g., success status) or export format details, which would be helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline 3. The description adds value by explaining the dual mode (omit text to export, pass text to import), which is not obvious from parameter descriptions alone. It also clarifies share_safe and other flags.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description specifies the tool moves session context as a markdown document, with clear verb 'move' and resource 'session context'. It distinguishes itself from siblings like jambavan_memory_store by focusing on session handoff with export/import modes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains export vs import modes and idempotency, providing clear usage context. However, it does not explicitly mention when not to use or compare to alternatives like jambavan_memory_store, which would be helpful given many siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

jambavan_watchA

Control the live file watcher that keeps the index in sync as you edit code. Actions: "start" — begin watching (index must exist first); "stop" — stop watching; "status" — show watcher state. While running, supported non-ignored source-file changes trigger incremental re-indexing (no full rescan). Use "start" after jambavan_index, then forget about it — the index stays fresh automatically.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYes"start" | "stop" | "status"

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses that changes trigger incremental re-indexing (not full rescan) and lists each action's behavior. Lacks details on error conditions or required permissions, but overall satisfactory.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with purpose, followed by actions and usage tips. Every sentence adds value with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description covers main use cases and behavior. Could mention failure modes or status output details, but overall sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the single param 'action', so baseline is 3. The description adds value by explaining each enum value's behavior and prerequisites (e.g., 'start' requires index to exist).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool controls a live file watcher to keep index in sync, with three specific actions (start, stop, status). It distinguishes from sibling tools like jambavan_index by focusing on watching changes rather than initial indexing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly advises using 'start' after jambavan_index and mentions that incremental re-indexing occurs automatically. While it doesn't list when not to use the tool, it provides sufficient context for correct usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_filesA

List project files in a directory. Paths are confined to the project root unless JAMBAVAN_ALLOW_OUTSIDE_ROOT=1.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoDirectory path (default: project root)
patternNoSubstring filter, e.g. ".ts"
recursiveNoList recursively (default: false)

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, description carries full burden. Adds the behavioral trait of root confinement, but lacks details on error handling, output format, or performance.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, zero wasted words. Efficiently conveys the core purpose and a key constraint.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple listing tool with 3 self-explanatory params, but lacks output schema and details on result format or pagination.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (all 3 parameters have descriptions). Description adds no additional parameter semantics beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'list' and the resource 'project files in a directory'. It is specific and distinguishes from sibling tools like read_file and search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides a constraint ('paths confined to project root unless env var set') but no guidance on when to use this tool vs alternatives like jambavan_sankshipta or search.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_fileA

Read the contents of a project file. Paths are confined to the project root unless JAMBAVAN_ALLOW_OUTSIDE_ROOT=1.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesProject-relative or absolute file path
end_lineNoOptional: 1-based end line
start_lineNoOptional: 1-based start line

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It discloses path confinement behavior and environment variable override, but lacks details on encoding, binary handling, or size limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with clear front-loading of purpose. No redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Lacks output schema; description does not explain return format (e.g., content as string, lines). Also missing error conditions. Adequate but could be more complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so description adds no extra meaning beyond the schema. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Read the contents of a project file', specifying a specific verb and resource. It distinguishes from siblings like list_files and search by implying content retrieval.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use versus alternatives. The description implies usage for reading file contents but lacks when-not or comparison to sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 26 tool updatesv2.0.1
    • Removeddebt_ledger
    • Removeddecompose_task
    • Removeddev_rules
    • Changedjambavan_awaken1 field changed
      • changedInput schema / properties / root / description
        Previous value: -"Existing absolute directory inside the current unresolved fallback root. Cannot override an already fixed env, client-roots, cwd-project, or tool-input binding."New value: +"Existing absolute directory inside the current fallback root. Re-points a previous tool-input root (needed by hosts that share one server across workspaces); cannot override an env, client-roots, or cwd-project binding."
    • Addedjambavan_debt_ledger
    • Removedjambavan_diagnostics
    • Addedjambavan_failure_search
    • Addedjambavan_failure_store
    • Addedjambavan_graph
    • Removedjambavan_graph_path
    • Removedjambavan_graph_query
    • Removedjambavan_graph_report
    • Changedjambavan_index1 field changed
      • changedInput schema / properties / root / description
        Previous value: -"Existing absolute directory inside the current unresolved fallback root. Cannot override an already fixed env, client-roots, cwd-project, or tool-input binding."New value: +"Existing absolute directory inside the current fallback root. Re-points a previous tool-input root (needed by hosts that share one server across workspaces); cannot override an env, client-roots, or cwd-project binding."
    • Addedjambavan_memory_forget
    • Removedjambavan_memory_get
    • Removedjambavan_memory_invalidate
    • Addedjambavan_memory_read
    • Removedjambavan_memory_recall
    • Addedjambavan_memory_status
    • Removedjambavan_rin_mochan
    • Removedjambavan_session_export
    • Addedjambavan_session_handoff
    • Removedjambavan_session_import
    • Removedjambavan_vibhishana_niti
    • Addedread_file
    • Removedstrategy_plan
  2. 16 tool updatesv1.1.0
    • Removedjambavan_failure_search
    • Removedjambavan_failure_store
    • Removedjambavan_memory_delete
    • Addedjambavan_memory_get
    • Changedjambavan_memory_mine_session2 fields changed
      • addedInput schema / properties / collection
        Added value: +{
        +  "description": "Logical collection. Defaults to \"general\".",
        +  "type": "string"
        +}
      • changedInput schema / properties / scope / description
        Previous value: -"Memory scope / project name. Defaults to \"general\"."New value: +"Memory scope / project name. Defaults to the active project, or \"global\" without a root."
    • Changedjambavan_memory_recall2 fields changed
      • addedInput schema / properties / collection
        Added value: +{
        +  "description": "Restrict recall to one logical collection.",
        +  "type": "string"
        +}
      • addedInput schema / properties / provider
        Added value: +{
        +  "description": "Recall from Jambavan, MemPalace, or both in separate sections. Defaults to jambavan.",
        +  "enum": [
        +    "jambavan",
        +    "mempalace",
        +    "all"
        +  ],
        +  "type": "string"
        +}
    • Removedjambavan_memory_search
    • Removedjambavan_memory_status
    • Changedjambavan_memory_store2 fields changed
      • addedInput schema / properties / collection
        Added value: +{
        +  "description": "Logical collection within the scope. Defaults from type.",
        +  "type": "string"
        +}
      • changedInput schema / properties / scope / description
        Previous value: -"Scope / project name. Defaults to \"general\"."New value: +"Scope / project name. Defaults to the active project, or \"global\" without a root."
    • Removedjambavan_mool_kaaran
    • Removedjambavan_praman
    • Removedjambavan_vibhaajan
    • Removedjambavan_yukti
    • Removedread_file
    • Removedroot_cause
    • Removedverify_gate
  3. 11 tool updatesv0.6.1
    • Changedjambavan_awaken1 field changed
      • addedInput schema / properties / root
        Added value: +{
        +  "description": "Existing absolute directory inside the current unresolved fallback root. Cannot override an already fixed env, client-roots, cwd-project, or tool-input binding.",
        +  "type": "string"
        +}
    • Changedjambavan_context1 field changed
      • changedInput schema / properties / limit / description
        Previous value: -"Max symbols to return before token-budget truncation (default: 30)"New value: +"Max lexical symbols before token-budget truncation; up to 6 extracted structural neighbors may be added (default: 30)"
    • Changedjambavan_doctor1 field changed
      • addedInput schema / properties / issue_report
        Added value: +{
        +  "description": "Return a copy-ready redacted GitHub issue URL/body without posting it.",
        +  "type": "boolean"
        +}
    • Changedjambavan_graph_path2 fields changed
      • addedInput schema / properties / include_inferred
        Added value: +{
        +  "description": "Include ambiguous same-name inferred edges (default: false).",
        +  "type": "boolean"
        +}
      • changedInput schema / properties / symbol_limit / description
        Previous value: -"Max indexed symbols to graph (default: 5000; higher values cost more)."New value: +"Max symbols in the query-focused graph neighborhood (default: 5000)."
    • Changedjambavan_graph_query3 fields changed
      • addedInput schema / properties / direction
        Added value: +{
        +  "description": "Traverse callers, callees, or both (default: both).",
        +  "enum": [
        +    "inbound",
        +    "outbound",
        +    "both"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / include_inferred
        Added value: +{
        +  "description": "Include ambiguous same-name inferred edges (default: false).",
        +  "type": "boolean"
        +}
      • changedInput schema / properties / symbol_limit / description
        Previous value: -"Max indexed symbols to graph (default: 5000; higher values cost more)."New value: +"Max symbols in the query-focused graph neighborhood (default: 5000)."
    • Changedjambavan_graph_report1 field changed
      • addedInput schema / properties / include_inferred
        Added value: +{
        +  "description": "Include ambiguous same-name inferred edges (default: false).",
        +  "type": "boolean"
        +}
    • Addedjambavan_impact
    • Changedjambavan_index1 field changed
      • addedInput schema / properties / root
        Added value: +{
        +  "description": "Existing absolute directory inside the current unresolved fallback root. Cannot override an already fixed env, client-roots, cwd-project, or tool-input binding.",
        +  "type": "string"
        +}
    • Changedjambavan_memory_recall1 field changed
      • changedInput schema / properties / scope / description
        Previous value: -"Scope to recall. Omit for all memories."New value: +"Scope to recall. Omit to search across scopes."
    • Changedjambavan_review_pack1 field changed
      • addedInput schema / properties / include_worktree
        Added value: +{
        +  "description": "Also include staged, unstaged, and untracked working-tree changes (default: false).",
        +  "type": "boolean"
        +}
    • Changedjambavan_session_export1 field changed
      • addedInput schema / properties / share_safe
        Added value: +{
        +  "description": "Redact local paths/secrets and omit git-sensitive data for sharing (default: false).",
        +  "type": "boolean"
        +}
  4. 6 tool updatesv0.5.4
    • Addeddebt_ledger
    • Addeddecompose_task
    • Addeddev_rules
    • Addedroot_cause
    • Addedstrategy_plan
    • Addedverify_gate
  5. 2 tool updatesv0.5.2
    • Addedjambavan_doctor
    • Addedjambavan_review_pack
  6. 4 tool updatesv0.5.0
    • Addedjambavan_mool_kaaran
    • Addedjambavan_praman
    • Addedjambavan_vibhaajan
    • Addedjambavan_yukti
  7. 5 tool updatesv0.4.0
    • Changedjambavan_context3 fields changed
      • addedInput schema / properties / compress_prose
        Added value: +{
        +  "description": "Compress comments/docstrings in results for more symbol density (default: false)",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / include_diff
        Added value: +{
        +  "description": "Include recent git changes for each symbol (default: false)",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / include_tests
        Added value: +{
        +  "description": "Include associated test file info for each symbol (default: false)",
        +  "type": "boolean"
        +}
    • Addedjambavan_failure_search
    • Addedjambavan_failure_store
    • Addedjambavan_session_export
    • Addedjambavan_session_import
  8. 1 tool update
    • Removedjambavan_sankshipta
  9. 21 tool updatesv0.3.0
    • First observedjambavan_awaken
    • First observedjambavan_context
    • First observedjambavan_diagnostics
    • First observedjambavan_graph_path
    • First observedjambavan_graph_query
    • First observedjambavan_graph_report
    • First observedjambavan_index
    • First observedjambavan_memory_delete
    • First observedjambavan_memory_invalidate
    • First observedjambavan_memory_mine_session
    • First observedjambavan_memory_recall
    • First observedjambavan_memory_search
    • First observedjambavan_memory_status
    • First observedjambavan_memory_store
    • First observedjambavan_rin_mochan
    • First observedjambavan_sankshipta
    • First observedjambavan_vibhishana_niti
    • First observedjambavan_watch
    • First observedlist_files
    • First observedread_file
    • First observedsearch

TDQS

A4.2/5.0
Disambiguation5/5

Each tool has a distinct purpose: file operations, indexing, context retrieval, memory management, failure tracking, graph navigation, etc. There is no overlap that would cause confusion; even similar tools like jambavan_context and read_file serve different needs (symbol snippets vs. full file).

Naming Consistency4/5

Most tools follow the 'jambavan_verb_noun' pattern, but three tools (read_file, search, list_files) lack the prefix. This split is the only inconsistency; the naming within each group is predictable and descriptive.

Tool Count5/5

With 20 tools, the count is well-scoped for a comprehensive code intelligence and memory system. Each tool earns its place, covering indexing, context, memory, failure tracking, graph analysis, and more without redundancy.

Completeness5/5

The tool surface is thoroughly complete for its domain: basic file operations, index management, context retrieval, memory CRUD plus mining, failure recording, session handoff, review packs, and impact analysis. No obvious gaps are present.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

  • F
    license
    B
    quality
    C
    maintenance
    MCP server that gives AI coding assistants persistent memory, structural code graph analysis, and safe multi-agent coordination, enabling them to answer architectural questions, track decisions across sessions, and coordinate safely in multi-agent workflows.
    39
    4
    -
  • A
    license
    A
    quality
    B
    maintenance
    An MCP server that indexes reference repositories and provides tools for AI coding agents to retrieve lossless code context, enabling reasoning over codebases larger than the agent's context window.
    8
    2
    Apache 2.0
  • A
    license
    Not graded
    quality
    A
    maintenance
    An MCP server for code intelligence that maps source code into a knowledge graph, enabling AI tools to understand architecture and structure rather than just individual files.
    8
    MIT

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/beingmartinbmc/jambavan'

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