使用说明
📚 Local Knowledge Base MCP
Servidor MCP para RAG local com seus próprios PDFs
Transforme qualquer coleção de PDFs em uma base de conhecimento consultável por IA. Sem Docker, sem servidores externos — apenas um binário Go.
🎯 那是什么?
一个服务器 MCP(模型上下文协议) 允许人工智能助手(Claude,Gemini等)查询 自己的文档收藏 语义搜索。
使用案例
- 📖 学生索引您的书籍和书签,用自然语言提问
- 👨💻 开发者创建自定义技术知识库
- 📋 专业人员参考手册、内部文档、技术标准
- 🔬 研究人员搜索论文和学术文献
✨ 特点
| 特点 | 描述 |
|---|---|
| 零依赖 没有Docker,没有外部服务器,没有Python。 | |
| 嵌入式矢量银行 | chromem去persiste本地没有迪斯科 |
| 谷歌人工智能嵌入 | 模型 text-embedding-004 (768个尺寸) |
| MCP 协议 兼容 Claude Desktop、Antigravity 等 | |
| 100%本地 你的PDF永远不会离开你的电脑。 |
* 只有块的文本被发送到 Google API 以生成嵌入。
🏛️ 建筑
┌─────────────────────┐ JSON-RPC (stdio) ┌──────────────────────────────────────────┐
│ │◄──────────────────────────►│ │
│ Claude Desktop │ │ Local Knowledge Base MCP │
│ Antigravity │ │ ┌──────────────┐ ┌────────────────┐ │
│ Outro MCP Client │ │ │ chromem-go │ │ Google AI │ │
│ │ │ │ (VectorDB) │ │ (Embeddings) │ │
└─────────────────────┘ │ └──────────────┘ └────────────────┘ │
└──────────────────────────────────────────┘
🛠️ 可用工具
服务器向 MCP 客户端暴露两个工具:
consultar_base_conhecimento
在知识库中搜索语义。
| 参数 | 类型 | 强制性 | 描述 |
|---|---|---|---|
pergunta string 。✅ |
用自然语言提问。 |
返回 : 具有相似性,来源和内容得分的5个最相关的片段。
verificar_status_vectordb
检查矢量银行的状态 。
返回 : 银行状态、 索引文档计数和内存使用情况 。
🚀 安装
先决条件
- 转到1.22+
- 谷歌人工智能API密钥 — 免费获取
1.汇编
git clone https://github.com/Capman002/Local-Knowledge-Base-MCP---golang.git
cd Local-Knowledge-Base-MCP---golang
go build -o senior-architect-rag.exe .
go build -o ingest.exe ./cmd/ingest
2.配置器
创建文件 .env:
# Obrigatório
GOOGLE_API_KEY=sua-api-key-aqui
# Opcional - personalize para seu caso de uso
COLLECTION_NAME=minha_base_conhecimento
DB_PATH=vector_db
DOCS_DIR=meus_documentos
EMBEDDING_MODEL=text-embedding-004
3. 添加您的PDF文件
创建配置的文件夹 DOCS_DIR (默认 : biblioteca_docs/)并放置您的PDF文件:
biblioteca_docs/
├── livro1.pdf
├── manual_tecnico.pdf
├── apostila.pdf
└── ...
4.索引器
./ingest.exe
5. 配置 MCP 客户端
添加到 Claude Desktop 或 Antigravity:
{
"mcpServers": {
"minha-base-conhecimento": {
"command": "C:/caminho/para/senior-architect-rag.exe",
"args": [],
"env": {}
}
}
}
⚙️ 自定义
环境变量
| 变量 | 标准 | 描述 |
|---|---|---|
GOOGLE_API_KEY |
(必填) 关键字是Google AI。 | |
COLLECTION_NAME |
biblioteca_arquitetura 您的收藏品名称 |
|
DB_PATH |
vector_db 在哪里保存矢量银行 |
|
DOCS_DIR |
biblioteca_docs 与您的PDF文件夹。 |
|
EMBEDDING_MODEL |
text-embedding-004 |
嵌入模型 |
配置示例
法律知识基础:
COLLECTION_NAME=legislacao_brasileira
DOCS_DIR=pdfs_juridicos
技术文件:
COLLECTION_NAME=docs_empresa
DOCS_DIR=manuais
学术研究:
COLLECTION_NAME=papers_mestrado
DOCS_DIR=literatura
📝 关于默认配置
默认代码名称 (Senior-Architect-RAG, biblioteca_arquitetura)反映原始用例:知识库 软件架构文学 (DDD、系统设计、微服务等)。
您可以使用这些模式或自定义通过 .env 对于任何领域。
技术细节
| 组件 | 值 |
|---|---|
| 块大小 | 800个字符 |
| 块重叠 | 150个字符 |
| 按查询显示的结果 | 前5名 |
| 嵌入尺寸 | 768 |
| 通讯 | MCP via stdio |
📁 项目结构
├── main.go # Servidor MCP
├── cmd/ingest/main.go # Ingestor de PDFs
├── biblioteca_docs/ # Seus PDFs (git-ignored)
├── vector_db/ # Banco vetorial (git-ignored)
├── .env # Configurações (git-ignored)
└── .env.example # Template
🐛 解决问题
| 问题 | 解决方案 |
|---|---|
| “GOOGLE_API_KEY 未定义” | 创建文件 .env 使用API密钥 |
| “没有找到 PDF” | 检查文件夹 DOCS_DIR |
| “文件计数为零” | 执行 ingest.exe |
| “从PDF提取文本时出错” | PDF可能是扫描图像(使用OCR) |
🤝 贡献
欢迎捐款!查看 贡献.md.
📄 许可证
麻省 理工 学院 - 道路 许可证.
🔗 依赖关系
- mark3labs/mcp go -MCP图书馆
- 菲利普吉尔/克罗姆·戈 — 嵌入式矢量银行
- 乐东图克/pdf --PDF解析器
- 复发 加载 .env
