MCP笔记服务器使用说明

项目简介

MCP笔记服务器 ('notebook_mcp') 是一个实现了 Model Context Protocol (MCP) 的后端应用,专门用于管理和暴露您的个人笔记集合。通过将您的笔记文件夹作为数据源,它可以为兼容MCP的大语言模型客户端提供结构化的访问、强大的搜索功能以及预定义的交互模式,从而让LLM能够理解和利用您的个人知识库。

主要功能点

  • 笔记索引: 扫描指定目录下的文件(可配置扩展名),构建笔记索引,将文件路径映射为唯一的笔记ID。
  • 笔记搜索: 利用ripgrep、grep(或内置基础搜索)技术,快速搜索笔记内容,返回匹配的片段及位置信息。
  • 笔记读取: 通过笔记ID直接获取单篇笔记的完整内容。
  • 笔记列表: 列出所有或过滤后的笔记ID列表。
  • 信息概览: 提供关于笔记集合的统计信息,如总数、来源目录、扩展名等。
  • 工具注册: 将搜索、列表、读取等功能注册为MCP工具,供LLM客户端调用。
  • 资源注册: 将笔记列表、笔记信息和单篇笔记内容注册为MCP资源,供LLM客户端访问。
  • Prompt模板: 提供搜索、浏览、分析、每日回顾等预设的Prompt模板,简化LLM的交互流程。

安装步骤

本项目是一个Python应用,您需要先安装Python 3.8 或更高版本。

  1. 克隆或下载本项目代码。
  2. 进入项目目录。
  3. 使用pip安装项目及其依赖:
    pip install .
    或者,如果您需要安装 ripgrep 或 grep 以获得更好的搜索性能,请自行安装它们。

服务器配置

MCP客户端(如您的LLM应用)需要知道如何启动并连接到MCP笔记服务器。您需要在MCP客户端中配置服务器的启动命令和参数。

  • Command: 'mcp-notes'
  • Args:
    • 'serve': 这是启动服务器的固定子命令。
    • '[DIRECTORY...]': 必须提供一个或多个您存放笔记的目录路径。例如 '/home/user/notes', '/mnt/cloud/my-journal' 等。这些是必需的参数。
    • '--exts <string>': 可选参数。指定要索引的文件扩展名,多个用逗号分隔。默认值是 'md,org,txt'。
    • '--name <string>': 可选参数。为您的MCP服务器指定一个名称。默认值是 'Notebook'。

客户端配置示例(非实际代码,仅说明参数含义): 要配置客户端连接到运行在 '/home/user/my_notes' 目录下的服务器,您的客户端配置可能看起来像这样(具体格式取决于您的客户端): 服务器名称: 'My Notes Server' 启动命令: 'mcp-notes' 启动参数: 'serve /home/user/my_notes --exts md,txt --name "My Notes Server"'

基本使用方法

一旦服务器启动并客户端连接成功,LLM客户端可以通过以下方式与服务器交互:

  • 调用工具: LLM可以使用 'note_search' 工具搜索笔记,使用 'note_list' 列出笔记,使用 'note_read' 读取特定笔记内容。
  • 访问资源: LLM可以直接访问 'notes://list' 获取所有笔记ID列表,访问 'notes://info' 获取服务器信息,或访问 'note://{note_id}' (替换 '{note_id}' 为实际ID) 获取单篇笔记内容。
  • 获取Prompt模板: LLM可以获取预设的Prompt模板(如 'search_notes', 'browse_notes' 等),使用这些模板指导对话和操作。

注意: 本服务器设计为由MCP客户端(通常是LLM应用)自动调用和交互,用户通常不需要直接通过命令行与其进行复杂交互(除了启动服务器)。

信息

分类

生产力应用