Skip to content
Agentmart
Submit a tool

Jarvis

Local-first SCIP code navigation and Zoekt search over your own indexed repositories

Connector by phuongddx · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 4
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/phuongddx-jarvis

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Local-first SCIP code navigation and Zoekt search over your own indexed repositories

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.

Runs code on install

Its package runs an install script (such as npm postinstall or setup.py code) as soon as you install it, before any tool is called. Read the script first.

Tools
4 read · 3 write · 0 delete · 3 not yet classified
Secrets
None asked for
Install scripts
Runs code on install
Runs as
Python package

Tools by what they do 10

Read from the source code; the running server may list different tools.

Read 4 · Look things up without changing anything.

  • documentSymbols
  • findReferences
  • searchCode
  • semanticSearch

Write 3 · Create, change, send or run things.

  • callHierarchy
  • indexRepo
  • typeHierarchy

Not yet classified 3 · We could not tell from the name and description.

  • blastRadius
  • getIndexStatus
  • goToDefinition

Network hosts it talks to 3

  • api.github.com · found in code
  • astral.sh · found in code
  • github.com · found in code

Files it touches

  • /opt/python/cp312-cp312/bin/python3
  • Your home directory (~)
  • Any path the agent passes to its tools

Tools (10)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • blastRadius

    2-hop bounded BFS over the package dependency graph: every other indexed repo whose package directly (1 hop) or transitively through one intermediary (2 hops) depends on `symbol_or_package` as registered for `repo` (built by `jarvis index`, e.g. `"npm:@scope/name"`). The graph has no per-node timestamp, so freshness is always reported as `unknown` here — an honest limitation, not a bug.

  • callHierarchy

    Use instead of grep to find what calls a function and what it calls. Single-level incoming/outgoing call hierarchy for `symbol` within `repo`. `symbol` may be a bare name (`Greeter`), a qualified name (`Greeter.greet`), or a full SCIP symbol string. SCIP-only: requires real SCIP occurrence/enclosing-range data and rejects an opaque `syntax:` identifier with a capability error — call edges are never derived from syntax.

  • documentSymbols

    List every symbol (with its range) defined in `path` within `repo`. Served by the file's SCIP outline when usable, otherwise by real Tree-sitter syntax declarations from the same snapshot — routing is automatic and per-file. A syntax-served response carries a `coverage` object describing that file's parse outcome.

  • findReferences

    Use instead of grep to find every usage of a symbol, without matches in comments, docs, or look-alike names. Every occurrence of `symbol` within `repo`, definition sites included. `symbol` may be a bare name (`Greeter`), a qualified name (`Greeter.greet`), or a full SCIP symbol string. SCIP-only: requires real SCIP occurrence data and rejects an opaque `syntax:` identifier with a capability error, even when other files have SCIP coverage — it never implements lexical references or treats a syntax name match as a reference.

  • getIndexStatus

    Call once before the first symbol query in a repo: shows whether it is indexed, how fresh it is, and which tools are available. Whether `repo` has a published index, and its freshness. Pass `repo_path` (the repo's local git working directory) to compare the published commit against `git rev-parse HEAD`; omitted, freshness is reported without a staleness comparison. `searchCoverage` reflects git HEAD at last index time, not the working tree — it does not account for uncommitted or untracked changes. While an index is being built, an `indexing` block reports its state: `starting`, `running`, `…

  • goToDefinition

    Use instead of grep to find where a symbol is defined. Resolve `symbol`'s definition location(s) within `repo`. `symbol` may be a bare name (`Greeter`), a qualified name (`Greeter.greet`), a full SCIP symbol string, or an opaque `syntax:` identifier returned by a prior call. A full SCIP identifier resolves only through SCIP; a `syntax:` identifier resolves only through its exact declaration; a bare/qualified name searches both SCIP definitions and syntax declarations from files without usable SCIP definition coverage.

  • indexRepo

    Build an index for the git repository at `path`, so the other tools have something to read. Takes a filesystem `path` rather than a `repo` slug -- deliberately the only tool that does. Slug derivation is one-way, so the server cannot turn a slug into a path for a repo it has never indexed; `path` is exactly what the caller knows and the registry lacks. The returned `repo` is the slug every other tool accepts. Returns immediately with `state: "starting"`; the index runs in a detached child. Poll `getIndexStatus` until it reports `indexed: true` or a terminal `indexing.state` (`failed-at-start…

  • searchCode

    Lexical code search via an embedded Zoekt index (lazy-started on first call). `repo`, if given, is applied as a Zoekt `r:` query filter scoping results to that one indexed repo; omitted, results span every indexed repo. Results answer over the last published index snapshot, not the working tree — `indexedAt` says when that was. Zoekt query syntax is live: `sym:`, `file:`, `lang:`, `case:` filters, `-term` negation, quoted phrases, and `(a or b)` grouping; `sym:` needs universal-ctags installed at index time. `truncated` is true when zoekt found more matches than the returned cap.

  • semanticSearch

    Natural-language code search over `repo`: embeds `query`, retrieves top vector matches from the repo's semantic index, and fuses them with Zoekt lexical hits and SCIP symbol-definition matches (when a SCIP index exists) via reciprocal rank fusion. `sources` on each result names which signal(s) contributed; a symbol-only hit carries `content=""` (SCIP stores no source text) with `symbolName` set to the definition's dotted path. Requires the repo to have been indexed with the `semantic` extra installed.

  • typeHierarchy

    Use instead of grep to find a type's supertypes and subtypes. Single-level super/subtypes for `symbol` within `repo`. `symbol` may be a bare name (`Greeter`), a qualified name (`Greeter.greet`), or a full SCIP symbol string. SCIP-only: requires real SCIP relationship data and rejects an opaque `syntax:` identifier with a capability error — type edges are never derived from syntax. Returns an explicit capability error when the index carries no relationship data — unpatched `scip expt-convert` (upstream through v0.9.0) does not populate `global_symbols.relationships`, so an empty result would …

Signals

Stars
4
Forks
0
Open issues
1
Weekly downloads
97
Last commit
Oct 19, 2026 (10 days ago)
Last release
Oct 19, 2026 (10 days ago)
Last package publish
Sep 12, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.phuongddx/jarvis
Version
0.10.0
Auth
No auth
Packages
pypi jarvis-mcp
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from phuongddx

Cite this page

Jarvis MCP server. Agent Mart. https://agentmart.dev/connectors/phuongddx-jarvis (last updated 2026-10-24)