snapshotLABSCO SUMMARY
History that survives compaction, so the record does not grow without bound.
Snapshots are captured automatically at commit and checkout, and older ones are archived into compacted files in the background once the count or age threshold is crossed. The C# symbol tools are a separate second surface — useful if you work in .NET, irrelevant otherwise.
What it is
A .NET server that captures project snapshots — git context, workspace state and documentation — on demand or from git hooks, archives them as they pile up, and answers questions about the history in natural language. It also carries Roslyn-based C# symbol tools.
What you get
- snapshot — capture git context, workspace info and all markdown docs as one record
- search_evolution — ask 'when did we add authentication?' against the snapshot history
- track_component — follow one feature from Planned to Completed across snapshots
- compare_snapshots — diff any two
- get_status and get_timeline — system state with compaction insight, and the project in chronological order
- FindSymbolDefinitions, FindSymbolReferences, NavigateInheritanceHierarchy, SearchSymbolsByPattern and GetSymbolDocumentation for C# code
- Git hooks that capture automatically before a commit and after a checkout
- A workspace folder for requirements, design notes and AI instructions, pulled into every snapshot
Requirements
.NET 9. Clone, build, and run the ContextKeeper project as the server. Initialise it in the repository first; adding the git hooks is a separate flag on init. No credentials.
Setup effort
Build from source — git clone https://github.com/chasecuppdev/contextkeeper-mcp.git
USE CASES
Answering 'when did we do this?'
Search the snapshot history in plain language rather than reading a commit log.
Tracing how one feature got here
Follow the component across snapshots and see the state it moved through.
Marking a moment worth returning to
Take a snapshot with a milestone name so the branch and docs at that point stay retrievable.
Finding where a C# symbol is defined and used
Locate the declaration, then every usage, then walk the type hierarchy around it.
11 tools
Listed in project docs. Your client may show a different list.
search_evolutiontrack_componentcompare_snapshotsget_statusget_timelineFindSymbolDefinitionsFindSymbolReferencesNavigateInheritanceHierarchySearchSymbolsByPatternGetSymbolDocumentationBEFORE YOU INSTALL
What to know first
Tools you get
11 tools named in the project's documentation. Six are memory tools, including snapshot, which creates the memory; five are Roslyn code-analysis tools with PascalCase names, such as NavigateInheritanceHierarchy.
Requires
.NET 9.0
Where it runs
Both documented clients run the server on your machine.
INSTALLATION
Connect your client
You clone and build this one yourself.
Server setup
# Clone the repository
git clone https://github.com/chasecuppdev/contextkeeper-mcp.git
cd contextkeeper-mcp
# Build the project
dotnet build
# Run as MCP server
dotnet run --project src/ContextKeeperMCP Clients
Claude Desktop
{
"mcpServers": {
"contextkeeper": {
"type": "stdio",
"command": "dotnet",
"args": [
"run",
"--project",
"<YOUR_PATH_TO_CONTEXTKEEPER>/src/ContextKeeper"
],
"env": {}
}
}
}Claude Code
{
"mcpServers": {
"contextkeeper": {
"type": "stdio",
"command": "dotnet",
"args": [
"run",
"--project",
"<YOUR_PATH_TO_CONTEXTKEEPER_MCP>/src/ContextKeeper/ContextKeeper.csproj"
],
"env": {
"DOTNET_CLI_TELEMETRY_OPTOUT": "1"
}
}
}
}