Obsidian REST API服务器

一个通过Local REST API插件与Obsidian交互的服务器,提供文件管理、内容搜索和编辑等功能。

  • by Jordanm37
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 Jordanm37/mcp-obsidian

使用说明

黑曜石MCP服务器

MCP服务器通过本地REST API社区插件与黑名单互动。

组件

工具

服务器实现了多种与黑曜石交互的工具:

  • list_files_in_vault:列出黑曜石保管库根目录中的所有文件和目录
  • list_files_in_dir:列出特定黑曜石目录中的所有文件和目录
  • get_file_contents:返回vault中单个文件的内容。
  • 搜索:在vault中的所有文件中搜索与指定文本查询匹配的文档
  • patch_content:将内容插入到相对于标题、块引用或frontmatter字段的现有注释中。
  • append_content:将内容附加到vault中的新文件或现有文件。

示例提示

最好先指导克劳德使用黑曜石。然后,它将始终调用该工具。

使用提示如下:

  • 获取上次架构调用说明的内容并对其进行总结
  • 搜索所有提到Azure CosmosDb的文件,并快速向我解释提到它的上下文
  • 总结上次会议笔记,并将其放入新笔记“summary meeting.md”中。添加一个介绍,这样我就可以通过电子邮件发送了。

配置

黑名单REST API密钥

使用Obsidian REST API密钥配置环境有两种方法。

  1. 添加到服务器配置(首选)
{
  "mcp-obsidian": {
    "command": "uvx",
    "args": [
      "mcp-obsidian"
    ],
    "env": {
      "OBSIDIAN_API_KEY":"<your_api_key_here>"
    }
  }
  1. 创建一个 .env 工作目录中的文件,其中包含以下必需变量:
OBSIDIAN_API_KEY=your_api_key_here

注意:您可以在Obsidian插件配置中找到密钥。

快速启动

安装

黑眼圈REST API

您需要运行Obsidian REST API社区插件:https://github.com/coddingtonbear/obsidian-local-rest-api

在设置中安装并启用它,然后复制api密钥。

克劳德桌面

在MacOS上: ~/Library/Application\ Support/Claude/claude_desktop_config.json

在Windows上: %APPDATA%/Claude/claude_desktop_config.json

Development/Unpublished Servers Configuration
{
  "mcpServers": {
    "mcp-obsidian": {
      "command": "uv",
      "args": [
        "--directory",
        "<dir_to>/mcp-obsidian",
        "run",
        "mcp-obsidian"
      ]
    }
  }
}
Published Servers Configuration
{
  "mcpServers": {
    "mcp-obsidian": {
      "command": "uvx",
      "args": [
        "mcp-obsidian"
      ],
      "env": {
        "OBSIDIAN_API_KEY" : "<YOUR_OBSIDIAN_API_KEY>"
      }
    }
  }
}

发展

建筑

准备分发包裹:

  1. 同步依赖关系并更新锁文件:
uv sync

调试

由于MCP服务器在stdio上运行,调试可能具有挑战性。为了达到最佳调试效果 经验,我们强烈建议使用 MCP检查员.

您可以通过以下方式启动MCP检查器 npm 使用此命令:

npx @modelcontextprotocol/inspector uv --directory /path/to/mcp-obsidian run mcp-obsidian

启动后,检查器将显示一个URL,您可以在浏览器中访问该URL以开始调试。

您还可以使用以下命令查看服务器日志:

tail -n 20 -f ~/Library/Logs/Claude/mcp-server-mcp-obsidian.log