这是一个模型上下文协议(MCP)服务器实现,主要用于管理带有持久存储的笔记,为笔记的创建、读取、更新和删除等操作提供便利。
本服务器可用于管理带有持久存储的笔记,你可以通过以下步骤快速上手:
要自动为Claude Desktop安装notes,请通过Smithery:
npx -y @smithery/cli install notes --client claude
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了解如何参与开发。