Synapse
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.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/alexjsmith0115/synapse'
If you have feedback or need assistance with the MCP directory API, please join our Discord server