证人-回忆-MCP
MCP服务器,向AI代理公开预扫描的代码库知识库。代理不直接读取源文件,而是查询预先提取的有关代码行为、设计决策和假设的事实,从而节省时间和令牌。
适用于Claude Code、Cursor、Windsurf和任何兼容MCP的客户端。
安装
pip install testigo-recall-mcp配置
GitHub发布(默认)
自动下载知识库 .db GitHub版本中的文件:
{
"mcpServers": {
"testigo-recall": {
"command": "testigo-recall-mcp",
"env": {
"TESTIGO_RECALL_REPO": "owner/repo",
"GITHUB_TOKEN": "ghp_..."
}
}
}
}Azure Blob存储
下载 .db Azure Blob存储容器中的文件。Auth使用您现有的 az login session——不需要秘密:
{
"mcpServers": {
"testigo-recall": {
"command": "testigo-recall-mcp",
"env": {
"TESTIGO_RECALL_AZURE_URL": "https://account.blob.core.windows.net/container"
}
}
}
}认证优先级:SAS令牌> az login 承载令牌>公共容器。
本地文件
直接指向本地 .db 文件(对开发/演示有用):
{
"mcpServers": {
"testigo-recall": {
"command": "testigo-recall-mcp",
"env": {
"TESTIGO_RECALL_DB_PATH": "/path/to/knowledge.db"
}
}
}
}所有后端都可以组合——DB在启动时合并。
环境变量
| 变量 | 描述 |
|---|---|
TESTIGO_RECALL_REPO | GitHub仓库,逗号分隔(例如。 owner/repo).自动下载自 knowledge-base 释放标签。 |
TESTIGO_RECALL_AZURE_URL | Azure Blob存储容器URL,逗号分隔。 |
TESTIGO_RECALL_AZURE_SAS | Azure的可选SAS令牌(读取+列表)。如果不需要 az login 是活跃的。 |
TESTIGO_RECALL_DB_PATH | 本地 .db 文件路径,逗号分隔。 |
GITHUB_TOKEN | 私有仓库的GitHub令牌。公共仓库无需授权即可工作。 |
工具
服务器向AI代理公开了6个工具:
search_codebase
在知识库中进行全文搜索。返回按相关性排序的事实。支持以分号分隔的多查询批处理(例如。 "auth login; session JWT; middleware").
query--搜索关键字category--可选过滤器:behavior,design,或assumptionmin_confidence--置信阈值0.0-1.0limit--最大结果(默认值:20)repo_name--可选筛选器,适用于一个存储库
get_module_facts
深入了解特定模块。使用 search_codebase 首先发现模块ID。
module_id--例如。SCAN:backend/app/api或PR-123
get_recent_changes
最近在代码库中提取了事实。
category--可选过滤器limit--结果数(默认值:10)
get_component_impact
爆炸半径分析——显示了什么取决于组件以及它取决于什么。
component_name--文件路径或服务名称(例如。api_service.py)
list_modules
列出知识库中所有扫描的模块。无参数调用以获得紧凑的回购摘要。
repo_name--可选存储库筛选器
get_repo_dependencies
来自包清单(go.mod、package.json)的跨仓库依赖关系图。
repo_name--可选过滤器direction—outgoing,incoming,或both
运作原理
知识库包含按类别组织的预先提取的事实:
- 行为 --代码的作用(触发器、结果)
- 设计 --它是如何构建的(决策、模式、权衡)
- 假设 --它所期望的(不变量、先决条件)
事实来源于两个方面:
- 扫描事实 (
SCAN:module/path)--模块的当前状态,自动刷新 - 公关事实 (
PR-123)--某个特定的公关发生了什么变化,并作为历史保留下来
服务器使用SQLite和FTS5全文搜索进行快速、相关性排名的查询。
多回购支持
所有后端都支持单个MCP服务器实例中的多个存储库。每个回购都有自己的 .db 文件,存储在共享位置(GitHub版本、Azure容器或本地目录)。服务器下载所有 .db 在启动时将文件合并到一个统一的知识库中。
knowledge-base/
├── frontend-app.db
├── backend-api.db
├── shared-lib.db
└── infrastructure.db使用 list_modules() 查看所有可用的存储库,以及 repo_name 参数开启 search_codebase 以确定查询范围。
