testigo-recall-mcp
MCP server that exposes pre-extracted facts about code behavior, design decisions, and assumptions to AI agents, saving time and tokens by avoiding direct source file reading.
README
testigo-recall-mcp
MCP server that exposes a pre-scanned codebase knowledge base to AI agents. Instead of reading source files directly, agents query pre-extracted facts about code behavior, design decisions, and assumptions — saving time and tokens.
Works with Claude Code, Cursor, Windsurf, and any MCP-compatible client.
Installation
pip install testigo-recall-mcp
Configuration
GitHub Releases (default)
Auto-downloads knowledge base .db files from a GitHub release:
{
"mcpServers": {
"testigo-recall": {
"command": "testigo-recall-mcp",
"env": {
"TESTIGO_RECALL_REPO": "owner/repo",
"GITHUB_TOKEN": "ghp_..."
}
}
}
}
Azure Blob Storage
Downloads .db files from an Azure Blob Storage container. Auth uses your existing az login session — no secrets needed:
{
"mcpServers": {
"testigo-recall": {
"command": "testigo-recall-mcp",
"env": {
"TESTIGO_RECALL_AZURE_URL": "https://account.blob.core.windows.net/container"
}
}
}
}
Auth priority: SAS token > az login bearer token > public container.
Local files
Point directly at local .db files (useful for development/demos):
{
"mcpServers": {
"testigo-recall": {
"command": "testigo-recall-mcp",
"env": {
"TESTIGO_RECALL_DB_PATH": "/path/to/knowledge.db"
}
}
}
}
All backends can be combined — DBs are merged at startup.
Environment Variables
| Variable | Description |
|---|---|
TESTIGO_RECALL_REPO |
GitHub repo(s), comma-separated (e.g. owner/repo). Auto-downloads from knowledge-base release tag. |
TESTIGO_RECALL_AZURE_URL |
Azure Blob Storage container URL(s), comma-separated. |
TESTIGO_RECALL_AZURE_SAS |
Optional SAS token for Azure (read+list). Not needed if az login is active. |
TESTIGO_RECALL_DB_PATH |
Local .db file path(s), comma-separated. |
GITHUB_TOKEN |
GitHub token for private repos. Public repos work without auth. |
Tools
The server exposes 6 tools to AI agents:
search_codebase
Full-text search across the knowledge base. Returns facts ranked by relevance. Supports semicolon-separated multi-query batching (e.g. "auth login; session JWT; middleware").
query— search keywordscategory— optional filter:behavior,design, orassumptionmin_confidence— confidence threshold 0.0-1.0limit— max results (default: 20)repo_name— optional filter to scope to one repository
get_module_facts
Deep dive into a specific module. Use search_codebase first to discover module IDs.
module_id— e.g.SCAN:backend/app/apiorPR-123
get_recent_changes
Most recently extracted facts across the codebase.
category— optional filterlimit— number of results (default: 10)
get_component_impact
Blast radius analysis — shows what depends on a component and what it depends on.
component_name— file path or service name (e.g.api_service.py)
list_modules
Lists all scanned modules in the knowledge base. Call without arguments for a compact repo summary.
repo_name— optional repository filter
get_repo_dependencies
Cross-repo dependency graph from package manifests (go.mod, package.json).
repo_name— optional filterdirection—outgoing,incoming, orboth
How It Works
The knowledge base contains pre-extracted facts organized by category:
- behavior — what the code does (triggers, outcomes)
- design — how it's built (decisions, patterns, trade-offs)
- assumption — what it expects (invariants, prerequisites)
Facts come from two sources:
- SCAN facts (
SCAN:module/path) — current state of a module, refreshed automatically - PR facts (
PR-123) — what a specific PR changed, preserved as history
The server uses SQLite with FTS5 full-text search for fast, relevance-ranked queries.
Multi-repo support
All backends support multiple repositories in a single MCP server instance. Each repo gets its own .db file, stored in a shared location (GitHub release, Azure container, or local directory). The server downloads all .db files and merges them into a unified knowledge base at startup.
knowledge-base/
├── frontend-app.db
├── backend-api.db
├── shared-lib.db
└── infrastructure.db
Use list_modules() to see all available repos, and repo_name parameter on search_codebase to scope queries.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.