Enables indexing and analysis of C# codebases, allowing users to query structural relationships, inheritance hierarchies, and method call graphs within .NET projects.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Synapsefind all implementations of the IOrderService interface"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Synapse
Synapse is an LSP-powered, FalkorDB-backed tool that builds a queryable graph of a C# codebase. It indexes symbols, inheritance, interface implementations, method calls, and override relationships, then exposes them via an MCP server (for AI assistants) and a CLI (for humans).
Prerequisites
Python 3.11+
FalkorDB running on
localhost:6379(default).NET SDK — required for the C# language server to index projects
Start FalkorDB with Docker:
docker run -p 6379:6379 --rm falkordb/falkordb:latestInstallation
pip install -e .This installs two entry points:
synapse— CLIsynapse-mcp— MCP server
MCP Server Setup
Add Synapse to your MCP client config (e.g. Claude Desktop's claude_desktop_config.json):
{
"mcpServers": {
"synapse": {
"command": "synapse-mcp"
}
}
}By default the server connects to FalkorDB at localhost:6379. There are no required environment variables.
CLI
synapse <command> [args]Project management
Command | Description |
| Index a project into the graph (structural pass) |
| Index CALLS edges for an already-structurally-indexed project |
| Watch a project for file changes and keep the graph updated (runs until Ctrl+C) |
| Remove a project and all its graph data |
| Show index status for one project, or list all indexed projects |
Graph queries
Command | Description |
| Get a symbol's node and its relationships |
| Find all methods that call a given method |
| Find all methods called by a given method |
| Find all concrete implementations of an interface |
| Show the full inheritance chain for a class |
| Search symbols by name, optionally filtered by kind (e.g. |
| Execute a raw read-only Cypher query against the graph |
Summaries
Summaries are free-text annotations attached to any symbol — useful for capturing architectural context that the graph alone doesn't convey.
Command | Description |
| Get the summary for a symbol |
| Set the summary for a symbol |
| List all symbols that have summaries |
Examples
# Index a C# project
synapse index /path/to/my/project
# Find everything that calls a specific method
synapse callers "MyNamespace.MyClass.DoWork"
# Find all classes that implement an interface
synapse implementations "IOrderService"
# See the inheritance hierarchy of a class
synapse hierarchy "MyNamespace.BaseController"
# Search for all methods containing "Payment"
synapse search "Payment" --kind method
# Watch for live updates while developing
synapse watch /path/to/my/projectMCP Tools
These tools are available to any MCP client connected to synapse-mcp.
Project management
Tool | Parameters | Description |
|
| Index a project into the graph |
| — | List all indexed projects |
|
| Remove a project from the graph |
|
| Get the current index status for a project |
|
| Start watching a project for file changes |
|
| Stop watching a project |
Graph queries
Tool | Parameters | Description |
|
| Get a symbol's node and relationships by fully-qualified name |
|
| Find all concrete implementations of an interface |
|
| Find all methods that call a given method |
|
| Find all methods called by a given method |
|
| Get the full inheritance chain for a class |
|
| Search symbols by name, optionally filtered by kind |
|
| Execute a read-only Cypher query (mutating statements are blocked) |
Summaries
Tool | Parameters | Description |
|
| Attach a summary to a symbol |
|
| Retrieve the summary for a symbol |
|
| List all symbols that have summaries, optionally scoped to a project |
Graph model
Node labels
Structural nodes (identified by path):
:Repository— the indexed project root:Directory— a directory within the project:File— a source file
Symbol nodes (identified by full_name):
:Package— a namespace or package:Class— classes, abstract classes, enums, and records (distinguished by thekindproperty):Interface— interfaces:Method— methods (withsignature,is_abstract,is_static,lineproperties):Property— properties (withtype_name):Field— fields (withtype_name)
A :Summarized label is added to any node that has a user-attached summary.
Relationships
CONTAINS— structural containment: Repository→Directory, Directory→File, File→Symbol, and Class/Package→nested symbolsIMPORTS— file imports a package/namespaceCALLS— method calls another methodOVERRIDES— method overrides a base methodIMPLEMENTS— class implements an interfaceINHERITS— class inherits from another class, or interface extends another interface
Fully-qualified names (e.g. MyNamespace.MyClass.DoWork) are used as symbol identifiers throughout.
Development
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
# Run unit tests (no FalkorDB or .NET required)
pytest tests/unit/
# Run integration tests (requires FalkorDB on localhost:6379 and .NET SDK)
pytest tests/integration/ -m integrationThis server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.