F9 Lore MCP
一个托管插件 模型上下文协议(MCP) 服务器,通过HTTP/SSE端点公开vault操作。这允许像Claude Desktop、Claude.AI和其他MCP兼容客户端这样的人工智能助手读取、搜索和编辑您的保险库。
特性
注释操作
- create_note -使用可选内容创建新笔记
- read_note -读取笔记内容(模糊文件名匹配)
- update_note -替换注释内容
- delete_note -删除笔记(移至垃圾箱)
- move_or重命名_注意 -在vault中移动或重命名注释
文件夹操作
- list_folders -列出vault中的文件夹
- list_notes -列出vault中的注释
- 创建文件夹 -创建文件夹(包括中间目录)
- 删除文件夹 -删除文件夹(如果不是空的话,可以选择强制删除)
精细编辑(令牌高效)
这些工具允许精确编辑,而不是读取/写入整个文件:
- get_note_structure -使用新鲜度标记获取标题、章节、列表项、封面
- read_区段 / 阅读_标题_内容 / read_front -阅读特定部分
- update_section / update_heading_content / update_front -更新特定零件
- delete_section -删除一个部分
- 重命名_负责人 -更改标题文本或级别
- update_list_item -更新列表项文本或任务状态
- insert_content -在特定位置插入内容
向量搜索
使用嵌入在保险库中进行语义搜索:
- 搜索 -按含义查找笔记,而不仅仅是关键字
- reindex_vault -强制重新嵌入所有文件
- refresh_index -检查过时文件并重新索引
三种嵌入提供程序选项:
- 奥拉玛 (默认)-本地LLM,需要 奥拉玛 跑步
- 开放人工智能 -云API,需要API密钥
- TF-IDF -基于关键字,完全离线,无外部服务
文本搜索
- 全局正则表达式打印 -在笔记中搜索文本/正则表达式模式(使用上下文行、路径范围)
- str_replace -跨音符查找和替换字符串(使用干运行模式)
其他
- 拼 -健康检查
安装
来源
- 将此存储库克隆到vault的插件目录中:
cd /.obsidian/plugins/
git clone https://github.com/f9/f9-lore-mcp.git
cd f9-lore-mcp
npm install
npm run build- 在设置中启用插件→ 社区插件→ F9 Lore MCP
为了发展
- 克隆和安装依赖关系:
git clone https://github.com/f9/f9-lore-mcp.git
cd f9-lore-mcp
npm install- 开始观看模式:
npm run dev- Symlink到您的保险库:
ln -s /path/to/f9-lore-mcp /.obsidian/plugins/f9-lore-mcp- 在黑曜石设置中启用插件→ 社区插件
配置
基本设置
- 端口 -HTTP服务器端口(默认值:3000)
- 启用MCP服务器 -打开/关闭服务器
- 会话超时 -自动关闭非活动会话(默认值:30分钟)
HTTPS(可选)
对于需要TLS的客户端(如具有严格安全性的Claude Desktop):
- 启用“启用HTTPS”切换
- 粘贴您的TLS证书内容
- 粘贴您的TLS私钥内容
使用生成证书 mkcert:
mkcert -install
mkcert localhost 127.0.0.1 ::1矢量搜索设置
- 启用自动索引 -更改时自动嵌入文件
- 嵌入提供者 -选择Ollama、OpenAI或TF-IDF
- 索引延迟 -嵌入前的去抖动时间(默认值:10秒)
对于 奥拉玛:
- 安装 奥拉玛 并在本地运行它
- 配置URL(默认值:
http://localhost:11434) - 选择模型(例如。,
nomic-embed-text)
对于 开放人工智能:
- 输入您的API密钥
- 选择型号(文本嵌入3-small、文本嵌入3-large或文本嵌入-ada-002)
- 可选择为Azure OpenAI设置自定义端点
对于 TF-IDF:
- 无需配置
- 完全离线工作
- 基于关键字(语义比神经嵌入少)
与Claude Desktop一起使用
插件设置显示了一个可复制的配置片段 claude_desktop_config.json你需要 mcp遥控器 将Claude Desktop桥接到HTTP端点:
{
"mcpServers": {
"f9-lore-my-vault": {
"command": "npx",
"args": ["-y", "mcp-remote", "http://127.0.0.1:3000/mcp"]
}
}
}对于HTTPS模式,添加环境变量:
{
"mcpServers": {
"f9-lore-my-vault": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://127.0.0.1:3000/mcp"],
"env": {
"NODE_TLS_REJECT_UNAUTHORIZED": "0"
}
}
}
}快速测试
# Check if server is running
curl http://127.0.0.1:3000/health
# Start an SSE connection (in one terminal)
curl -N -H 'Accept: text/event-stream' http://127.0.0.1:3000/mcp
# Send a ping request (in another terminal)
curl -X POST -H 'Content-Type: application/json' \
--data '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"ping"}}' \
http://127.0.0.1:3000/mcp多会话支持
多个MCP客户端可以同时连接。每个客户端都有自己的独立状态的隔离会话。会议包括:
- 客户端连接时按需创建
- 路线经过
mcp-session-id头球 - 断开连接或超时时自动清理
- 在状态栏中可见(例如,“F9 MCP:3000|2个会话”)
构建命令
npm run dev # Watch mode: rebuilds main.js on changes
npm run build # Production build: minified main.js
npm run version # Sync manifest.json version with package.json版本控制
更新 package.json 版本,然后同步 manifest.json:
npm run version文件
manifest.json--黑曜石插件清单src/main.ts--插件入口点src/mcp/host.ts--MCP服务器主机(多会话架构)src/mcp/structure.ts--注释结构提取src/mcp/editors.ts--精细内容编辑src/mcp/utils.ts--共享实用程序(路径规范化、错误处理)src/mcp/tools/--模块化MCP工具定义
- basic-ops.ts --注意CRUD操作(创建、读取、更新、删除、移动) - folder-ops.ts --文件夹操作(列表、创建、删除) - structure-read.ts --结构读取工具(get_note_Structure、read_section等) - structure-write.ts --结构编辑工具(update_section、重命名_heading等) - vector-search.ts --矢量搜索工具(搜索、reindex_vault、refresh_index) - text-search.ts --文本搜索工具(grep、str_replace) - index.ts --工具注册编排器
src/vector/--矢量搜索子系统styles.css--可选UI样式
许可证
麻省理工学院
