在指定目录中管理 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
:笔记总数
安装设置
- 安装所需依赖:
bash
pip install -r requirements.txt
-
通过编辑 main.py 第 110 行的 notes_dir 属性,配置服务器工作目录:
-
配置 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 编码以确保正确处理字符