Personal KB MCP Server

使用说明(简要概览)

  • 项目简介 该仓库实现了一个 MCP 服务器端,提供统一接口向大型语言模型客户端暴露知识库中的资源(Entries、Edges 等)、可执行的工具(如 kb_store、kb_search、kb_ask、kb_ingest 等)以及可渲染的 Prompt 模板,支持会话管理、能力声明与多传输协议接入。
  • 主要功能点
    • 资源管理:持久化知识条目、版本历史、嵌入向量与图关系,支持检索、查看、更新等操作。
    • 工具注册与执行:暴露 kb_store、kb_search、kb_get、kb_ask、kb_summarize、kb_ingest 等工具,支持前缀命名以便多实例并行使用。
    • Prompt 与 Syntheses:提供用于图谱 enrich、查询规划、结果合成等任务的系统提示与模板,支持多 LLM 提供商(Anthropic、Bedrock、Ollama)以及本地推理引擎。
    • MCP 协议实现:通过 JSON-RPC 形式接收来自客户端的请求,返回结果或流式通知。
    • 会话与身份:支持多用户署名、审计、指派贡献者和团队等元数据,并提供图谱可视化与探索支持。
    • 部署与可移植性:可在本地或云端通过 stdio、WebSocket、Server-Sent Events 等传输方式对接客户端。
  • 安装与运行
    1. 克隆仓库并安装依赖。
    2. 通过 uvx(uvx 是一个将 MCP 客户端和服务端整合运行的工具)启动服务器,或直接运行源码中的启动入口。
    3. 配置 MCP 客户端,让其指向该 MCP 服务器(示例配置见下方 JSON 配置段)。
  • 服务器配置(给 MCP 客户端使用) MCP 客户端需要独立配置以连接到服务器。下面提供一份准确的 JSON 配置示例(请按实际环境替换占位符): { "mcpServers": { "personal-kb": { "type": "stdio", "command": "uvx", "args": ["--from", "git+https://github.com/jason-weddington/personal-kb-mcp.git", "personal-kb"], "env": { "KB_DATABASE_URL": "postgresql://user:pass@host:5432/kb", // 若使用 PostgreSQL,请设置;若使用 SQLite,则可不设置该项 "KB_CONTRIBUTOR": "your-name", // 可选:给当前实例标注贡献者 "KB_TEAM": "your-team", // 可选:团队标注 "ANTHROPIC_API_KEY": "your-anthropic-key", // 若使用 Anthropic 提供商 "KB_EXTRACTION_PROVIDER": "anthropic", // 提取阶段 LLM 提供者 "KB_QUERY_PROVIDER": "anthropic", // 查询阶段 LLM 提供者 "KB_BEDROCK_REGION": "us-east-1", // Bedrock(如使用)区域 "KB_BEDROCK_MODEL": "us.anthropic.claude-haiku-4-5-20251001-v1:0" // Bedrock 模型 ID } } } } 注释说明
    • server name 对应 MCP 客户端中的服务器标识
    • command 与 args 用于启动 MCP 服务端进程的命令及参数(如 uvx + 制定仓库入口)
    • env 中的变量用于配置数据库连接、参与者、以及 LLM 提供者等
  • 基本使用方法
    • 启动 MCP 服务器:使用 uvx 运行本仓库的入口,或直接运行 src/personal_kb/main.py 所在的启动入口(视具体部署方式而定)。
    • 客户端交互:客户端通过 JSON-RPC 调用服务器暴露的工具与资源接口,如 kb_store、kb_search、kb_get、kb_ask、kb_summarize 等。
    • 会话与扩展:通过环境变量可开启多用户署名、审计、以及图谱探索 UI,支持 Ollama、Anthropic、Bedrock 等后端。
  • 运行时注意事项
    • 根据需求选择嵌入向量服务(如 Ollama)与 LLM 提供商组合,服务器设计为对可选组件“容错”,核心存储、检索功能在无外部依赖时仍可使用。
    • 如需生产级别并发,请结合 Postgres 数据库并调整连接池设置与向量存储实现。
    • 安全性与合规:多用户环境下的 attribution、审计日志仅作可见性提升,并非强制性访问控制。

服务器信息