项目简介

本项目是一个MCP(Model Context Protocol)服务器,名为 "knowledge-embedding-storage"。它利用 AI Embeddings API 作为后端服务,提供内容存储和基于向量嵌入的语义搜索能力。该服务器允许LLM客户端通过标准的MCP协议,方便地存储知识内容并进行检索,构建个性化的知识库。

主要功能点

  • 内容存储与嵌入生成: 支持将文本内容存储到服务器,并自动调用AI Embeddings API生成内容的向量嵌入,以便进行语义搜索。
  • 语义搜索: 通过向量相似度算法,根据用户查询快速检索相关内容,返回语义上最匹配的结果。
  • 工具 (Tools): 提供 'save-memory' 和 'search-memory' 两个工具,分别用于存储内容和执行语义搜索。
  • 资源 (Resources): 通过 'search://{query}' 资源模板,允许客户端以URL形式直接进行语义搜索。
  • Prompt 模板 (Prompts): 预置 'save-memory' 和 'search-memory' 两个Prompt模板,方便LLM应用引导用户使用存储和搜索功能。

安装步骤

  1. 安装 Node.js 和 npm (或 pnpm, yarn): 确保你的系统已安装 Node.js 和包管理器 npm, pnpm 或 yarn。

  2. 全局安装 'mcp-embedding-storage': 根据你使用的包管理器,运行以下命令进行全局安装:

    # 使用 npm
    npm install -g mcp-embedding-storage
    
    # 使用 pnpm
    pnpm add -g mcp-embedding-storage
    
    # 使用 yarn
    yarn global add mcp-embedding-storage

服务器配置

MCP客户端(如 Claude for Desktop)需要配置MCP服务器的启动信息才能连接。以下是 'claude_desktop_config.json' 文件的配置示例,用于配置名为 "embedding-storage" 的MCP服务器:

{
  "mcpServers": {
    "embedding-storage": {  // 服务器名称,客户端通过此名称引用
      "command": "mcp-embedding-storage" // 启动服务器的命令,这里直接使用安装后全局可用的命令名
      // "args": [] // 可选:启动命令参数,本服务器无需额外参数
    }
  }
}

配置说明:

  • 'server name': 'embedding-storage',这是你在客户端配置文件中为该MCP服务器指定的名称,可以自定义。
  • 'command': 'mcp-embedding-storage',这是安装 'mcp-embedding-storage' 包后全局可用的命令,用于启动MCP服务器。
  • 'args': 可选参数,用于传递给启动命令。本服务器默认运行,无需额外参数。

基本使用方法

  1. 启动 MCP 服务器: 安装成功后,当客户端(如 Claude for Desktop)尝试连接名为 "embedding-storage" 的MCP服务器时,会自动调用 'mcp-embedding-storage' 命令启动服务器。服务器启动后,会在控制台输出 "MCP Embedding Storage Server running..." 表示运行中。

  2. 使用 Tools 和 Resources: 在支持MCP协议的LLM客户端中,你可以通过以下方式使用该MCP服务器的功能:

    • 使用 'save-memory' 工具存储内容: 调用 'save-memory' 工具,并提供 'content'(要存储的内容)和 'path'(内容的唯一标识路径)参数。例如,你可以指示LLM客户端调用该工具来存储一段文本或文档。

    • 使用 'search-memory' 工具进行搜索: 调用 'search-memory' 工具,并提供 'query'(搜索查询)参数。服务器将返回与查询相关的文本片段。

    • 使用 'search://{query}' 资源进行搜索: 在客户端中,你可以像访问URL一样使用 'search://' 资源。例如,'search://machine learning basics' 将会触发对 "machine learning basics" 的语义搜索,服务器返回搜索结果。

    • 使用 Prompts 引导交互: 可以使用预定义的 'save-memory' 和 'search-memory' Prompts,引导LLM进行内容存储和搜索操作。例如,你可以使用 "save-memory" Prompt,并填写 'path' 和 'content' 参数,让LLM生成用户消息,指示用户存储特定内容。

示例 (Claude for Desktop):

在 Claude 中,你可以通过自然语言指示 Claude 使用这些工具和资源。例如:

  • 指示 Claude 存储内容: "请帮我把这段关于人工智能的内容保存起来,路径是 '/my-knowledge/ai-intro'。" (Claude 可能会自动调用 'save-memory' 工具)
  • 指示 Claude 搜索信息: "搜索一下关于机器学习基础知识的内容。" (Claude 可能会使用 'search-memory' 工具或直接访问 'search://machine learning basics' 资源)

通过以上步骤,你就可以利用该MCP服务器为你的LLM应用提供知识库支持,实现内容存储和语义搜索功能。

信息

分类

数据库与文件