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
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:一个自定义索引类,它:
- 扫描 .md Logseq目录中的文件 - 提取元数据(标签、修改时间) - 实施增量更新以提高效率 - 缓存结果以最小化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.pyMCP检验员测试
npx @modelcontextprotocol/inspector poetry run python server.py需求
- Python>=3.10,\= 3.1.1, < 4.0.0`
看 pyproject.toml 对于完整的依赖性规范。
许可证
本项目根据GNU通用公共许可证v3.0(GPL-3.0)获得许可。看 许可证 了解详情。
贡献
欢迎投稿!请随时提交问题或拉取请求。
致谢
______________________________________________________________________
备注:这是一个社区项目,与Logseq或Anthropic没有正式联系。
