Show HN: Synapse – local codebase indexer and MCP server for Claude Code

nrkoka11 pts0 comments

GitHub - nrkoka786/synapse: Give Claude instant knowledge of your codebase — local, private, no cloud · GitHub

/" data-turbo-transient="true" />

Skip to content

Search or jump to...

Search code, repositories, users, issues, pull requests...

-->

Search

Clear

Search syntax tips

Provide feedback

--><br>We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Cancel

Submit feedback

Saved searches

Use saved searches to filter your results more quickly

-->

Name

Query

To see all available qualifiers, see our documentation.

Cancel

Create saved search

Sign in

/;ref_cta:Sign up;ref_loc:header logged out"}"<br>Sign up

Appearance settings

Resetting focus

You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

{{ message }}

nrkoka786

synapse

Public

Notifications<br>You must be signed in to change notification settings

Fork

Star

main

BranchesTags

Go to file

CodeOpen more actions menu

Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit

History<br>1 Commit<br>1 Commit

.github/workflows

.github/workflows

examples

examples

synapse

synapse

tests

tests

.gitignore

.gitignore

CONTRIBUTING.md

CONTRIBUTING.md

LICENSE

LICENSE

README.md

README.md

pyproject.toml

pyproject.toml

synapse.toml.example

synapse.toml.example

View all files

Repository files navigation

Synapse<br>Give Claude instant knowledge of your codebase — local, private, no cloud.

You open Claude Code and ask: "Add retry logic to my API client."

Without Synapse: Claude asks what your stack is. You paste 200 lines of code. You explain your conventions. You do this again tomorrow.

With Synapse: Claude says: "Your API client in src/api/client.ts uses Axios with your custom RetryConfig interface — matching the pattern you used in payment.ts. Here's the implementation:"

Synapse watches your project folders, indexes them locally, and connects to Claude via MCP. Claude knows your codebase without you saying a word.

Install in 2 minutes<br>pip install synapse-mcp

synapse init C:/Projects/myapp

Then paste one line into your Claude Desktop config. Done.

What it does<br>Watches your project folders — indexes code, markdown, and config files automatically<br>Stores everything locally — no API key required, nothing leaves your machine<br>Connects to Claude via MCP — works with Claude Desktop, Cursor, and any MCP client<br>Updates in real time — re-indexes files as you save them

Supported tools<br>Tool<br>Status<br>Claude Code<br>✅ Supported (primary target)<br>Cursor<br>✅ Supported via MCP<br>Continue<br>✅ Supported via MCP<br>Claude Desktop chat<br>🔜 Coming in v0.2<br>Any MCP client<br>✅ Standard MCP protocol

Supported file types<br>.py .ts .tsx .js .jsx .go .rs .java .kt .rb .php .cs .swift .cpp .c .h .sh .ps1 .sql .tf .md .json .yaml .toml .env .graphql .proto · Dockerfile · Makefile · and more

Connect to Claude Code<br>After running synapse init , register Synapse as an MCP server:

claude mcp add synapse synapse-mcp

That's it. Restart claude and run /mcp to confirm synapse shows connected · 2 tools.

Claude Desktop chat support is planned for v0.2 via SSE transport. Track progress in #12.

CLI reference<br>synapse init # Index a folder (run this first)

synapse status # Show what's indexed

synapse search # Search from the terminal

synapse wipe # Delete the local index

Configuration<br>Synapse works out of the box with no config file required.<br>To customize, create ~/.synapse/config.toml:

[synapse]

watch_paths = ["C:/Projects/myapp", "C:/Projects/clientwork"]

ignore_patterns = ["node_modules", ".git", "dist", "*.pyc"]

[embedding]

provider = "local" # "local" (default, free, private) or "openai"

chunk_size = 512

chunk_overlap = 64

Local embeddings (default): Uses nomic-embed-text-v1.5 via sentence-transformers.<br>Downloads ~400MB on first run. Free. Nothing leaves your machine.

OpenAI embeddings (optional): Set provider = "openai" and OPENAI_API_KEY env var.<br>Slightly better quality for natural language queries. Costs ~$0.00 for personal use.

How it works<br>Your files → Synapse watches → Chunks text → Embeds locally → Stores in LanceDB

Claude Desktop ←── MCP query ←── Synapse MCP server ←── Semantic search

synapse init walks your project and indexes every supported file<br>The file watcher triggers incremental re-indexing on every save<br>When you open Claude Desktop, the synapse-mcp server is available as a connected tool<br>Claude calls recall("your question") automatically before answering<br>Relevant code snippets are injected into Claude's context window

No round trips to external servers. No accounts. No rate limits.

FAQ<br>Does my code leave my machine?<br>No. With the default local embedding provider, every computation happens on your machine. The only network call is the initial model download (~400MB, cached...

synapse claude code local search files

Related Articles