심볼 탐색, 호출 계층 구조, 어휘 검색을 포함한 로컬 우선 코드 인텔리전스를 AI 코딩 에이전트에 제공합니다.
다른 이름 phuongddx/codeintel, codeintel-navigation-mcp
- 스타
- 4
- Tools
- —
- 다운로드, 30일
- 4
- 최신 버전
- 0.4.0
- 마지막 커밋
- 2026년 10월 19일
- 라이선스
- MIT
jarvis MCP란?
jarvis은(는) MCP server입니다. 심볼 탐색, 호출 계층 구조, 어휘 검색을 포함한 로컬 우선 코드 인텔리전스를 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를 열고 mcpServers 아래에 서버를 추가합니다. 위 설치 섹션에 표시된 Cursor 구성을 사용합니다.
jarvis가 제 코드를 수정하나요?
아니요, jarvis는 엄격하게 검색 컴포넌트 역할만 수행하며 코드를 수정하지 않습니다.
지원되는 운영 체제는 무엇인가요?
이 MCP server는 macOS (arm64/x86_64) 및 Linux (arm64/x86_64)를 지원하지만, Windows는 지원하지 않습니다.
Homebrew 버전에서도 시맨틱 검색을 사용할 수 있나요?
아니요, 시맨틱 검색은 단독 Homebrew 배포판에서 제외되어 있으므로 소스 빌드 단계를 통해 설치해야 합니다.
Claude Code에서 어떻게 사용하나요?
/plugin marketplace add jarvis-intelligence/jarvis-index 명령어를 입력한 후 /plugin install jarvis@jarvis를 실행하여 추가할 수 있습니다.