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
Configure VS Code
Create .vscode/mcp.json in your project:
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" |
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
# Test specific package
# Preview without writing to database
The test command automatically:
- Spawns
cargo nextestwith correct flags - Auto-detects the current git commit
- Ingests results to the database
For CI pipelines or custom nextest invocations:
# Using stdin mode
NEXTEST_EXPERIMENTAL_LIBTEST_JSON=1 | \
# Using ingest command with explicit commit
NEXTEST_EXPERIMENTAL_LIBTEST_JSON=1 | \
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
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
hindsight/
├── crates/
│ ├── hindsight-mcp/ # MCP server binary
│ ├── hindsight-git/ # Git log processing
│ ├── hindsight-tests/ # Test result processing
│ └── hindsight-copilot/ # Copilot session parsing
License
MIT