get_changed_files
Returns a list of files changed since a git ref (default: HEAD~1), grouped by status (added/modified/deleted). Optionally includes the full unified diff. Use this to understand what changed in a branch or commit.
Get a repository's exported signatures in one call, then pull only the file and dependency tree the question actually needs.
LABSCO SUMMARY
Its own description says to call the index first on an unfamiliar project, and the shape of everything else follows from that — the semantic context tool takes one file and walks its dependency tree rather than a directory, and search answers with paths and line numbers rather than bodies. The change tool is what makes it useful on a branch rather than a snapshot. Nothing here writes, so it pairs with an editing tool rather than replacing one.
A code-reading server that answers with structure rather than with file dumps: a gitignore-aware tree, a signature-only project index, a file together with its local dependency tree, text or regex search, and the diff since a git ref. It reads the filesystem and git directly — there is no vector database and no embedding API to set up.
A checked-out repository the server can read, and git for the change tools. Nothing is configured as a credential. The depth of the analysis depends on the language: TypeScript and JavaScript get full signatures and import-chain traversal through the TypeScript compiler API; Python, Go and Rust get names without signatures and no dependency graph; other languages get the tree, the search and the raw file, and nothing structural. On a large repository, scope the index with a file pattern — its output grows with the number of exported symbols.
One command — npx synapse-code-mcp --root <YOUR_ROOT>
USE CASES
Take the signature-only index first, then read only the files the signatures point you at.
Group the changed files by status against the base ref, with the unified diff attached when you need to read it.
Search by name or regex for paths and line numbers, then pull the dependency tree around the file that matters.
Ask for the outline: signatures and structure, at a fraction of the file's length, with its imports resolved around it.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
get_changed_filesReturns a list of files changed since a git ref (default: HEAD~1), grouped by status (added/modified/deleted). Optionally includes the full unified diff. Use this to understand what changed in a branch or commit.
get_project_indexReturns a compressed semantic map of the entire project: all exported functions, classes, interfaces, and types with their signatures — no implementation bodies. Ideal for getting an overview of a large codebase in a single call (~500 tokens). Call this first when exploring an unfamiliar project.
get_project_treeReturns a structured tree view of the project repository, respecting .gitignore rules.
get_semantic_contextReturns the content of a file along with its local dependency tree, providing rich context for understanding the code.
search_codebaseSearches the codebase for text or regex patterns, returning matches with file paths and line numbers.
BEFORE YOU INSTALL
5 tools when we connected.
All 4 documented clients run the server on your machine.
CONTEXT COST
Rated by the size of the 5 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
npx synapse-code-mcp --root <YOUR_ROOT>{
"mcpServers": {
"synapse": {
"command": "npx",
"args": [
"synapse-code-mcp",
"--root",
"<YOUR_PATH_TO_PROJECT>"
]
}
}
}{
"mcpServers": {
"synapse": {
"command": "npx",
"args": [
"synapse-code-mcp",
"--root",
"<YOUR_ROOT>"
]
}
}
}