
hindsight-mcp
io.github.Rbfinch/hindsight-mcp
MCP server for AI-assisted coding with development history: git, tests, Copilot.
Documentation
hindsight-mcp
An MCP server for AI-assisted coding that leverages development history.
Overview
hindsight-mcp consolidates development data (git logs, test results, and GitHub Copilot sessions) into a searchable SQLite database, making it accessible to AI assistants through MCP tool calls in VS Code.
Key Features:
- Full-text search across commits and Copilot conversations
- Track test results linked to specific commits
- Activity summaries and timeline views
- Automatic git and Copilot session ingestion
Quick Start
Prerequisites
- VS Code v1.99+ with GitHub Copilot
- cargo-nextest (for test ingestion):
cargo install cargo-nextest
Installation
cargo install hindsight-mcp
Configure VS Code
Create .vscode/mcp.json in your project:
{
"servers": {
"hindsight": {
"type": "stdio",
"command": "hindsight-mcp",
"args": ["--workspace", "${workspaceFolder}"]
}
}
}
Verify Setup
- Open VS Code Command Palette (
Cmd+Shift+P) - Run "MCP: List Servers"
- Confirm
hindsightis listed - In Copilot Chat, switch to Agent mode
- Ask: "What have I been working on recently?"
That's it! Copilot will use hindsight tools to answer questions about your development history.
MCP Tools
| Tool | Purpose | Example Prompt |
|---|---|---|
hindsight_timeline | Chronological activity view | "Show recent commits and test runs" |
hindsight_search | Full-text search | "Find commits about authentication" |
hindsight_failing_tests | Query test failures | "What tests are failing?" |
hindsight_activity_summary | Aggregate stats | "Summarise my week" |
hindsight_commit_details | Commit info with tests | "Details for commit abc123" |
hindsight_ingest | Trigger data refresh | "Refresh development history" |
Tool Arguments Reference
hindsight_timeline
limit(int): Max events, default 50workspace(string): Filter by path
hindsight_search
query(string): Search query (required)source(string): "all", "commits", or "messages"limit(int): Max results, default 20
hindsight_failing_tests
limit(int): Max tests, default 50workspace(string): Filter by pathcommit(string): Filter by SHA
hindsight_activity_summary
days(int): Days to summarise, default 7
hindsight_commit_details
sha(string): Commit SHA (required)
hindsight_ingest
workspace(string): Path to ingest (required)source(string): "git", "copilot", or "all"incremental(bool): Only new data, default truelimit(int): Max items
Test Ingestion
Run tests and automatically ingest results:
# Run all tests and ingest
hindsight-mcp test
# Test specific package
hindsight-mcp test -p my-crate
# Preview without writing to database
hindsight-mcp test --dry-run
The test command automatically:
- Spawns
cargo nextestwith correct flags - Auto-detects the current git commit
- Ingests results to the database
CI / Advanced Usage
For CI pipelines or custom nextest invocations:
# Using stdin mode
NEXTEST_EXPERIMENTAL_LIBTEST_JSON=1 cargo nextest run \
--message-format libtest-json 2>/dev/null | \
hindsight-mcp test --stdin
# Using ingest command with explicit commit
NEXTEST_EXPERIMENTAL_LIBTEST_JSON=1 cargo nextest run \
--message-format libtest-json 2>/dev/null | \
hindsight-mcp ingest --tests --commit $(git rev-parse HEAD)
Data Sources
| Source | Data Collected |
|---|---|
| Git | Commits (SHA, author, message, timestamp, parents) |
| Tests | Run metadata, outcomes, durations, failure output |
| Copilot | Chat sessions, prompts, responses, attached files |
Git and Copilot data are ingested automatically. Test results require running hindsight-mcp test.
CLI Reference
hindsight-mcp [OPTIONS] [COMMAND]
Commands:
ingest Ingest data from various sources
test Run tests and ingest results
Options:
-d, --database <PATH> Database path [default: ~/.hindsight/hindsight.db]
-w, --workspace <PATH> Workspace path [default: current directory]
-v, --verbose Debug logging
-q, --quiet Errors only
--skip-init Skip database init
-h, --help Print help
-V, --version Print version
Test Subcommand Options
hindsight-mcp test [OPTIONS] [-- <NEXTEST_ARGS>...]
Options:
-p, --package <PKG> Package(s) to test
--bin <BIN> Binary(ies) to run
-E, --filter <EXPR> Filter expression
--stdin Read from stdin
--dry-run Preview only
--no-commit Do not link to commit
--commit <SHA> Explicit commit SHA
--show-output Show test output
Environment Variables
| Variable | Description |
|---|---|
HINDSIGHT_DATABASE | Database path |
HINDSIGHT_WORKSPACE | Default workspace |
Database Location
| Platform | Default Path |
|---|---|
| macOS | ~/Library/Application Support/hindsight/hindsight.db |
| Linux | ~/.local/share/hindsight/hindsight.db |
| Windows | %LOCALAPPDATA%\hindsight\hindsight.db |
Troubleshooting
| Problem | Solution |
|---|---|
| Server does not start | Check binary path; run with --verbose |
| No data showing | Run hindsight_ingest tool via Copilot |
| Log interference | Use --quiet in production |
Development
Building from Source
git clone https://github.com/Rbfinch/hindsight-mcp.git
cd hindsight-mcp
cargo build --release
Running Tests
cargo install cargo-nextest
cargo nextest run --workspace
Workspace Structure
hindsight/
├── crates/
│ ├── hindsight-mcp/ # MCP server binary
│ ├── hindsight-git/ # Git log processing
│ ├── hindsight-tests/ # Test result processing
│ └── hindsight-copilot/ # Copilot session parsing
Fuzzing
cd crates/hindsight-tests
cargo +nightly fuzz run fuzz_nextest_run
cd crates/hindsight-copilot
cargo +nightly fuzz run fuzz_session_json
License
MIT
https://github.com/Rbfinch/hindsight-mcp/releases/download/v0.1.5/hindsight-mcp-v0.1.5-x86_64-unknown-linux-gnu.tar.gz# mcpb: https://github.com/Rbfinch/hindsight-mcp/releases/download/v0.1.5/hindsight-mcp-v0.1.5-x86_64-unknown-linux-gnu.tar.gzhttps://github.com/Rbfinch/hindsight-mcp/releases/download/v0.1.5/hindsight-mcp-v0.1.5-aarch64-unknown-linux-gnu.tar.gz# mcpb: https://github.com/Rbfinch/hindsight-mcp/releases/download/v0.1.5/hindsight-mcp-v0.1.5-aarch64-unknown-linux-gnu.tar.gzhttps://github.com/Rbfinch/hindsight-mcp/releases/download/v0.1.5/hindsight-mcp-v0.1.5-x86_64-apple-darwin.tar.gz# mcpb: https://github.com/Rbfinch/hindsight-mcp/releases/download/v0.1.5/hindsight-mcp-v0.1.5-x86_64-apple-darwin.tar.gzhttps://github.com/Rbfinch/hindsight-mcp/releases/download/v0.1.5/hindsight-mcp-v0.1.5-aarch64-apple-darwin.tar.gz# mcpb: https://github.com/Rbfinch/hindsight-mcp/releases/download/v0.1.5/hindsight-mcp-v0.1.5-aarch64-apple-darwin.tar.gzhttps://github.com/Rbfinch/hindsight-mcp/releases/download/v0.1.5/hindsight-mcp-v0.1.5-x86_64-pc-windows-msvc.zip# mcpb: https://github.com/Rbfinch/hindsight-mcp/releases/download/v0.1.5/hindsight-mcp-v0.1.5-x86_64-pc-windows-msvc.zipRelated Servers
ai.smithery/Hint-Services-obsidian-github-mcp
Connect AI assistants to your GitHub-hosted Obsidian vault to seamlessly access, search, and analy…
ai.smithery/anirbanbasu-pymcp
Primarily to be used as a template repository for developing MCP servers with FastMCP in Python, P…
ai.smithery/neverinfamous-memory-journal-mcp
A MCP server built for developers enabling Git based project management with project and personal…