笔记管理插件

F9 Lore MCP是一款通过HTTP/SSE端点提供笔记和文件夹操作功能的插件,支持AI助手和兼容MCP的客户端进行读取、搜索和编辑笔记。

  • by foundry-9
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 foundry-9/f9-lore-mcp

使用说明

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 -跨音符查找和替换字符串(使用干运行模式)

其他

  • 拼 -健康检查

安装

来源

  1. 将此存储库克隆到vault的插件目录中:

    cd <your-vault>/.obsidian/plugins/
    git clone https://github.com/f9/f9-lore-mcp.git
    cd f9-lore-mcp
    npm install
    npm run build
    
  2. 在设置中启用插件→ 社区插件→ F9 Lore MCP

为了发展

  1. 克隆和安装依赖关系:

    git clone https://github.com/f9/f9-lore-mcp.git
    cd f9-lore-mcp
    npm install
    
  2. 开始观看模式:

    npm run dev
    
  3. Symlink到您的保险库:

    ln -s /path/to/f9-lore-mcp <vault>/.obsidian/plugins/f9-lore-mcp
    
  4. 在黑曜石设置中启用插件→ 社区插件

配置

基本设置

  • 端口 -HTTP服务器端口(默认值:3000)
  • 启用MCP服务器 -打开/关闭服务器
  • 会话超时 -自动关闭非活动会话(默认值:30分钟)

HTTPS(可选)

对于需要TLS的客户端(如具有严格安全性的Claude Desktop):

  1. 启用“启用HTTPS”切换
  2. 粘贴您的TLS证书内容
  3. 粘贴您的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样式

许可证

麻省理工学院