Deadzone
What it does
Local-first MCP server: semantic search over library docs. No cloud, no API key, no telemetry.
- Connects 내 컴퓨터에서 실행
- Account or key No key needed
- Category 검색 및 AI 기억
설치
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
검사 1/2 통과 · 내 컴퓨터에서 실행돼요
먼저: 어떤 AI를 쓰시나요?
쓰는 앱을 고르면 아래에 단계가 나옵니다.
Claude에 연결할 수 있지만 먼저 준비가 필요해요
먼저 컴퓨터에 Docker를 설치하세요 (한 번만) · 컴퓨터용 Claude 앱(Windows 또는 Mac)에서만 되고 웹이나 모바일은 안 돼요
컴퓨터용 Claude 앱 설정 파일 열기
SettingsDeveloperEdit Config
이 설정을 붙여 넣고 저장
{ "mcpServers": { "deadzone": { "command": "docker", "args": [ "run", "-i", "--rm", "ghcr.io/laradji/deadzone:v0.7.4", "server" ] } } }Claude를 끄고 다시 열기
해 보기
Deadzone을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Claude가 Deadzone을 쓰고 있다고 하거나 답에 Deadzone 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
ChatGPT는 아직 Deadzone에 연결할 수 없어요
Deadzone는 내 컴퓨터에 설치해서 쓰지만 ChatGPT는 웹에서 도는 서버만 연결할 수 있어요
대신 이렇게 할 수 있어요
A · Deadzone에 연결되는 앱 쓰기
- 먼저 컴퓨터에 Docker를 설치하세요 (한 번만) · 컴퓨터용 Claude 앱(Windows 또는 Mac)에서만 되고 웹이나 모바일은 안 돼요
- 먼저 컴퓨터에 Docker를 설치하세요 (한 번만)
- 먼저 컴퓨터에 Docker를 설치하세요 (한 번만)
- 먼저 컴퓨터에 Docker를 설치하세요 (한 번만)
B · 검색 및 AI 기억에서 ChatGPT에 연결되는 다른 서버
같은 분류에서 많이 쓰는 것 중 키 없이 주소만으로 연결되는 것을 골랐어요
- Context7✓ ChatGPT
- AIHOT✓ ChatGPT
- Sui Knowledge Base (kapa.ai)✓ ChatGPT
Claude Code에 연결할 수 있지만 먼저 준비가 필요해요
먼저 컴퓨터에 Docker를 설치하세요 (한 번만)
터미널 열기
Mac: Command+스페이스를 누르고 Terminal 입력 · Windows: PowerShell 열기
이 명령을 붙여 넣고 Enter
claude mcp add --scope user deadzone -- docker run -i --rm ghcr.io/laradji/deadzone:v0.7.4 serverClaude Code에서 /mcp 입력
Deadzone이 목록에 있고 연결됨으로 보이면 돼요
해 보기
Deadzone을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Claude Code가 Deadzone을 쓰고 있다고 하거나 답에 Deadzone 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
Cursor에 연결할 수 있지만 먼저 준비가 필요해요
먼저 컴퓨터에 Docker를 설치하세요 (한 번만)
Cursor에서 AI 채팅을 Agent 모드로 열기
해 보기
Deadzone을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Cursor가 Deadzone을 쓰고 있다고 하거나 답에 Deadzone 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Cursor 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
VS Code에 연결할 수 있지만 먼저 준비가 필요해요
먼저 컴퓨터에 Docker를 설치하세요 (한 번만)
VS Code에서 AI 채팅을 Agent 모드로 열기
해 보기
Deadzone을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ VS Code가 Deadzone을 쓰고 있다고 하거나 답에 Deadzone 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 VS Code 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
Windsurf, Zed, Gemini CLI 같은 다른 MCP 앱은 추가 방법이 저마다 달라요. 앱 목록에서 확인하세요
JSON 설정은 아래 “개발자용”에 있어요
개발자용: 터미널 명령과 JSON 설정
컴퓨터에 설치
Claude Code
claude mcp add --scope user deadzone -- docker run -i --rm ghcr.io/laradji/deadzone:v0.7.4 serverClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"deadzone": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/laradji/deadzone:v0.7.4",
"server"
]
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"deadzone": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/laradji/deadzone:v0.7.4",
"server"
]
}
}
}VS Code (mcp.json)
{
"servers": {
"deadzone": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/laradji/deadzone:v0.7.4",
"server"
]
}
}
}이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
한눈에 보기
- 주간 다운로드i
- npm/PyPI에 없음
- 연결 방식
- 내 컴퓨터에서 실행
- 최신 버전i
- 0.7.4
- 카테고리i
- 검색 및 AI 기억
- 레지스트리 공개i
- 2026년 5월 8일
- 코드 마지막 변경i
- 2026년 5월 8일
- 제작자
- laradji
- 패키지
oci: ghcr.io/laradji/deadzone:v0.7.4- 웹사이트
- github.com
- 레지스트리 상태
- 활성
어떤 앱에서 쓸 수 있나요
이 서버의 연결 방식과 각 앱의 공식 문서를 바탕으로 했어요. 2026년 11월 10일 확인.
내 컴퓨터에서 실행하는 앱
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
할 수 있는 일
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
기본 점검i
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 12일 점검
- ✓ 통과
제작자와 저장소 일치
레지스트리 이름이 GitHub 계정 laradji 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
- ! 주의
계속 관리되고 있음
코드 마지막 변경: 6개월 전, 6개월 넘게 지났어요
- … 아직 점검 안 함
라이선스 있음
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
- – 해당 없음
엔드포인트 응답
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
- – 해당 없음
OAuth로 로그인
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
- … 아직 점검 안 함
도구 설명에 숨겨진 지시 없음
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
토론
질문하고, 팁을 나누고, 안 되는 점을 알려 주세요. "도움이 됨"이 많은 순서예요.
사용자 리뷰
아직 리뷰가 없어요
검색 및 AI 기억 카테고리의 다른 서버와 비교i
- 이 카테고리의 다른 서버 5974개 중 87%보다 스타가 많아요
- 이 카테고리의 다른 서버 5974개 중 11%보다 최근에 레지스트리에 공개됐어요
- 기본 점검 결과가 이 카테고리의 다른 서버 5974개 중 11%와 같거나 더 좋아요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
자주 묻는 질문
Deadzone, 안전한가요?
해당하는 기본 점검 2개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
어떤 키나 코드가 필요한가요?
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
내 컴퓨터에서 실행되나요, 클라우드에서 실행되나요?
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
아직 관리되고 있나요?
GitHub 저장소는 마지막으로 6개월 전 변경됐고, 최신 버전(0.7.4)은 6개월 전 레지스트리에 올라왔어요.
어떤 앱에서 쓸 수 있나요?
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Docker도 있어야 해요.
대신 쓸 수 있는 건 뭐가 있나요?
같은 카테고리에는: Context7, Codebase Memory, Ruflo
같은 카테고리의 다른 것
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Codebase Memory
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
제작자의 README
README 열기
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
_ _
| | _ __ _ | |_____ _ _ / _ |/ _ \/ _ |/ _` |_ / _ \| '_ \ / _ \ | (_| | __/ (_| | (_| |/ / (_) | | | | / \,_|\_|\,_|\__,_/_\_/|_| |_|\___|
semantic doc search. local file. no cloud. no key.
you ask in english. it answers in snippets.
Status. Vector search wired end-to-end. MCP over stdio. One binary, Linux + macOS, zero telemetry. See releases for the latest tag and the roadmap for in-flight work.
The scraper is still the messy half — #64 is honest about it.
The pitch, in one paragraph
Your AI client says "how do I register a tool?". The doc says AddTool. A grep-based index shrugs; a vector index doesn't. Deadzone is the vector index — nomic-embed-text-v1.5 over Turso's native cosine distance, wrapped in a Go binary that speaks MCP over stdio and keeps every byte on your laptop. It is, roughly, Context7 with the internet turned off.
Rules of the deadzone
- One binary.
deadzone. Subcommands for everything. Nopip install, nonpm i, nodocker compose up. - The index never leaves. Local Turso file. No account. No API key. No egress on the hot path.
- Natural language first. Embeddings over cosine.
FTS5is not invited. - The binary is the version. The DB is pinned to the binary. Upgrade the binary, the DB follows; don't, and it won't.
- Fail loudly or not at all.
DEADZONE_DB_OFFLINE=1refuses to guess. Verification failures in the scraper drop the doc, not the run.
Install (pick one; they all converge on the same binary)
# macOS Apple Silicon — the one-liner
brew install laradji/deadzone/deadzone
Linux — resolve the latest tag once, then pick a flavor
VERSION=$(curl -fsSL https://api.github.com/repos/laradji/deadzone/releases/latest | grep '"tag_name"' | cut -d'"' -f4) ARCH=amd64 # or arm64
self-mounting AppImage
curl -L -O "https://github.com/laradji/deadzone/releases/download/${VERSION}/deadzone_${VERSION}_linux_${ARCH}.AppImage" chmod +x "deadzone_${VERSION}_linux_${ARCH}.AppImage" mv "deadzone_${VERSION}_linux_${ARCH}.AppImage" deadzone
or plain tarball (no FUSE needed)
curl -L "https://github.com/laradji/deadzone/releases/download/${VERSION}/deadzone_${VERSION}_linux_${ARCH}.tar.gz" \ | tar xz --strip-components=1
Both flavors land a deadzone executable in your current directory, so the ./deadzone server snippet below works as-is.
# Container — multi-arch (linux/amd64 + linux/arm64), ships with the DB baked, runs offline by default
docker pull ghcr.io/laradji/deadzone:latest docker run --rm -i ghcr.io/laradji/deadzone:latest server
The image bakes the binary, libonnxruntime, deadzone.db, and the nomic-embed-text-v1.5 ONNX weights (~230 MB total), and runs as a non-root user out of distroless (no shell, no package manager). DEADZONE_DB_OFFLINE=1 is set in the image so first launch is instant — no download, no volume mount, no --network access required. To refresh the index, pull a newer tag.
Windows is blocked upstream — no libtokenizers.a. Use WSL.
Verify checksums (optional but cheap):
curl -L -O "https://github.com/laradji/deadzone/releases/download/${VERSION}/deadzone_${VERSION}_checksums.txt"
sha256sum --ignore-missing -c "deadzone_${VERSION}_checksums.txt" # Linux shasum -a 256 --ignore-missing -c "deadzone_${VERSION}_checksums.txt" # macOS
AppImage needs FUSE v2. Most desktops ship it; minimal servers don't. If you get dlopen(): libfuse.so.2, either apt-get install libfuse2 (or dnf install fuse-libs) or pass --appimage-extract-and-run to bypass FUSE entirely.
Run
./deadzone server
That's the quick-start. On first launch it fetches deadzone.db matched to this binary's version, SHA256-verifies, caches it under the platform data dir, and serves. Second launch onwards: zero network. Upgrade the binary and the DB re-fetches on next launch; don't, and the cache is served forever.
MCP client wire-up — native binary (Brew tap, tarball, or AppImage):
{
"mcpServers": { "deadzone": { "type": "stdio", "command": "/path/to/deadzone", "args": ["server"] } } }
MCP client wire-up — container (multi-arch on ghcr.io). The image ships with deadzone.db baked, so no volume mount is needed and every container start is offline-instant:
{
"mcpServers": { "deadzone": { "type": "stdio", "command": "docker", "args": ["run", "--rm", "-i", "ghcr.io/laradji/deadzone:latest", "server"] } } }
Then, from the client:
search_libraries("terraform aws") → ranked (lib_id, version) pairs
search_docs("creating an s3 bucket", lib_id=...) → snippets, token-budgeted
The two tools
┌─────────────────────────────────────────────────────────────────────┐
│ search_libraries(name, limit?) → []LibraryHit │ │ ───────────────────────────────────────────── │ │ free text ──► vector match against the libs table │ │ ──► [{lib_id, version, doc_count, match_score}] │ ├─────────────────────────────────────────────────────────────────────┤ │ search_docs(query, lib_id?, version?, tokens?) → []Snippet │ │ ────────────────────────────────────────────────── │ │ natural ──► 768-dim embed ──► cosine over docs │ │ language ──► token-budgeted snippets back │ └─────────────────────────────────────────────────────────────────────┘
| Arg | Shape | Notes |
|---|---|---|
query | string | Matched semantically. Don't write keywords; write what you want. |
lib_id | /org/project | Optional filter. Grab one from search_libraries. |
version | "1.14" or similar | Optional pin; requires lib_id. version alone is rejected. |
tokens | int | Response budget. Default 5000, min 1000, ≈ 4 chars/token. |
limit | int | On search_libraries — max results. Default 10, max 50. |
name | string | Free text on search_libraries. Empty returns the most-indexed libs. |
Under the hood
deadzone server
│ ▼ ┌──────────────┐ stdio JSON-RPC ┌───────────────┐ │ MCP client │ ─────────────────────► │ handler │ └──────────────┘ └──────┬────────┘ │ ┌──────────────────┴──────────────────┐ ▼ ▼ ┌────────────────┐ ┌──────────────────┐ │ embedder │ │ Turso (local) │ │ hugot + ORT │ │ F32_BLOB(768) │ │ nomic v1.5 │ │ vector_distance │ └────────┬───────┘ └──────────────────┘ │ 768-dim ▲ └────────────── query vector ────────┘
| Layer | Choice |
|---|---|
| Language | Go 1.26.2, pinned via mise |
| Storage | Turso local file — native F32_BLOB(N) + vector_distance_cos |
| Driver | tursogo — CGO-free via purego |
| Embedder | hugot → nomic-ai/nomic-embed-text-v1.5, 768-dim, 8192-token ctx (int8 quantized) |
| Runtime | ONNX Runtime — binary CGO-linked at build time; libonnxruntime auto-fetched + SHA256-verified on first launch |
| Protocol | modelcontextprotocol/go-sdk over stdio |
The binary itself is CGO-linked (hugot ORT backend + static libtokenizers.a). At runtime the only native surface is libonnxruntime, loaded via dlopen after a SHA256-verified auto-download. Everything else — Go stdlib, tursogo, the model weights — is either statically linked or fetched on first launch against a pinned hash. No system installs. No sudo. If a download drifts from its pinned hash, the run aborts; there is no fallback to an unverified fetch.
Escape hatches for air-gapped boxes:
| Env var | Effect |
|---|---|
DEADZONE_ORT_LIB_PATH | Hand-positioned libonnxruntime path. Skips the download. |
DEADZONE_ORT_CACHE | Override the ORT library cache dir. |
DEADZONE_HUGOT_CACHE | Override the model-weights cache dir. |
DEADZONE_DB_CACHE | Override the deadzone.db cache dir. |
DEADZONE_DB_OFFLINE=1 | Refuse any network call. Fails loudly if nothing is cached. Set by default in the container image (which ships deadzone.db baked). |
DEADZONE_DB_AUTOUPDATE=0 | Disable the boot-time DB freshness probe (the probe runs by default; fetch-db always probes regardless of this flag). |
Default cache paths per platform:
| Platform | deadzone.db lives at |
|---|---|
| macOS | ~/Library/Application Support/deadzone/deadzone.db |
| Linux | $XDG_DATA_HOME/deadzone/deadzone.db (else ~/.local/share/...) |
| Windows | %LOCALAPPDATA%\deadzone\deadzone.db |
A sibling deadzone.db.release JSON manifest records {tag, sha256, fetched_at}. Startup compares the cached tag against the binary's compiled-in version: match → fire a 3-second freshness probe against deadzone.db.sha256 on the matching GitHub Release, atomic-swap if the remote sha differs (soft-fail to the cache on any network error); differs → fetch the new tag's release and atomic-swap; dev build → fall back to /releases/latest with a server.db_version_dev_fallback WARN. Pre-#197 binaries wrote a single-line tag-only sidecar; the JSON reader still accepts that format and rewrites it to v1 on first probe.
Add a library
Contributor path. End users don't touch this — they just get what ships in deadzone.db.
Not editing YAML yourself? Open an issue via the New issue page and pick Add a library or Refresh a library. The template collects exactly what a registry entry needs.
Editing YAML yourself? Append to libraries_sources.yaml:
libraries:
Single-version lib — no versions key, urls used as-is.
- lib_id: /modelcontextprotocol/go-sdk kind: github-md urls:
- https://raw.githubusercontent.com/modelcontextprotocol/go-sdk/main/README.md