使用说明
项目简介
Rocketnotes MCP 服务器是基于 Model Context Protocol (MCP) 构建的服务端实现,旨在桥接 LLM 客户端和 Rocketnotes 笔记应用。通过此服务器,LLM 可以安全地访问和利用用户在 Rocketnotes 中存储的知识库,实现上下文感知的交互。
主要功能点
- 知识库访问: LLM 客户端可以通过 MCP 服务器访问 Rocketnotes 应用中存储的 Markdown 笔记文档。
- 精确搜索工具: 提供 'exact_search' 工具,允许 LLM 客户端根据关键词在笔记中进行精确内容搜索,并返回包含上下文的片段。
- 语义搜索工具: 提供 'documents_similarity_search' 工具,支持 LLM 客户端进行语义相似度搜索,查找与查询内容语义相关的笔记文档。
- 用户认证: 集成 Rocketnotes 用户认证系统,确保只有授权用户才能通过 MCP 服务器访问其笔记数据。
- 本地部署: 支持通过 Docker 本地运行,方便开发者和个人用户使用。
安装步骤
- 克隆仓库: 首先,您需要克隆 Rocketnotes 的 GitHub 仓库到本地:
git clone https://github.com/fynnfluegge/rocketnotes cd rocketnotes - 进入 MCP 服务器目录: 导航到仓库中的 MCP 服务器代码目录:
cd mcp/rocketnotes-mcp - 安装依赖 (可选): 虽然仓库中没有明确的依赖文件,但根据代码推测可能需要 '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>' 占位符中。
基本使用方法
- 启动 MCP 服务器: 在 'mcp/rocketnotes-mcp' 目录下,使用 MCP 客户端配置中生成的命令启动服务器。请确保替换 '<base64_encoded_args>'、'<username>' 和 '<password>' 为您的实际信息。
- 配置 MCP 客户端: 在您的 LLM 客户端中,配置连接到 "rocketnotes-mcp" 服务器。客户端将使用您在服务器配置中定义的 'serverName'、'command' 和 'args' 来建立连接。
- 调用工具: 在 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 后端配置正确生成和配置。
信息
分类
生产力应用