本地知识库MCP服务器

一个基于Go语言的本地知识库MCP服务器,可将PDF文档转换为可查询的知识库,支持语义搜索并与AI助手集成。

  • by Capman002
  • Go
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Capman002/Local-Knowledge-Base-MCP---golang

使用说明

📚 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.汇编

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.


📄 许可证

麻省 理工 学院 - 道路 许可证.


🔗 依赖关系