使用说明

项目简介

Rocketnotes MCP 服务器是基于 Model Context Protocol (MCP) 构建的服务端实现,旨在桥接 LLM 客户端和 Rocketnotes 笔记应用。通过此服务器,LLM 可以安全地访问和利用用户在 Rocketnotes 中存储的知识库,实现上下文感知的交互。

主要功能点

  • 知识库访问: LLM 客户端可以通过 MCP 服务器访问 Rocketnotes 应用中存储的 Markdown 笔记文档。
  • 精确搜索工具: 提供 'exact_search' 工具,允许 LLM 客户端根据关键词在笔记中进行精确内容搜索,并返回包含上下文的片段。
  • 语义搜索工具: 提供 'documents_similarity_search' 工具,支持 LLM 客户端进行语义相似度搜索,查找与查询内容语义相关的笔记文档。
  • 用户认证: 集成 Rocketnotes 用户认证系统,确保只有授权用户才能通过 MCP 服务器访问其笔记数据。
  • 本地部署: 支持通过 Docker 本地运行,方便开发者和个人用户使用。

安装步骤

  1. 克隆仓库: 首先,您需要克隆 Rocketnotes 的 GitHub 仓库到本地:
    git clone https://github.com/fynnfluegge/rocketnotes
    cd rocketnotes
  2. 进入 MCP 服务器目录: 导航到仓库中的 MCP 服务器代码目录:
    cd mcp/rocketnotes-mcp
  3. 安装依赖 (可选): 虽然仓库中没有明确的依赖文件,但根据代码推测可能需要 'httpx' 和 'fastmcp' 库。您可以使用 pip 安装可能需要的依赖:
    pip install httpx fastmcp
    (注意:如果运行中提示缺少模块,再根据提示安装。)

服务器配置

MCP 客户端需要配置以下 JSON 格式信息才能连接到 Rocketnotes MCP 服务器。请根据您的 Rocketnotes 部署环境填写以下参数。

{
  "serverName": "rocketnotes-mcp",
  "command": "python",
  "args": [
    "-m",
    "rocketnotes_mcp",
    "<base64_encoded_args>", // [必填] Base64 编码的 JSON 字符串,包含 Rocketnotes API 的配置信息,例如 apiUrl, clientId, domain, region 等。
    "<username>",          // [必填] 您的 Rocketnotes 用户名。用于服务器认证和数据访问。
    "<password>"           // [必填] 您的 Rocketnotes 密码。同样用于服务器认证。
  ]
}

参数说明:

  • 'serverName': 服务器名称,可以自定义,用于在 MCP 客户端中标识该服务器。
  • 'command': 启动服务器的命令,这里使用 'python'。
  • 'args': 启动命令的参数列表:
    • '"-m", "rocketnotes_mcp"': 指定以模块方式运行 'rocketnotes_mcp',即执行 'mcp/rocketnotes-mcp/main.py'。
    • '"<base64_encoded_args>"': [重要] 这是一个占位符,您需要替换为实际的 Base64 编码字符串。这个字符串需要包含一个 JSON 对象,该对象包含 Rocketnotes 后端 API 的必要配置信息,例如 API URL ('apiUrl')、Cognito 客户端 ID ('clientId')、Cognito 域名 ('domain') 和区域 ('region')。这些信息通常在 Rocketnotes 的部署环境中可以找到。
    • '"<username>"': [重要] 您的 Rocketnotes 账户用户名,用于服务器向 Rocketnotes API 进行身份验证。
    • '"<password>"': [重要] 您的 Rocketnotes 账户密码,与用户名一起用于身份验证。

如何获取 '<base64_encoded_args>':

您需要根据您的 Rocketnotes 后端部署情况,构建一个包含 'apiUrl', 'clientId', 'domain', 'region' 的 JSON 对象,并对其进行 Base64 编码。例如,假设您的配置如下:

{
  "apiUrl": "https://your-rocketnotes-api.com",
  "clientId": "your_cognito_client_id",
  "domain": "your_cognito_domain",
  "region": "your_aws_region"
}

您需要将这个 JSON 字符串进行 Base64 编码,并将编码后的字符串替换到 '<base64_encoded_args>' 占位符中。

基本使用方法

  1. 启动 MCP 服务器: 在 'mcp/rocketnotes-mcp' 目录下,使用 MCP 客户端配置中生成的命令启动服务器。请确保替换 '<base64_encoded_args>'、'<username>' 和 '<password>' 为您的实际信息。
  2. 配置 MCP 客户端: 在您的 LLM 客户端中,配置连接到 "rocketnotes-mcp" 服务器。客户端将使用您在服务器配置中定义的 'serverName'、'command' 和 'args' 来建立连接。
  3. 调用工具: 在 LLM 客户端的 Prompt 中,您可以调用 'exact_search' 和 'documents_similarity_search' 工具来搜索和访问您的 Rocketnotes 笔记。例如,您可以指示 LLM 使用 'exact_search' 工具查找特定信息,或者使用 'documents_similarity_search' 工具进行主题相关的文档检索。

示例 Prompt (在 LLM 客户端中):

请使用 exact_search 工具在我的笔记中搜索 "MCP协议",并总结搜索结果。
我想了解关于 "serverless RAG" 的更多信息,请使用 documents_similarity_search 工具在我的笔记中进行语义搜索,并告诉我最相关的文档标题。

注意:

  • 首次运行服务器可能需要进行用户认证,请确保提供的用户名和密码正确。
  • '<base64_encoded_args>' 参数至关重要,请务必根据您的 Rocketnotes 后端配置正确生成和配置。

信息

分类

生产力应用