Shared Knowledge MCP Server

使用说明

项目简介

Shared Knowledge MCP Server 是一个基于 Model Context Protocol (MCP) 构建的知识库服务器。它旨在为各种 AI 助手(如 CLINE, Cursor, Windsurf, Claude Desktop)提供统一的知识库访问入口。通过集成 Retrieval Augmented Generation (RAG) 技术,该服务器能够高效地检索和利用知识库中的信息,从而增强 AI 助手在处理复杂任务时的上下文理解和信息获取能力。

主要功能点

  • 共享知识库: 允许多个 AI 助手客户端共享同一个知识库,确保信息一致性和访问效率。
  • RAG 检索: 利用 RAG 技术,结合向量检索和语言模型,提供精准的信息检索能力。
  • 多向量存储支持: 支持 HNSWLib, Chroma, Pinecone, Milvus, Weaviate 等多种向量数据库,灵活适应不同场景需求。
  • 可扩展性: 基于抽象接口设计,易于扩展和集成新的向量存储和功能模块。
  • 工具集成: 提供 'rag_search' 工具,允许 LLM 客户端通过 MCP 协议调用知识库检索功能。

安装步骤

  1. 克隆仓库

    git clone https://github.com/j5ik2o/shared-knowledge-mcp.git
    cd shared-knowledge-mcp
  2. 安装依赖

    npm install
  3. 构建项目

    npm run build

服务器配置

MCP 服务器需要配置在 MCP 客户端中,例如 CLINE, Cursor, Claude Desktop 等。以下是配置的关键信息,请将以下 JSON 配置添加到您的 MCP 客户端配置文件中。

重要: 您无需修改以下 JSON 代码,只需复制粘贴到客户端配置文件中,并根据注释修改路径和 API 密钥。

{
  "mcpServers": {
    "shared-knowledge-base": {
      "command": "node",
      "args": [
        "/path/to/shared-knowledge-mcp/dist/index.js"  // 修改为 shared-knowledge-mcp 项目 dist/index.js 的绝对路径
      ],
      "env": {
        "KNOWLEDGE_BASE_PATH": "/path/to/your/knowledge-base", // 修改为您的知识库文件所在的目录的绝对路径,例如文档、规则文件等
        "OPENAI_API_KEY": "your-openai-api-key",        // 如果使用 OpenAI 嵌入模型,请填写您的 OpenAI API 密钥;如果使用 Ollama,则留空
        "VECTOR_STORE_TYPE": "hnswlib"                   // 默认使用 HNSWLib 向量存储,您也可以选择 "chroma", "pinecone", "milvus", "weaviate"
        // "VECTOR_STORE_CONFIG": "{...}"                // 如果使用 Pinecone, Milvus, Weaviate 等,请根据需要配置连接信息,例如 API 密钥、服务器地址等,具体配置参考仓库 README
      }
    }
  }
}

配置说明:

  • '"command"': MCP 服务器的启动命令,固定为 '"node"'。
  • '"args"': 启动命令的参数,指向编译后的服务器入口文件 'dist/index.js' 的绝对路径。请务必根据您的实际项目路径修改此项
  • '"env"': 环境变量配置,用于配置服务器的行为。
    • '"KNOWLEDGE_BASE_PATH"': 必须配置。指定知识库文件所在的目录。服务器将读取此目录下 '.md', '.mdx', '.txt' 文件作为知识来源。请务必修改为您的知识库目录的绝对路径
    • '"OPENAI_API_KEY"': 可选配置。如果需要使用 OpenAI 的嵌入模型('embeddingType: "openai"'),则需要配置 OpenAI API 密钥。如果留空,则默认使用 Ollama 的嵌入模型('embeddingType: "ollama"'),无需 API 密钥。
    • '"VECTOR_STORE_TYPE"': 可选配置。指定使用的向量存储类型,默认为 '"hnswlib"'。您可以根据需要选择其他支持的向量存储类型,如 '"chroma"', '"pinecone"', '"milvus"', '"weaviate"'。
    • '"VECTOR_STORE_CONFIG"': 可选配置。用于配置向量存储的连接信息,例如 API 密钥、服务器地址等。只有当 '"VECTOR_STORE_TYPE"' 为 '"pinecone"', '"milvus"', '"weaviate"' 等需要外部服务的向量存储时才需要配置。具体配置格式请参考仓库的 README 文档。

不同客户端的配置文件路径示例 (请根据实际情况调整):

  • VSCode (CLINE/Cursor): '~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json'
  • Claude Desktop: '~/Library/Application Support/Claude/claude_desktop_config.json'

基本使用方法

配置完成后,在您的 AI 助手客户端中,即可通过 MCP 协议与 Shared Knowledge MCP Server 建立连接,并使用 'rag_search' 工具进行知识库检索。

例如,在支持 MCP 协议的 AI 助手的对话框中,您可以指示 AI 助手使用 'rag_search' 工具来检索信息,例如:

'请使用 rag_search 工具,查询 "如何配置 MCP 服务器"'

服务器会将检索结果返回给 AI 助手,AI 助手即可利用这些信息进行后续的对话或任务处理。

更多关于 'rag_search' 工具的详细参数和使用示例,请参考仓库的 README 文档。

服务器信息