DSH Plugins Marketplace

DSH Plugins

Plugins

/

jarvis

p

jarvis

Discovered4

JARVIS is an intelligent layer that gives agents access to their code, knowledge, context, memory, tools, and runtime — starting locally on your machine, with the ability to extend into the cloud.

jarvis

CI Platforms License: MIT MCP

Your coding agent should not spend its context window on grep.

When your agent asks "where is AuthService used?", grep returns comments, markdown, test fixtures, and similarly named symbols in one noisy pile. The agent burns context re-reading files to filter signal from noise — and still misses call sites.

jarvis precomputes a local code-intelligence layer so your agent calls findReferences for exact occurrences, goToDefinition for the defining range, callHierarchy for call paths, and searchCode for precise lexical search — ten MCP tools for Claude Code, Cursor, or any MCP client. Your code and indexes never leave your machine.

| | | |---|---| | Without jarvis | Grep → comments, tests, imports mixed with real hits → opens files to filter → guesses at call sites → burns context on search instead of reasoning | | With jarvis | findReferences("AuthService") → exact file-and-range occurrences → callHierarchy for the graph → searchCode("token refresh") → answers without opening every match |

grep returns noisy results vs jarvis findReferences returning 10 exact file:line:col occurrences

Quick start · MCP tools · Dashboard · Limits · Details · Docs

Quick start

1. Install the standalone binary:

brew install jarvis-intelligence/jarvis/jarvis

Linux users need Homebrew/Linuxbrew installed first. The formula supports macOS arm64/x86_64 and Linux arm64/x86_64, installs both jarvis and jarvis-server, and embeds Python 3.12, dashboard assets, tree-sitter libraries, watch, scip, zoekt-git-index, and zoekt-webserver. Homebrew supplies universal-ctags. No Python, uv, pip, or PyPI installation is required.

Upgrade with brew upgrade jarvis; recover a damaged installation with brew reinstall jarvis.

2. Index a repo (slug defaults to the directory name):

jarvis index /path/to/your/repo

3. Register the MCP server:

claude mcp add jarvis --scope user -- jarvis-server

Ask your agent "find all references to AuthService" — it calls findReferences instead of grepping.

Other MCP clients (Cursor, Claude Desktop, any stdio client)
{
  "mcpServers": {
    "jarvis": {
      "command": "jarvis-server"
    }
  }
}

If your client can't find jarvis-server on PATH (GUI apps often don't inherit your shell's), use the absolute path from which jarvis-server.

Claude Code plugin (registers MCP + ships agent skills)

Install the Homebrew binary first. The plugin adds jarvis skills and can register the already-installed jarvis-server.

/plugin marketplace add jarvis-intelligence/jarvis-index
/plugin install jarvis@jarvis
Optional language indexers

The standalone package includes the SCIP converter and both Zoekt binaries. The Homebrew formula does not install setup.sh; from a jarvis source checkout, install the optional per-language indexer for your repo:

| Language | Installer | Toolchain | |---|---|---| | TypeScript/TSX | sh setup.sh --only scip-typescript | Node.js/npm | | Python | sh setup.sh --only scip-python | Node.js/npm | | Java/Kotlin | sh setup.sh --only scip-java | JDK; Kotlin repos require Kotlin 2.2.0 exactly | | Swift | sh setup.sh --only scip-swift | Xcode on macOS arm64 |

For Maven-built Java repositories on macOS, also install a modern Bash with brew install bash, then run sh setup.sh --only bash-shim from that same source checkout. Reindex after adding an indexer. Without the matching indexer, documentSymbols and goToDefinition still work via Tree-sitter where coverage exists; findReferences, callHierarchy, and typeHierarchy return recovery guidance.

Not included

semanticSearch is registered for MCP compatibility but is excluded from the standalone distribution. It returns a Homebrew-specific unavailability error that points to the source-build steps below; lexical search and symbol search remain available.

Source-build semantic search

The standalone Homebrew package excludes semantic dependencies. In a source checkout, install them with:

uv run jarvis install-semantic

Then index explicitly:

uv run jarvis index /path/to/repo --semantic

install-semantic also pre-downloads the embedding model (BAAI/bge-m3, ~4.3 GB, one time) into the shared Hugging Face cache (~/.cache/huggingface/); every indexed repo reuses it. If the download is interrupted, the next jarvis index retries it automatically.

MCP tools

| Tool | What it does | |------|-------------| | goToDefinition | Resolve a symbol to its defining file and range | | findReferences | Every occurrence of a symbol across the indexed repo | | callHierarchy | Incoming/outgoing calls for a symbol | | typeHierarchy | Supertypes/subtypes | | documentSymbols | Outline of every symbol defined in one file | | searchCode | Zoekt lexical/regex search, optionally filtered to one repo | | semanticSearch | Returns the Homebrew distribution's semantic-unavailability error | | blastRadius | Which other indexed repos depend on a package, up to 2 hops | | getIndexStatus | Published commit, freshness, staleness vs. working tree | | indexRepo | Build an index for a git repo at path |

Dashboard

jarvis dashboard          # serves http://127.0.0.1:6080 and opens a browser

A localhost web console over the same ~/.jarvis data the CLI and MCP server read:

Repositories view   Tool playground

Requirements and limits

  • macOS arm64/x86_64 and Linux arm64/x86_64 only. Windows is not supported.
  • Semantic search is unavailable in the Homebrew distribution.
  • One language per repo — detected by extension plurality across git-tracked files; override with --language.
  • jarvis never edits code. It is the retrieval half — Serena complements it for renames/refactors.
  • Indexing is explicit — run jarvis index (or jarvis watch) before querying.

Details

How it works

One indexing CLI writes precomputed indexes into ~/.jarvis; one stdio runtime reads them down. The two share no other contract.

jarvis architecture

  • Publishing is atomic — a reindex writes a new snapshot, then flips the current pointer via os.replace. A query reading the old snapshot keeps working; no downtime window.
  • The runtime path never writes — every query opens the published snapshot read-only (mode=ro&immutable=1).
  • The package graph is rebuilt, not accumulated — each reindex clears that repo's outgoing edges before recomputing.

Full detail: docs/system-architecture.md

Indexing CLI reference
jarvis index /path/to/your/repo            # slug defaults to the directory name
jarvis index /path/to/your/repo --slug foo # or pick one explicitly
jarvis index /path/to/your/repo --scheme MyScheme # Swift repo with an ambiguous Xcode scheme
jarvis index /path/to/your/repo --language python # force the language instead of detecting it
jarvis index /path/to/your/repo --no-scip   # skip optional SCIP enrichment; syntax baseline + Zoekt still publish
jarvis index /path/to/your/repo --scip      # re-enable SCIP enrichment (both flags persist per repo)
jarvis list
jarvis status foo
jarvis reindex foo
jarvis forget foo
jarvis watch /path/to/your/repo [--debounce 5.0]  # debounced auto-reindex on file changes (foreground)
Known upstream limitations
  • scip-java can't index Android/Gradle repos — its Gradle plugin keys off standard source sets that AGP replaces (scip-java#177). Detected automatically; degrades to search-only.
  • Kotlin indexing requires an exact Kotlin version matchscip-kotlinc is compiled against one pinned release (currently 2.2.0). Detected automatically.
  • Maven-built Java repos need bash ≥ 4.4 on macOSbrew install bash fixes it.
  • Swift indexing requires scip >= v0.9.0 — older converters silently drop occurrence ranges. jarvis index refuses an older scip rather than publishing a broken index.
Configuration

| Variable | Purpose | |----------|---------| | JARVIS_DATA_DIR | Override default ~/.jarvis for all indexes and registry |

The source-development semantic path has additional model-prefix overrides; they have no effect in the standalone distribution.

Documentation

License

MIT

Comments

Loading…

Similar plugins

sprites-deepseek-plugin

by superfly

DeepSeek Harness plugin for Fly.io Sprites: computers for agents. Sprites MCP tools and packaged workflow guidance for remote builds, tests, and long-running services.

Security & AuditTools & CapabilitiesManifest valid

6

MIT

Python

Sep 2, 2026

dsh plugin --profile web add dsh-sprites-plugin

by zilliztech

A persistent, unified memory layer for all your AI agents (e.g. Claude Code, Codex, DSH), backed by Markdown and Milvus.

Memory & ContextManifest valid

2.6k

306/wk

MIT

Python

Sep 18, 2026

dsh plugin --profile web add @zilliz/memsearch-dsh

by JohnXu22786

Code knowledge graph plugin for agent harnesses (dsh): indexes symbols, call sites and imports into SQLite, answers call/dependency questions via CLI or stdio MCP tool server

Tools & CapabilitiesDevelopment & InfrastructureManifest valid

4

99/wk

MIT

Python

Sep 14, 2026

dsh plugin --profile web add dsh-codegraph

by vshulcz

One memory shared by Claude Code, Codex, Cursor, Copilot CLI, OpenClaw and 20 more coding agents, built from the session history already on disk. A fix found in one agent comes back in any of them, in

Terminal & ClientsMemory & ContextManifest valid

829

507/wk

MIT

Go

Sep 18, 2026

dsh plugin --profile web add dsh-deja

by labring

AI agent skills for Sealos — deploy any project, provision databases, object storage & more with one command. Works with Claude Code, Gemini CLI, Codex.

Tools & CapabilitiesManifest valid

80

Python

Aug 14, 2026

dsh plugin --profile web add sealos

by Roarpeng

Local-first code knowledge graph and context harness for coding agents. MCP + DeepSeek Harness (dsh) plugin.

Tools & CapabilitiesMemory & ContextManifest valid

11

2.8k/wk

Apache-2.0

TypeScript

Sep 16, 2026

dsh plugin --profile web add @roarpeng/graphflow