入门攻略
MCP提交
探索
Obsidian MCP Server Nyt
内容详情
替代品
Obsidian MCP 服务器插件
English | Original English README
此 Obsidian 插件运行一个本地 MCP(模型上下文协议)服务器,允许外部应用程序(如 AI 助手、脚本或其他工具)通过标准化接口与您的 Obsidian 知识库交互。
这是一个在开发中的插件,目前功能可用但可能存在一些错误或未完成的功能。如果遇到任何问题,请随时报告。由于我对 TypeScript 的掌握不够熟练,可能会存在安全性和可靠性问题。您可以通过 GitHub 提交问题或拉取请求,我会尽快回复。
功能
- 本地 MCP 服务器: 在配置的端口上运行一个基于流式传输协议(SSE)的 MCP 服务器。
- 知识库索引以支持语义搜索:
- 将 Markdown 笔记内容索引到 Orama 向量数据库中。
- 使用与 OpenAI 相兼容的嵌入模型(例如,OpenAI、通过兼容端点连接的本地 Ollama 模型)生成嵌入。
- 支持配置文本分块参数(大小、重叠、分隔符)。
- 可以通过类似
.gitignore
的语法排除特定文件或模式。
- Obsidian 集成:
- 命令: 在 Obsidian 命令调色板中提供以下命令:
- 启动/停止 MCP 服务器。
- 重新索引整个知识库(可能需要时间且根据嵌入提供商的不同可能会产生费用)。
- 手动保存向量数据库索引。
- 设置面板: 提供一个专用的设置选项卡,用于配置:
- 服务器端口和自动启动行为。
- 嵌入模型详细信息(API 端点、模型名称、API 密钥)。
- 索引时排除文件或模式的文件排除规则。
- 分块参数。
- 验证嵌入提供商连接状态。
- 功能图标: 在 Obsidian 标题栏中添加一个状态图标,指示 MCP 服务器是正在运行还是已停止。
- 多语言支持: 根据 Obsidian 的语言设置,支持英文和中文界面。
- 命令: 在 Obsidian 命令调色板中提供以下命令:
MCP 工具
- MCP 工具:此插件暴露的工具可以通过配置的端口在外部应用程序中使用。默认情况下,这些工具通过 HTTP 端点访问。
配置
-
编辑
config.json
文件:- 指定 MCP 服务器使用的端口。
{ "port": 3000, ... }
-
在 Obsidian 中启用插件后,访问 http://localhost:<指定端口>/api 查看可用工具。
已知问题及限制
-
文件大小限制: 如果您的知识库包含大量笔记,当
orama.json
文件超过 512MB 时,索引可能会失败。目前没有解决方法,只能通过减少笔记/分块数量来缓解。 -
数字存储: OramaDB 将浮点数存储为原始字符串,这会导致数据库大小迅速增加。
开发
该项目使用 TypeScript。请确保已安装 Node.js 和 npm。
- 克隆仓库。
- 运行
npm install
安装依赖项。 - 运行
npm run dev
编译插件并监视文件变化。 - 将生成的
main.js
,manifest.json
, 和styles.css
文件复制到您的 Obsidian 知识库的.obsidian/plugins/mcp-server/
目录中。 - 重新加载 Obsidian 并启用插件。
使用说明
-
启动 MCP 服务器:
- 在 Obsidian 中启用插件后,访问 http://localhost:<指定端口>/api 查看可用工具。
-
使用 MCP 工具:
- 配置外部应用程序以与暴露的 HTTP 端点交互。
-
停止 MCP 服务器:
- 使用“停止 MCP 服务器”命令关闭服务,以避免资源浪费。
注意事项
- 嵌入式模型的性能和行为可能因使用的具体模型而异。
- OramaDB 的存储机制可能导致数据库文件快速增长,请定期监控文件大小并清理不必要的数据。
通过这个插件,您可以方便地将 Obsidian 知识库与外部工具和服务集成,扩展其功能和应用场景。