SourceRecall MCP Server
Enables AI coding assistants to search and retrieve code from self-hosted Git repositories using semantic and lexical search with optional reranking, while keeping repository data under the operator's control.
README
SourceRecall
SourceRecall is a self-hosted repository intelligence service for AI coding assistants. It indexes clean Git working trees into Qdrant, combines semantic and lexical retrieval, reranks candidates through a separate Jetson NLP service, and exposes the results through HTTP and Model Context Protocol (MCP).
It is designed for a small trusted-network deployment where repository data must remain under the operator's control.
Highlights
- Safe repository containment beneath one managed root
- Clean-commit indexing with file, chunk, model, and schema provenance
- Authoritative full re-indexing that removes obsolete Qdrant points
- Hybrid vector and ripgrep retrieval with chunk-aware reciprocal-rank fusion
- Optional cross-encoder reranking through Jetson NLP
- Thin Streamable HTTP MCP integration with structured tool responses
- Durable SQLite job and index status
- Validated YAML configuration and structured rotating-file logs
- Single-worker, serialized indexing model with explicit resource bounds
Architecture
Continue Agent
|
| Streamable HTTP MCP
v
SourceRecall MCP :8071
|
v
SourceRecall API :8070
| |
| +--> managed Git repositories
| + ripgrep lexical retrieval
|
+--> Qdrant :6333
+--> Jetson NLP :8091 (/v1/embeddings and /v1/rerank)
SourceRecall owns repository, path, commit, chunk, and retrieval semantics. Jetson NLP remains a stateless inference service that only knows text, vectors, and scores.
Repository layout
config/ Versioned configuration template
deploy/systemd/ API and MCP systemd units
diags/ Deployment validation utilities
docs/ Architecture, API, deployment, and operations guides
src/source_recall/ Installable Python package
tests/ Automated tests
API at a glance
curl http://source-recall:8070/live
curl -X POST http://source-recall:8070/index \
-H 'Content-Type: application/json' \
-d '{"repository":"episode-tracker"}'
curl -X POST http://source-recall:8070/search \
-H 'Content-Type: application/json' \
-d '{
"repository":"episode-tracker",
"query":"where are TV episode credits normalized?",
"limit":8
}'
When security.api_token is configured, add
Authorization: Bearer <token> to all non-health API requests.
Production paths
| Purpose | Path |
|---|---|
| Application | /opt/source-recall |
| Virtual environment | /opt/source-recall/.venv |
| Configuration | /etc/source-recall/source-recall.yaml |
| Managed repositories | /opt/source-recall/repositories |
| Durable state | /var/lib/source-recall/source-recall.db |
| Application logs | /var/log/source-recall/source-recall.log |
| API service | /etc/systemd/system/source-recall-api.service |
| MCP service | /etc/systemd/system/source-recall-mcp.service |
See Deployment for the complete installation procedure.
Documentation
- Architecture
- API reference
- Configuration
- Deployment
- Development
- MCP integration
- Operations
- Initial audit
Current scope
The initial release performs authoritative full indexing. Incremental Git indexing, webhook ingestion, syntax-aware chunking, symbol graphs, and reference analysis are planned extensions rather than claimed features. Indexing jobs are durable for status reporting but execute in one local process; this is not a distributed job queue.
The services do not terminate TLS, and the MCP endpoint does not implement client authentication. Keep them on a trusted private network or place them behind an authenticated reverse proxy. See Security.
License
SourceRecall is available under the MIT License.
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.