项目简介
本项目是一个基于 Model Context Protocol (MCP) 实现的服务器,用于连接兼容 MCP 协议的大模型(如 Claude)与 Obsidian 笔记应用。它通过调用 Obsidian 的 Local REST API 插件,为大模型提供了与 Obsidian 笔记库交互的能力。
主要功能点
通过 Obsidian 的 Local REST API 插件,该服务器提供了丰富的工具,允许大模型执行以下操作:
- 读写当前激活的笔记内容
- 创建、修改、删除、读取特定文件或周期性笔记(如每日笔记)
- 在笔记库中进行文本或基于元数据的搜索
- 列出笔记库中的文件和目录
- 获取并执行 Obsidian 中的命令
安装步骤
该服务器主要通过您的 MCP 客户端进行管理和启动。您无需单独进行复杂的安装。
- 安装 Obsidian Local REST API 插件: 在 Obsidian 中安装并启用 'Local REST API' 社区插件,并确保已在插件设置中生成并复制了 API Key。
- 安装 Bun: 确保您的系统安装了 Bun 运行时。该服务器使用 Bun 运行。
- 配置 MCP 客户端: 在您的大模型客户端(如 Claude Desktop)的 MCP 服务器配置中,指定启动该服务器的命令和参数(见下一节)。
服务器配置(供 MCP 客户端使用)
这个 MCP 服务器需要由您的 MCP 客户端来启动和管理。您需要在客户端的配置文件中添加如下格式的配置项(具体路径和格式请参考您客户端的文档):
您需要提供以下关键信息:
- 'server name': 服务器标识符。通常使用 '@fazer-ai/mcp-obsidian'。
- 'command': 启动服务器的命令。建议使用 'bunx' 运行最新版本,命令为 'bunx'。
- 'args': 传递给命令的参数。指定服务器 npm 包名称及其版本,例如 '@fazer-ai/mcp-obsidian@latest'。
- 'env': 服务器运行时需要的环境变量。通过这里将您的 Obsidian API Key 传递给服务器。至少需要设置 'OBSIDIAN_API_KEY',其值为您在 Obsidian 插件中获取的 API Key。您还可以选择设置 'OBSIDIAN_PROTOCOL' (http 或 https), 'OBSIDIAN_HOST' (Obsidian API 地址), 'OBSIDIAN_PORT' (Obsidian API 端口) 来覆盖默认值。
例如,一个客户端配置片段可能看起来像这样(这不是代码,请参考您的客户端文档配置):
// claude_desktop_config.json 片段示例 { "mcpServers": { "@fazer-ai/mcp-obsidian": { "command": "bunx", "args": ["@fazer-ai/mcp-obsidian@latest"], "env": { "OBSIDIAN_API_KEY": "您的Obsidian API Key", "OBSIDIAN_HOST": "localhost", // 可选 "OBSIDIAN_PORT": 27123 // 可选 } } } }
基本使用方法
一旦服务器在 MCP 客户端中正确配置并启动,大模型即可根据用户指令自动调用服务器提供的工具。您无需手动与服务器交互。
例如:
- 请求读取笔记: 您可以直接要求大模型“获取我当前激活的笔记内容”,大模型会通过服务器的 'obsidian_get_active' 工具读取笔记内容。
- 请求创建笔记: 您可以要求大模型“创建一个名为 '会议纪要/2024-07-29.md' 的笔记,内容为 '今天的会议讨论了...'”,大模型会调用 'obsidian_put_file' 工具。
- 请求搜索: 您可以要求大模型“在我的笔记库中搜索所有提到 '项目 A' 的地方”,大模型会调用 'obsidian_simple_search' 或其他搜索工具。
您只需向大模型提出清晰自然的指令,大模型会判断是否需要调用 MCP 服务器提供的工具来完成您的请求,并自动执行相应的工具调用。
信息
分类
生产力应用