AVAILABLE NOWv1.0 for VS Code

Code intelligence.
Offline. In your editor.

CIPHER-Local is a VS Code extension that indexes your workspace with Tree-sitter, stores symbols in SQLite, and exposes 7 MCP tools — all running locally. No cloud. No network. Your code never leaves your machine.

Fully offline13 languages7 MCP toolsSQLite-poweredIncremental re-index
ext install cipher.cipher-local

[02] INDEXING

Open a folder. Indexing starts.

CIPHER-Local activates the moment you open a workspace. Tree-sitter parses every source file, extracts symbols, and populates a local SQLite database. On subsequent saves, only changed files are re-indexed.

OUTPUT: CIPHER Local
_
Tree-sitter WASM grammars
13 language grammars bundled as WASM — no native binary compilation required. Works on Windows, macOS, and Linux.
Incremental re-index
On file save, only the changed file is re-parsed. Full workspace re-index happens once on activation.
Rich extraction
Extracts symbols (functions, classes, methods, variables), call references, type signatures, docstrings, and package dependencies.

[03] ARCHITECTURE

Six modules. One extension.

CIPHER-Local mirrors the cloud platform's modular architecture, compressed into a single VS Code extension. Each layer has a clear responsibility.

L01 — VS Code Lifecycle
Activation, status bar, file watcher
L02 — Tree-sitter Indexer
13 language grammars, incremental re-index on save
L03 — SQLite Store
Symbols, chunks, references, dependencies, FTS5
L04 — Query Engine
Hybrid retrieval: pattern match + BM25 full-text search
L05 — MCP Server
HTTP+SSE transport, 7 tools, MCP SDK compatible
L06 — Embedding (optional)
ONNX runtime for vector search (Phase 4, coming soon)
DATA FLOW
1. L01 detects workspace open / file save
2. L02 parses changed files with Tree-sitter
3. L02 extracts symbols, refs, chunks, deps
4. L03 writes everything to SQLite (FTS5 index)
5. L04 receives queries from L05 MCP server
6. L04 runs hybrid retrieval (pattern + BM25)
7. L05 returns JSON results over HTTP+SSE

[04] MCP TOOLS

7 tools. One protocol.

CIPHER-Local exposes its query engine via the Model Context Protocol. Any MCP-compatible AI assistant — GitHub Copilot, Claude, Cursor — can call these tools directly.

list_namespaces

List all indexed workspace namespaces. Use this to discover what repos and branches have been indexed.

params: None
search_symbols

Find functions, classes, methods, and variables by name pattern. Supports wildcard matching and kind filtering.

params: namespace, pattern, kind?, limit?
resolve_symbol

Get full details of a specific symbol by its fully-qualified name — docstring, type signature, line number, reference count.

params: namespace, fqn, file_hint?
find_references

Find every call site and usage of a symbol across the entire workspace. Returns file, line, and code snippet.

params: namespace, fqn
semantic_search

Natural language search over code chunks. Uses FTS5 BM25 scoring (vector ANN with ONNX coming in Phase 4).

params: namespace, query, limit?
get_dependencies

List package dependencies extracted from manifest files (package.json, Cargo.toml, go.mod, etc.).

params: namespace, ecosystem?
get_file_context

Get all code chunks and symbols for a specific file. Useful for understanding file structure before making changes.

params: namespace, file_path
LIVE SIMULATION — CLICK TABS TO EXPLORE
REQUEST
{ "namespace": "my-app:main:HEAD", "pattern": "refreshToken", "kind": "function" }
RESPONSE
{
  "symbols": [
    { "fqn": "auth.service.refreshToken", "kind": "function",
      "file_path": "src/auth/token.service.ts", "line": 38,
      "type_sig": "(userId: string) => Promise<TokenPair>" },
    { "fqn": "auth.controller.handleRefresh", "kind": "function",
      "file_path": "src/controllers/auth.controller.ts", "line": 92,
      "type_sig": "(req: Request, res: Response) => void" }
  ],
  "count": 2
}

[05] LANGUAGES

13 languages. WASM grammars.

Tree-sitter grammars are bundled as WASM binaries — no native compilation, no platform-specific builds. Works identically on Windows, macOS, and Linux.

TypeScriptTIER 1
JavaScriptTIER 1
PythonTIER 1
RustTIER 1
GoTIER 1
JavaTIER 1
C#TIER 2
KotlinTIER 2
SwiftTIER 2
PHPTIER 2
RubyTIER 2
CTIER 2
C++TIER 2

[06] INSTALLATION

Four steps. Under a minute.

01

Install the extension

Search "CIPHER-Local" in the VS Code Extensions panel, or run the CLI command below.

code --install-extension cipher.cipher-local
02

Open a workspace

Open any folder or repo in VS Code. CIPHER-Local activates automatically and starts indexing.

03

Wait for indexing

Watch the status bar — it shows "ECIP: Indexing..." then switches to "ECIP: Ready" when done. A 50k-line repo takes under 30 seconds.

04

Use with any MCP client

The MCP server starts automatically. Works with GitHub Copilot Chat, Claude, Cursor, and any MCP-compatible tool.

[07] UPGRADE PATH

Local today. Cloud when ready.

CIPHER-Local uses the same namespace architecture as CIPHER Cloud. When your team is ready for cross-repo queries, org-wide RBAC, and SSE streaming — upgrade without migration. Your local index stays as a fast fallback.

LOCAL-ONLYYOU ARE HERE
Single workspace
SQLite store
7 MCP tools
BM25 search
No account needed
CLOUD
Cross-repo queries
pgvector embeddings
SSE streaming
Org RBAC
GitHub App sync

Try it now.
No sign-up required.

Install the extension, open a folder, and start querying your code in under a minute.

Install from MarketplaceBack to CIPHER

Free & open source · Works offline · No telemetry