Skip to main content
Glama
Alexandre1116

Obsidian Vault API

Obsidian Vault API — Docker

这是 Obsidian Vault API 的 Docker 兼容版本。它将你的 Obsidian 仓库暴露为 MCP 服务器——无需 Obsidian 桌面应用。可在任何服务器或 NAS 上 24/7 运行。

原版插件运行在 Obsidian 内部,使用 Obsidian API 和 Electron 的 Canvas 进行图像处理。本版本作为 Docker 中的独立 Node.js 进程 运行,使用直接的 fs 操作和 sharp 进行图像缩放。原版的全部 13 个 MCP 工具均得到保留。

快速开始

docker-compose(推荐)

services:
  vault-api:
    build: .
    container_name: obsidian-vault-api
    restart: unless-stopped
    ports:
      - "2768:2768"
    volumes:
      - /path/to/your/vault:/vault
      - vault-api-data:/data
    environment:
      - VAULT_API_KEY=your-secret-key-here

volumes:
  vault-api-data:
docker compose up -d

docker run

docker run -d \
  --name obsidian-vault-api \
  -p 2768:2768 \
  -v /path/to/your/vault:/vault \
  -v vault-api-data:/data \
  -e VAULT_API_KEY=your-secret-key-here \
  ghcr.io/alexandre1116/obsidian-vault-api-docker:latest

Web 界面

启动容器后,打开浏览器并访问:

http://localhost:2768/

仪表盘可让你:

  • 查看服务器状态(运行中/已停止、端口、仓库名称)

  • 编辑配置(端口、绑定地址、允许的命令)——更改会保存到 /data/config.json,并在重启后持续生效

  • 重新生成 API 密钥——生成新的密钥,需要客户端重新连接

  • 重启 / 停止 MCP 服务器,而无需停止容器

  • 复制连接信息——SSE URL、Claude Desktop JSON 配置、API 密钥

Web 界面本身不需要身份验证(它是配置页面)。MCP 端点(/sse/message/raw)需要 API 密钥。

配置

配置存储在 /data/config.json 中,并在容器重启后持续保留。环境变量在首次启动时作为初始覆盖值——此后,配置文件是权威来源。

变量

默认值

说明

VAULT_PATH

/vault

容器内仓库目录的路径

DATA_DIR

/data

持久化配置文件的路径

VAULT_API_PORT

2768

监听端口

VAULT_API_BIND

0.0.0.0

绑定地址(Docker / 网络访问使用 0.0.0.0

VAULT_API_KEY

(自动生成)

用于 MCP 身份验证的 API 密钥。如果为空,将生成并保存一个

VAULT_API_ALLOWED_COMMANDS

*

允许的 shell 命令的 Glob 模式(逗号分隔)。* = 全部允许

VAULT_API_HOST

127.0.0.1:2768

图片 URL 中报告的主机(如果位于代理后面,请设置为你的外部地址)

连接你的 AI 客户端

LM Studio / Open WebUI / 任何支持 SSE 的 MCP 客户端

添加 MCP 服务器 URL:

http://localhost:2768/sse?key=YOUR_API_KEY

Claude Desktop

添加到 claude_desktop_config.json

{
  "mcpServers": {
    "obsidian": {
      "url": "http://localhost:2768/sse?key=YOUR_API_KEY"
    }
  }
}

或者直接从 Web 界面仪表盘复制 JSON。

身份验证

任选其一:

  • 查询参数:?key=YOUR_API_KEY

  • HTTP 请求头:X-Api-Key: YOUR_API_KEY

可用工具

工具

说明

list_files

列出仓库文件——按文件夹或扩展名筛选

read_file

读取文本文件、查看图片、以 base64 获取二进制数据

write_file

创建或更新文本文件

write_binary

从 base64 数据创建或覆盖二进制文件

append_file

向现有文件追加文本

delete_file

删除文件

read_frontmatter

将 YAML frontmatter 读取为解析后的键值对

update_frontmatter

设置、更新或删除 frontmatter 字段

create_folder

创建新文件夹

delete_folder

删除文件夹

rename_folder

重命名或移动文件夹

search

在文件名和内容中进行关键词搜索

run_local_command

在容器内的仓库目录中运行 shell 命令

图片支持

大图片会自动使用 sharp 调整大小(纯 Node.js,无需 Electron):

文件大小

最大尺寸

格式

<= 4 MB

原始

保持原样

4–20 MB

1024 px

JPEG 85%

20–100 MB

800 px

JPEG 85%

> 100 MB

512 px

JPEG 85%

NFS / 网络挂载

服务器在每次工具调用时都会直接从文件系统读取最新文件——无缓存。NFS 挂载可实时工作:

volumes:
  - nfs-vault:/vault

volumes:
  nfs-vault:
    driver: local
    driver_opts:
      type: nfs
      device: ":/path/on/nfs"
      o: addr=10.0.0.1,nfsvers=4

健康检查

curl http://localhost:2768/health

公开返回 { "status": "ok", "version": "1.1.0" }。经过身份验证的请求还会返回 vaultportsessions

从源码构建

git clone https://github.com/Alexandre1116/Obsidian-Vault-API-Docker
cd Obsidian-Vault-API-Docker
docker compose build
docker compose up -d

或者不使用 Docker:

npm install
npm run build
VAULT_PATH=/path/to/vault VAULT_API_KEY=secret npm start

与原版插件的区别

原版(Obsidian 插件)

Docker 版本

运行时

Obsidian 桌面应用内部

Docker 中的独立 Node.js

文件访问

Obsidian Vault API(app.vault

Node.js fs

图片缩放

Electron Canvas API

sharp(原生,无 GUI 依赖)

文件删除

系统回收站(可恢复)

永久删除

设置界面

Obsidian 设置选项卡

位于 http://host:2768/ 的 Web 界面

配置存储

Obsidian 插件数据

/data/config.json(Docker 卷)

绑定地址

127.0.0.1

可配置(默认 0.0.0.0

Bridge.js / Claude 配置

由插件自动写入

从 Web 界面复制

许可证

CC BY-NC-SA 4.0——与原版项目相同。

-
license - not tested
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
2Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • Serve a folder of Markdown notes as an MCP server: hybrid search, reading, and sourced answers.

  • Markdown-based note-taking with a hosted MCP server. Your notes serve you and your AI.

  • Agent-native MCP server over the public saagarpatel.dev corpus. Read-only, stateless.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Alexandre1116/Obsidian-Vault-API-Docker'

If you have feedback or need assistance with the MCP directory API, please join our Discord server