Give your AI assistant ground-truth knowledge of your entire codebase. Synapse builds a local code graph and serves it over MCP — no file-pasting, no hallucinated symbols, no repeated context.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
tools
-
call_hierarchy
Full BFS traversal — incoming or outgoing, configurable depth
-
code_metrics
Per-file complexity — identify hotspots without manual review
-
detect_cycles
Find circular imports before they cause runtime bugs (Tarjan's SCC)
-
explore_symbol
Definition + source + callers + callees — everything in one call
-
find_dead_code
Remove dead code confidently — no guessing
-
find_imports
Who imports "react-query" or "./utils/cart"?
-
find_references
Who calls / imports / extends X?
-
find_symbol
Where is X defined? File, line, signature
-
get_definition
Canonical definition of X
-
get_source
Read only the line range that matters — not the whole file
-
get_stats
Aggregate counts in ~50 tokens instead of reading the whole DB
-
git_blame
Who wrote this line and in what commit?
-
git_log
Why was this function changed? Who touched it last?
-
grep_code
Regex/fixed-string search — ripgrep → FTS5 → disk, auto-fallback
-
hybrid_search
Exact → FTS5 trigram → fuzzy → semantic — Reciprocal Rank Fusion
-
index_status
Health check, drift detection, git HEAD — instant summary
-
list_symbols_in_file
Everything defined in src/cart.ts
-
outgoing_calls
What does X depend on?
-
read_offloaded
Auto-retrieve large payloads offloaded beyond the 8 KB threshold
-
reindex_file
Update one file's graph atomically — no full re-index needed
-
scan_security
OWASP Top 10, secrets, language-specific rules via semgrep
-
search_symbols
Which symbols match auth*? Wildcard + kind/language/glob filters + "did you mean?" hints
-
semantic_search
"function that validates email" — finds by meaning, not name
-
structural_search
AST-pattern: console.log($ARGS) matches any formatting
-
top_symbols
What are the architectural hubs? (fan-in + fan-out ranking)
-
verify_symbol
Is this AI-generated reference actually valid? 0–1 confidence score
filesystem 26
- fs amitsingh2003-Synapse-9113de3/packages/cli/src/commands/compact.ts :2
import { statSync } from 'node:fs'; - fs amitsingh2003-Synapse-9113de3/packages/cli/src/commands/doctor.ts :1
import { existsSync, statSync } from 'node:fs'; - fs amitsingh2003-Synapse-9113de3/packages/cli/src/commands/embed.ts :12
import { existsSync } from 'node:fs'; - fs amitsingh2003-Synapse-9113de3/packages/cli/src/commands/importScip.ts :7
import { readFileSync } from 'node:fs'; - fs amitsingh2003-Synapse-9113de3/packages/cli/src/commands/init.ts :2
import { existsSync, statSync } from 'node:fs'; - fs amitsingh2003-Synapse-9113de3/packages/cli/src/commands/query.ts :1
import { existsSync } from 'node:fs'; - fs amitsingh2003-Synapse-9113de3/packages/cli/src/commands/refs.ts :1
import { existsSync } from 'node:fs'; - fs amitsingh2003-Synapse-9113de3/packages/cli/src/commands/stats.ts :1
import { existsSync } from 'node:fs'; - fs amitsingh2003-Synapse-9113de3/packages/cli/src/config.ts :1
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs'; - fs amitsingh2003-Synapse-9113de3/packages/cli/src/index.ts :1
import { readFileSync, realpathSync } from 'node:fs'; - fs amitsingh2003-Synapse-9113de3/packages/core/src/db/open.ts :2
import { mkdirSync } from 'node:fs'; - fs amitsingh2003-Synapse-9113de3/packages/core/src/diff/apiDiff.ts :10
import { mkdtempSync, rmSync, writeFileSync, readFileSync, mkdirSync } from 'node:fs'; - fs amitsingh2003-Synapse-9113de3/packages/core/src/indexer/autoSync.ts :45
import { statSync } from 'node:fs'; - fs amitsingh2003-Synapse-9113de3/packages/core/src/indexer/discover.ts :1
import { readFile, stat } from 'node:fs/promises'; - fs amitsingh2003-Synapse-9113de3/packages/core/src/indexer/ignoreStack.ts :16
import { readFileSync, existsSync } from 'node:fs'; - fs amitsingh2003-Synapse-9113de3/packages/core/src/indexer/indexFile.ts :1
import { readFile, stat } from 'node:fs/promises'; - fs amitsingh2003-Synapse-9113de3/packages/core/src/indexer/indexRepo.ts :1
import { readFile } from 'node:fs/promises'; - fs amitsingh2003-Synapse-9113de3/packages/core/src/indexer/lock.ts :14
import { existsSync, openSync, writeSync, closeSync, readFileSync, writeFileSync, unlinkSync, mkdirSync } from 'node:fs'; - fs amitsingh2003-Synapse-9113de3/packages/core/src/indexer/watcher.ts :1
import { stat } from 'node:fs/promises'; - fs amitsingh2003-Synapse-9113de3/packages/core/src/languages/go.ts :2
import { readFileSync } from 'node:fs'; - fs amitsingh2003-Synapse-9113de3/packages/core/src/languages/python.ts :2
import { existsSync, statSync } from 'node:fs'; - fs amitsingh2003-Synapse-9113de3/packages/core/src/languages/tsProject.ts :1
import { existsSync, readFileSync, readdirSync, statSync } from 'node:fs'; - fs amitsingh2003-Synapse-9113de3/packages/core/src/languages/typescript.ts :2
import { existsSync, statSync } from 'node:fs'; - fs amitsingh2003-Synapse-9113de3/packages/core/src/parser/runtime.ts :2
import { readFile } from 'node:fs/promises'; - fs amitsingh2003-Synapse-9113de3/packages/mcp-server/src/bin.ts :16
import { existsSync } from 'node:fs'; - fs amitsingh2003-Synapse-9113de3/packages/mcp-server/src/handlers.ts :3
import { existsSync, readFileSync, statSync, writeFileSync, mkdirSync } from 'node:fs';
shell / exec 3
- shell amitsingh2003-Synapse-9113de3/packages/core/src/diff/apiDiff.ts :9
import { execSync } from 'node:child_process'; - shell amitsingh2003-Synapse-9113de3/packages/core/src/git.ts :13
import { execFile } from 'node:child_process'; - shell amitsingh2003-Synapse-9113de3/packages/mcp-server/src/handlers.ts :4
import { execSync, spawnSync, spawn } from 'node:child_process';
network 2
- net amitsingh2003-Synapse-9113de3/packages/core/src/embeddings/ollama.ts :68
const res = await fetch(this.url, { - net amitsingh2003-Synapse-9113de3/packages/mcp-server/src/httpTransport.ts :13
import { createServer, type IncomingMessage, type Server, type ServerResponse } from 'node:http';
database 15
- db amitsingh2003-Synapse-9113de3/packages/core/src/db/open.ts :1
import Database, { type Database as DB } from 'better-sqlite3'; - db amitsingh2003-Synapse-9113de3/packages/core/src/db/queries.ts :1
import type { Database as DB } from 'better-sqlite3'; - db amitsingh2003-Synapse-9113de3/packages/core/src/db/stats.ts :1
import type { Database as DB } from 'better-sqlite3'; - db amitsingh2003-Synapse-9113de3/packages/core/src/embeddings/search.ts :9
import type { Database as DB } from 'better-sqlite3'; - db amitsingh2003-Synapse-9113de3/packages/core/src/embeddings/storage.ts :16
import type { Database as DB } from 'better-sqlite3'; - db amitsingh2003-Synapse-9113de3/packages/core/src/indexer/autoSync.ts :46
import type { Database as DB } from 'better-sqlite3'; - db amitsingh2003-Synapse-9113de3/packages/core/src/indexer/indexFile.ts :3
import type { Database as DB } from 'better-sqlite3'; - db amitsingh2003-Synapse-9113de3/packages/core/src/indexer/indexRepo.ts :3
import type { Database as DB } from 'better-sqlite3'; - db amitsingh2003-Synapse-9113de3/packages/core/src/indexer/watcher.ts :4
import type { Database as DB } from 'better-sqlite3'; - db amitsingh2003-Synapse-9113de3/packages/core/src/indexer/writeFile.ts :2
import type { Database as DB } from 'better-sqlite3'; - db amitsingh2003-Synapse-9113de3/packages/core/src/retriever/SynapseRetriever.ts :21
import type { Database as DB } from 'better-sqlite3'; - db amitsingh2003-Synapse-9113de3/packages/core/src/scip/importScip.ts :24
import type { Database as DB } from 'better-sqlite3'; - db amitsingh2003-Synapse-9113de3/packages/mcp-server/src/bin.ts :17
import Database from 'better-sqlite3'; - db amitsingh2003-Synapse-9113de3/packages/mcp-server/src/handlers.ts :8
import type { Database as DB } from 'better-sqlite3'; - db amitsingh2003-Synapse-9113de3/packages/mcp-server/src/server.ts :2
import type { Database as DB } from 'better-sqlite3';
declared dependencies 8
- @types/node@^22.10.0
- @typescript-eslint/eslint-plugin@^8.18.0
- @typescript-eslint/parser@^8.18.0
- eslint@^9.17.0
- prettier@^3.4.2
- tsup@^8.3.5
- typescript@^5.7.2
- vitest@^2.1.8