README
🚀 MCP笔记服务器
这是一个模型上下文协议(MCP)服务器实现,主要用于管理带有持久存储的笔记,为笔记的创建、读取、更新和删除等操作提供便利。
🚀 快速开始
本服务器可用于管理带有持久存储的笔记,你可以通过以下步骤快速上手:
- 完成服务器的安装(可选择自动安装或手动安装)。
- 启动服务器。
- 进行笔记的创建、读取、更新和删除等操作。
✨ 主要特性
- 基本操作:支持创建、读取、更新和删除笔记。
- 持久化存储:使用JSON进行持久化存储,确保数据的持久保存。
- 时间记录:记录笔记的创建和修改时间戳,方便追溯。
- 摘要生成:通过提示生成笔记摘要,便于快速了解笔记内容。
- 访问控制:基于资源的访问控制,使用note:// URI方案,保障数据安全。
📦 安装指南
通过Smithery安装
要自动为Claude Desktop安装notes,请通过Smithery:
npx -y @smithery/cli install notes --client claude
手动安装
- 确保已安装Python 3.10或更高版本。
- 创建虚拟环境:
python -m venv .venv # 在Unix/MacOS中: source .venv/bin/activate # 在Windows中: .venv\Scripts\activate - 安装需求:
pip install MCP
💻 使用示例
基础用法
启动服务器
mcp install src/notes
mcp start Notes
示例操作
# 创建一个笔记
await client.call_tool("add-note", {
"name": "example",
"content": "这是一个测试笔记"
})
# 列出所有笔记
await client.call_tool("list-all-notes")
# 更新一个笔记
await client.call_tool("update-note", {
"name": "example",
"content": "更新后的内容"
})
# 删除一个笔记
await client.call_tool("delete-note", {
"name": "example"
})
📚 详细文档
项目结构
notes/
├── __init__.py # 包初始化
├── server.py # 主服务器实现
├── storage.py # 笔记持久层
├── resources.py # 资源处理(note:// URI)
├── prompts.py # LLM提示生成
└── tools/ # 服务器工具
├── __init__.py # 工具包初始化
├── list_tools.py # 工具列表功能
└── handle_tools.py # 工具处理实现
可用工具
add-note:创建新笔记list-all-notes:显示所有存储的笔记update-note:修改现有笔记delete-note:删除笔记
存储
笔记存储在notes_storage.json中,结构如下:
{
"note_name": {
"content": "Note内容",
"created_at": "2025-01-12T11:28:16.721704",
"modified_at": "2025-01-12T11:28:16.721704"
}
}
资源访问
笔记可以通过note:// URI方案作为资源访问:
- 列出资源:返回所有可用的笔记
- 读取资源:使用
note://internal/note_name访问特定笔记
提示生成
服务器包含一个提示生成功能,用于笔记摘要:
- 支持简短和详细摘要
- 笔记格式适合语言模型输入
- 使用
generate-summary工具生成摘要
开发
克隆仓库
使用以下命令克隆此仓库:
git clone https://github.com/your-username/notes-mcp.git
cd notes-mcp
依赖项
确保安装了以下Python包:
flask:用于Web界面python-dotenv:用于环境变量管理requests:用于API请求
运行服务器
安装依赖后,运行:
python server.py
访问http://localhost:5000查看Web界面。
贡献
欢迎贡献!请参考CONTRIBUTING.md了解如何参与开发。
Scan to join WeChat group