使用说明
MCP Logseq知识库
A. 模型上下文协议(MCP) 使AI助手能够与之交互的服务器 Logseq 知识库文件。此服务器提供用于搜索笔记、阅读页面、按标签查询和整合项目信息的工具。
特性
- 全文搜索 在所有具有上下文感知结果的Logseq页面中
- 页面检索 按名称阅读完整的笔记内容
- 基于标签的查询 通过标签查找页面
- 日志导航 具有日期范围过滤功能
- 项目整合 聚合所有标记有项目标记的笔记
- 智能缓存 通过增量索引更新实现最佳性能
- 增量索引 仅重新读取已更改的文件
可用工具
| 工具 | 说明 |
|---|---|
search_notes(query) |
在所有Logseq页面上进行全文搜索 |
get_page(page_name) |
按名称读取特定的Logseq页面 |
list_pages(folder) |
列出文件夹中的所有页面(页面、日记或全部) |
get_pages_by_tag(tag) |
查找包含特定内容的所有页面 #tag |
get_journal_range(start_date, end_date) |
读取日期之间的日记账条目(YYYY-MM-DD) |
consolidate_project(project_tag) |
聚合所有标记有项目标记的笔记 |
get_all_tags() |
获取知识库中使用的所有标签的列表 |
refresh_index() |
强制对Logseq图进行全面重新扫描 |
安装
先决条件
- Python 3.10或更高版本
- 诗歌 用于依赖关系管理
- Logseq图形目录
设置
-
克隆存储库:
git clone <repository-url> cd mcp-python-logseq -
使用Poetry安装依赖项:
poetry install
使用Claude代码进行配置
使用以下方法之一将此MCP服务器添加到Claude Code:
方法1:使用 claude mcp add
claude mcp add logseq \
-e LOGSEQ_DIR="~/logseq-graph" \
-e CACHE_TTL=300 \
-- poetry run python /path/to/mcp-python-logseq/server.py
方法2:使用 fastmcp install
poetry run fastmcp install claude-code server.py \
--server-name "logseq" \
--env LOGSEQ_DIR=~/logseq-graph \
--env CACHE_TTL=300
配置其他MCP客户端
将以下内容添加到MCP客户端配置中:
{
"mcpServers": {
"logseq": {
"command": "poetry",
"args": [
"run",
"python",
"/path/to/mcp-python-logseq/server.py"
],
"env": {
"LOGSEQ_DIR": "~/logseq-graph",
"CACHE_TTL": "300"
}
}
}
}
环境变量
| 变量 | 描述 | 默认值 |
|---|---|---|
LOGSEQ_DIR |
Logseq图目录的路径 | ~/logseq-graph |
CACHE_TTL |
缓存生存时间(秒) | 300 (5分钟) |
用法示例
搜索笔记
"Search my notes for 'machine learning'"
AI将使用 search_notes("machine learning") 查找相关内容。
阅读特定页面
"Show me my notes on the Python project"
AI将使用 get_page("Python project") 以检索页面内容。
按标签查询
"What notes do I have tagged with #work?"
AI将使用 get_pages_by_tag("work") 列出所有匹配的页面。
日记账分录
"Show me journal entries from last week"
AI将使用 get_journal_range("2025-03-25", "2025-03-31") 检索条目。
项目整合
"Summarize all my notes for the website redesign project"
AI将使用 consolidate_project("website-redesign") 收集所有相关笔记。
建筑
服务器构建于:
- FastMCP:用于构建MCP服务器的高级Python库
- LogseqIndex:一个自定义索引类,它:
- 扫描
.mdLogseq目录中的文件 - 提取元数据(标签、修改时间)
- 实施增量更新以提高效率
- 缓存结果以最小化I/O操作
- 扫描
指数化策略
这 LogseqIndex 使用两层缓存策略:
-
文件索引缓存:根据文件修改时间逐步更新
- 每次进行完整目录扫描
CACHE_TTL检测新文件/已删除文件的秒数 - 扫描之间仅检查已知文件的快速路径
- 每次进行完整目录扫描
-
结果缓存:缓存每个工具具有可配置TTL的工具输出
- 搜索结果:5分钟
- 页面内容:1分钟
- 项目整合:10分钟
发展
项目结构
.
├── server.py # Main MCP server implementation
├── pyproject.toml # Poetry configuration
├── README.md # This file
├── doc.md # Installation guide
├── fastmcp_documentation.md # FastMCP reference
└── command.txt # Example CLI commands
本地运行
# Set environment variables
export LOGSEQ_DIR="~/Documents/MyLogseqGraph"
export CACHE_TTL=300
# Run the server
poetry run python server.py
MCP检验员测试
npx @modelcontextprotocol/inspector poetry run python server.py
需求
- Python>=3.10,<4.0
fastmcp >= 3.1.1, < 4.0.0
看 pyproject.toml 对于完整的依赖性规范。
许可证
本项目根据GNU通用公共许可证v3.0(GPL-3.0)获得许可。看 许可证 了解详情。
贡献
欢迎投稿!请随时提交问题或拉取请求。
致谢
备注:这是一个社区项目,与Logseq或Anthropic没有正式联系。
