AIコーディングエージェント向けに、シンボルナビゲーション、コール階層、レキシカル検索を含むローカルファーストのコードインテリジェンスを提供します。
別名 phuongddx/codeintel, codeintel-navigation-mcp
- スター
- 4
- ツール
- —
- ダウンロード数(30日間)
- 4
- 最新バージョン
- 0.4.0
- 最終コミット
- 2026年10月19日
- ライセンス
- MIT
jarvis MCPとは
jarvisはMCPサーバーです。 AIコーディングエージェント向けに、シンボルナビゲーション、コール階層、レキシカル検索を含むローカルファーストのコードインテリジェンスを提供します。.
プロジェクトのREADMEから生成された概要
jarvis MCP server について
codeintelは、AIコーディングエージェントがノイズの多い検索結果でコンテキストウィンドウを浪費することなく、大規模なコードベースをナビゲートできるように設計されたローカルファーストのインテリジェンスレイヤーを提供します。無関係なコメントやテストファイルを返してしまう標準的なgrepコマンドに頼るのではなく、このMCP serverは事前計算されたインデックスを使用して、正確なシンボルナビゲーションとレキシカル検索を実現します。macOSおよびLinux上でClaude CodeやCursorなどのMCPクライアントを使用する開発者向けに構築されています。
このシステムは、MCP serverが登録される前に、スタンドアロンのバイナリを介してローカルのインデックス作成プロセスを実行することで動作します。インデックス作成が完了すると、serverはfindReferences、goToDefinition、callHierarchy、searchCodeを含む10個の特化型ツールを提供します。この構成により、ソースコードとインデックスは完全にローカルマシン内に保持されます。Homebrew配布版はレキシカルおよびシンボル検索に焦点を当てていますが、ユーザーはソースからビルドすることで、埋め込みモデルを使用したセマンティック検索機能を有効にできます。
できること
- 1コード構造のナビゲートエージェントに対して、関数呼び出しのパスを追跡したり、特定のシンボルの定義を特定したりするように依頼します。
- 2正確なレキシカル検索の実行正規表現やテキストパターンを使用して、無関係なファイルによるノイズを排除しながら、特定のコードスニペットを見つけ出します。
プロジェクトの README から作成されています。すべてのユースケースは、その引用と照らし合わせて確認されています。
jarvis MCPのインストール方法
フォーマット検証日 2026年11月10日Cursor に追加Gooseに追加Claude Codeにjarvis MCPをインストール
$ claude mcp add codeintel -- uvx codeintel-navigation-mcpCursorにjarvis MCPをインストール
~/.cursor/mcp.json
{
"mcpServers": {
"codeintel": {
"command": "uvx",
"args": [
"codeintel-navigation-mcp"
]
}
}
}VS Codeにjarvis MCPをインストール
.vscode/mcp.json
{
"servers": {
"codeintel": {
"type": "stdio",
"command": "uvx",
"args": [
"codeintel-navigation-mcp"
]
}
}
}VS Code CLIにjarvis MCPをインストール
$ code --add-mcp '{"name":"codeintel","type":"stdio","command":"uvx","args":["codeintel-navigation-mcp"]}'Claude Desktopにjarvis MCPをインストール
claude_desktop_config.json
{
"mcpServers": {
"codeintel": {
"command": "uvx",
"args": [
"codeintel-navigation-mcp"
]
}
}
}Codexにjarvis MCPをインストール
$ codex mcp add codeintel -- uvx codeintel-navigation-mcpCodex config.tomlにjarvis MCPをインストール
~/.codex/config.toml
[mcp_servers.codeintel] command = "uvx" args = ["codeintel-navigation-mcp"]
Gemini CLIにjarvis MCPをインストール
$ gemini mcp add -s user codeintel uvx -- codeintel-navigation-mcpGemini settings.jsonにjarvis MCPをインストール
~/.gemini/settings.json
{
"mcpServers": {
"codeintel": {
"command": "uvx",
"args": [
"codeintel-navigation-mcp"
]
}
}
}自動チェック
実行日 2026年11月14日完全なレポート →自動チェックに合格しました。これはセキュリティ監査ではありません。コードを読み、サーバーに必要最小限のアクセス権を与えてください。 チェックの仕組み
- ソースリポジトリがリンクされており、アクセス可能phuongddx/codeintel is public and reachablegithub.com/phuongddx/codeintel ↗合格
- パッケージがこのリポジトリをソースとして指定未チェック
- ビルドの来歴 (Sigstore 証明)未チェック
- オープンソースライセンス (OSI)MITspdx.org/licenses/MIT.html ↗合格
- 過去1年以内にコミットまたはリリースありLast commit or release 2026-10-19github.com/phuongddx/codeintel ↗合格
- OpenSSF Scorecard未チェック
- パッケージ名が有名なパッケージに酷似していないNo popular package one edit away from codeintel-navigation-mcp合格
- パッケージおよびその依存関係に重大な勧告なしthe package checked; no critical advisoryosv.dev ↗合格
- モデルへの隠れた指示がない0 tool descriptions and the README read; no override phrases, credential paths or hidden characters合格
- 破壊的なツールがラベル付けされている未チェック
- リモートエンドポイントが MCP ハンドシェイクに応答未チェック
README
GitHubで見るjarvis
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 |
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.
{
"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.
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
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.
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.
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:
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(orjarvis watch) before querying.
Details
One indexing CLI writes precomputed indexes into ~/.jarvis; one stdio
runtime reads them down. The two share no other contract.
- Publishing is atomic — a reindex writes a new snapshot, then flips the
currentpointer viaos.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
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)
scip-javacan'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 match —
scip-kotlincis compiled against one pinned release (currently2.2.0). Detected automatically. - Maven-built Java repos need bash ≥ 4.4 on macOS —
brew install bashfixes it. - Swift indexing requires
scip >= v0.9.0— older converters silently drop occurrence ranges.jarvis indexrefuses an oldersciprather than publishing a broken index.
| 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
docs/project-overview-pdr.md— scope, value prop, out-of-scope itemsdocs/system-architecture.md— architectural guarantees, storage layout, query pathsdocs/codebase-summary.md— module map, test coveragedocs/code-standards.md— code patterns and conventionsdocs/dashboard.md— dashboard views, actions, security model
License
jarvis MCPのよくある質問
jarvis MCPをClaude Codeに追加するには
ターミナルでclaude mcp add codeintel -- uvx codeintel-navigation-mcpを実行します。すべてのプロジェクトで利用するには--scope userを追加します。
jarvis MCPをCursorに追加するには
~/.cursor/mcp.jsonを開き、上記のインストールセクションに示すCursor設定を使ってmcpServersの下にサーバーを追加します。
jarvisはコードを編集しますか?
いいえ、jarvisは検索コンポーネントに特化しており、コードの編集は一切行いません。
サポートされているOSは何ですか?
macOS (arm64/x86_64) および Linux (arm64/x86_64) をサポートしていますが、Windowsはサポートされていません。
Homebrew版でセマンティック検索は利用できますか?
いいえ、セマンティック検索はスタンドアロンのHomebrew配布版には含まれていません。ソースからビルドしてインストールする必要があります。
Claude Codeでの使い方は?
/plugin marketplace add jarvis-intelligence/jarvis-index を実行した後、/plugin install jarvis@jarvis コマンドを使用して追加できます。