小贴士:按下Ctrl+D 或 ⌘+D,一键收藏本站,方便下次快速访问!
1
最近更新:1个月前

在指定目录中管理 Markdown 笔记,提供创建、读取、更新和列出文件的工具,同时跟踪时间戳并保持 UTF-8 编码。

MCP 笔记服务器

这是一个实现 MCP(Model Context Protocol)协议的服务器,用于管理指定目录中的 Markdown 笔记。该服务器通过 stdio 传输提供创建、读取和更新 Markdown 笔记的功能。

功能特性

  • 创建新的 Markdown 笔记
  • 读取现有 Markdown 笔记
  • 更新现有 Markdown 笔记
  • 列出保险库中的所有笔记
  • 在指定目录中自动管理文件
  • 完善的错误处理和日志记录
  • 笔记创建和修改时间戳追踪
  • 所有操作的 JSON Schema 验证

服务器能力

服务器实现以下能力:

  • 版本:1.0.0
  • 名称:Notes MCP Server
  • 描述:用于管理指定目录中 Markdown 笔记的服务器
  • 支持的传输方式:stdio

资源

服务器提供以下资源:

  • 属性:
    • path:保险库路径
    • note_count:保险库中的笔记总数

工具

服务器实现以下 MCP 工具:

create_note

创建新的 Markdown 笔记。

参数:

  • title:笔记标题(必填)
  • content:笔记内容(可选,默认为空字符串)

返回:

  • filename:创建的文件名
  • path:文件的完整路径
  • created_at:创建时间的 ISO 时间戳

read_note

读取现有的 Markdown 笔记。

参数:

  • title:要读取的笔记标题(必填)

返回:

  • title:笔记标题
  • content:笔记内容
  • path:文件的完整路径
  • created_at:创建时间的 ISO 时间戳
  • modified_at:最后修改时间的 ISO 时间戳

update_note

更新现有的 Markdown 笔记。

参数:

  • title:要更新的笔记标题(必填)
  • content:笔记的新内容(可选,默认为空字符串)

返回:

  • filename:更新后的文件名
  • path:文件的完整路径
  • updated_at:更新时间的 ISO 时间戳

list_notes

列出保险库中的所有 Markdown 笔记。

参数:无

返回:

  • notes:笔记对象数组,每个包含:
    • title:笔记标题
    • path:文件的完整路径
    • created_at:创建时间的 ISO 时间戳
    • modified_at:最后修改时间的 ISO 时间戳
  • total:笔记总数

安装设置

  1. 安装所需依赖:
bash 复制代码
pip install -r requirements.txt
  1. 通过编辑 main.py 第 110 行的 notes_dir 属性,配置服务器工作目录:

  2. 配置 Cursor 使用 MCP 服务器:

    • 配置文件位于 .cursor/mcp.json
    • Cursor 会自动检测并使用此配置
    • 服务器配置为使用 Python 和正确的 UTF-8 编码

运行服务器

当 Cursor 加载项目时,服务器会自动启动。您也可以手动运行:

bash 复制代码
python main.py

服务器启动后将通过 stdin/stdout 监听 MCP 请求。所有操作都会记录适当级别(info/error)的日志,便于调试和监控。

错误处理

服务器实现了针对以下场景的错误处理:

  • 缺少必需参数
  • 文件已存在
  • 文件未找到
  • 常规异常

所有错误都会被记录并返回适当的错误代码和消息。

配置详情

MCP 服务器在 .cursor/mcp.json 中配置如下设置:

json 复制代码
{
  "mcpServers": {
    "notes-server": {
      "command": "python",
      "args": ["main.py"],
      "env": {
        "PYTHONIOENCODING": "utf-8"
      }
    }
  }
}

要将 MCP 添加为全局使用,请将其添加到用户目录的 .cursor 文件夹中,或前往 Cursor 设置 -> MCP -> 添加新的全局 MCP 服务器 -> 复制/粘贴本项目中的 mcp.json 到新文件 -> 更新 args 指向 main.py

此配置:

  • 将服务器命名为 "notes-server"
  • 使用 Python 运行服务器
  • 设置 UTF-8 编码以确保正确处理字符