内容
# 知识管理服务器
一个 [模型上下文协议](https://modelcontextprotocol.io) 服务器,允许 AI 助手读写本地 Markdown 笔记文件夹。所有文件操作都沙盒化到 `notes/` 目录 — 没有 shell 访问权限,没有路径遍历到笔记目录之外。
## 快速开始
```bash
./setup.sh
source .venv/bin/activate
PYTHONPATH=src python -m knowledge_mcp
```
将 `.env.example` 复制到 `.env` 并设置 `NOTES_DIR` 如果您的笔记存放在 `./notes` 之外。
## 在 Cursor 中连接
将以下内容添加到您的 MCP 设置(`.cursor/mcp.json` 或 Cursor 设置 → MCP):
```json
{
"mcpServers": {
"knowledge-mcp": {
"command": "/绝对路径/to/mcp/.venv/bin/python",
"args": ["-m", "knowledge_mcp"],
"env": {
"PYTHONPATH": "/绝对路径/to/mcp/src",
"NOTES_DIR": "/绝对路径/to/mcp/notes"
}
}
}
}
```
## 工具
| 工具 | 描述 |
|------|-------------|
| `搜索笔记` | 在所有 `.md` 文件中进行全文关键词搜索 |
| `读取笔记` | 按文件名读取单个笔记 |
| `列出最近笔记` | 按修改时间列出笔记(最新的优先) |
| `创建笔记` | 创建新笔记(如果已存在则失败) |
| `更新笔记` | 覆盖或追加到现有笔记 |
| `删除笔记` | 软删除 — 将文件移动到 `notes/.trash/` |
## 安全
- 路径会被解析和检查是否在 `NOTES_DIR` 下;任何外部路径都会被拒绝。
- 仅读取或写入 `.md` 文件。
- `更新笔记` 拒绝空内容以防止意外清除。
- 删除操作可从 `notes/.trash/` 恢复。
## 开发
```bash
source .venv/bin/activate
uv pip install -e ".[dev]"
PYTHONPATH=src pytest tests/
```
需要 Python 3.11+。