Obsidian MCP服务器

一个通过Obsidian Local REST API插件为AI助手提供访问Obsidian知识库的模型上下文协议服务器。

  • by CtrlAltAdapt
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 CtrlAltAdapt/obsidian-mcp-server

使用说明

Obsidian MCP 服务器

一个模型上下文协议(MCP)服务器,它通过Obsidian本地REST API插件为AI助手提供访问您的Obsidian资料库的权限。

特点/特性

工具

  • 获取Obsidian笔记通过文件名检索笔记内容
  • Obsidian 创建笔记创建带有可选前置内容的新笔记
  • Obsidian更新说明更新现有笔记内容和元数据
  • 删除Obsidian笔记从保险库中删除笔记
  • Obsidian搜索笔记搜索包含特定文本的笔记
  • 列出 Obsidian 文件列出保险库中的所有文件和文件夹
  • 获取Obsidian数据库信息获取保险库信息和统计数据
  • Obsidian 创建文件夹在保险库中创建新文件夹
  • 获取Obsidian中的标签获取保险库中使用的所有标签
  • Obsidian-ping检查服务器连接性

资源

  • **obsidian://note/{文件名}**访问单个笔记内容
  • **obsidian://vault/files 翻译成中文是:“Obsidian:vault(知识库)文件”**完整的文件和文件夹列表
  • **obsidian://vault/info 翻译为中文是:“Obsidian 隐藏文件夹/信息”。不过,这里的“vault”在 Obsidian 中通常指的是你的知识库或存储空间,所以更自然的翻译可能是“Obsidian 知识库/信息”**保险库信息和统计数据
  • obsidian://vault/tags 翻译为中文是:“Obsidian 隐藏文件夹/标签”。不过,这里的“vault”在 Obsidian 中通常指的是“知识库”或“存储库”,而“tags”则是“标签”。因此,更贴切的翻译可能是“Obsidian 知识库/标签”。但为了保持原句的格式,上述翻译也保留了原意保险库中的所有标签
  • **obsidian://search/{query} 翻译成中文是:“Obsidian 搜索:{查询内容}”**动态搜索结果

先决条件

  1. 黑曜石 (与)……一起/凭借 本地REST API 插件已安装并启用
  2. Node.js (版本18或更高)

设置 Obsidian 本地 REST API

  1. 安装 Obsidian本地REST API插件
  2. 在Obsidian设置中启用插件
  3. 配置插件设置:
    • 端口默认是 27123 (或选择您偏好的端口)
    • API密钥设置一个安全的API密钥(可选但建议)
    • **CORS(跨源资源共享)**如需基于Web的MCP客户端,请启用

安装

从 NPM(发布时)

npm install -g obsidian-mcp-server

来自源(或“来源”)

git clone <repository-url>
cd obsidian-mcp-server
npm install
npm run build

配置

服务器使用环境变量进行配置:

使用 .env 文件(推荐)

  1. 复制示例环境文件:
cp .env.example .env
  1. 编辑 .env 保存您的设置文件:
# Required: Obsidian Local REST API base URL
OBSIDIAN_API_BASE_URL=http://localhost:27123

# Optional: API key if configured in Obsidian plugin
OBSIDIAN_API_KEY=your-api-key-here

服务器自动加载 .env 启动时加载文件。

使用环境变量

或者,您可以直接设置环境变量:

# Required: Obsidian Local REST API base URL
export OBSIDIAN_API_BASE_URL="http://localhost:27123"

# Optional: API key if configured in Obsidian plugin
export OBSIDIAN_API_KEY="your-api-key-here"

使用 Claude Desktop

在您的Claude桌面配置文件中添加:

macOS(苹果电脑操作系统): ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\\Claude\\claude_desktop_config.json

{
  "mcpServers": {
    "obsidian": {
      "command": "obsidian-mcp-server",
      "env": {
        "OBSIDIAN_API_BASE_URL": "http://localhost:27123",
        "OBSIDIAN_API_KEY": "your-api-key-here"
      }
    }
  }
}

与其他MCP客户端一起

对于stdio传输:

OBSIDIAN_API_BASE_URL="http://localhost:27123" OBSIDIAN_API_KEY="your-key" obsidian-mcp-server

使用示例

一旦连接成功,您可以向您的AI助手询问:

基本操作

  • “给我看看‘会议记录.md’文件的内容”
  • “创建一个名为‘Ideas.md’的新笔记,内容为‘我的绝妙想法’”
  • “搜索包含‘项目’的笔记”
  • “列出我保险库中的所有文件”

高级操作

  • “创建一个包含前置内容(包括标签和创建日期)的笔记”
  • “更新我的每日笔记,添加今天的任务”
  • “显示我保险库中的所有标签”
  • “创建一个名为‘项目’的文件夹来整理我的工作”

利用资源工作

  • 直接访问笔记内容: obsidian://note/filename.md
  • 查看保险库统计信息: obsidian://vault/info
  • 获取搜索结果: obsidian://search/your%20query

发展

设置

git clone <repository-url>
cd obsidian-mcp-server
npm install

开发模式

npm run dev

构建

npm run build

测试

# Test with MCP Inspector
npx @modelcontextprotocol/inspector npm run dev

# Or test with a specific configuration
OBSIDIAN_API_BASE_URL="http://localhost:27123" npx @modelcontextprotocol/inspector npm run dev

API 参考

环境变量

变量 描述 默认值 是否必需
OBSIDIAN_API_BASE_URL Obsidian本地REST API的基准URL http://localhost:27123 不
OBSIDIAN_API_KEY 用于身份验证的API密钥 - 否

工具模式(或工具架构)

获取Obsidian笔记

{
  filename: string // The filename of the note to retrieve
}

Obsidian 创建笔记

{
  filename: string // The filename for the new note
  content: string // The content of the note
  frontmatter?: Record<string, any> // Optional frontmatter metadata
}

Obsidian搜索笔记

{
  query: string // The search query text
}

资源URI(统一资源标识符)

  • obsidian://note/{filename} - 单个笔记内容
  • obsidian://vault/files - 完整的文件列表
  • obsidian://vault/info - 保险库信息
  • obsidian://vault/tags - 所有标签
  • obsidian://search/{query} - 搜索结果

故障排除

连接问题

  1. 服务器无法访问确保Obsidian正在运行,并且已启用Local REST API插件
  2. 端口冲突检查端口27123(或您配置的端口)是否可用
  3. API密钥问题验证API密钥是否与您的Obsidian插件配置相匹配

常见问题

  • “找不到模块”错误跑 npm install 安装依赖项
  • 权限错误确保构建目录的文件权限设置正确
  • CORS错误在Obsidian本地REST API插件设置中启用CORS

调试模式

以调试日志模式运行:

DEBUG=* OBSIDIAN_API_BASE_URL="http://localhost:27123" obsidian-mcp-server

📚 文档

📖 完整文档

查看 docs/(文档/) 文件夹用于存放综合指南,或查阅 文档索引 以便有组织地访问所有指南。

设置与配置

Docker & 部署

出版与发行

快速链接

主题 指南 描述
(无) (无) (无)
开始跑步的最快方式 🐳 Docker [ ](docs/DOCKER_SUMMARY.md) Docker 概述
集装箱化概述 ⚙️ 配置 [ ](docs/ENV_FILE_USAGE.md) 环境文件
管理环境变量 ** 小店** 出版 [

| 与社区分享 |

  1. 贡献;做出贡献
  2. 为仓库创建分支(或:克隆仓库) git checkout -b feature-name
  3. 创建一个特性分支:
  4. 进行你的更改并添加测试 npm run build
  5. 运行构建:

提交一个拉取请求

许可证 MIT 许可证 - 请参阅 许可证

详情请见文件。


- 支持MCP的AI助手