Obsidian文件系统MCP服务器

一个基于Docker的MCP服务器,通过HTTP提供对Obsidian保管库的文件系统访问。

  • by natesena
  • Dockerfile
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 natesena/obsidian-filesystem-mcp

使用说明

黑曜石文件系统mcp

基于Docker的MCP服务器,通过HTTP提供对黑曜石保管库的文件系统访问。使用官方 @modelcontextprotocol/server-filesystem 随着 supergateway 用于HTTP传输。

零自定义代码。Docker容器中只有两个维护良好的包。

快速开始

cp .env.example .env
# Edit .env to set VAULT_PATH to your Obsidian vault directory
docker compose up -d

MCP服务器将在 http://localhost:3102/mcp.

配置

变量 默认值 描述
VAULT_PATH ./vault 黑曜石保险库目录的路径
MCP_PORT 3102 暴露MCP服务器的主机端口

Claude代码配置

添加到您的 .claude.json 或项目MCP配置:

{
  "mcpServers": {
    "obsidian": {
      "type": "http",
      "url": "http://localhost:3102/mcp"
    }
  }
}

可用工具

工具 说明
read_text_file 读取文件(支持头/尾行限制)
read_multiple_files 在一次调用中读取多个文件
read_media_file 以base64格式读取图像/音频
write_file 创建或覆盖文件
edit_file 基于行的编辑,支持模拟运行
create_directory 创建目录(递归)
move_file 移动/重命名文件
list_directory 列出目录内容
list_directory_with_sizes 列出文件大小和排序
directory_tree 递归JSON树结构
search_files 按名称模式搜索Glob风格的文件
get_file_info 文件元数据(大小、日期、权限)
list_allowed_directories 显示可访问的目录

建筑

AI Agent / Claude Code
    |  Streamable HTTP
supergateway (HTTP :3101)
    |  stdio
@modelcontextprotocol/server-filesystem
    |  Node.js fs
/vault (Docker bind mount)

为什么存在

大多数黑曜石MCP服务器是:

  • 过度设计 (12k+LOC,有需要修补的漏洞)
  • 仅限stdio (远程访问没有HTTP传输)

该项目将官方MCP文件系统服务器与超级网关相结合,以获得一个生产就绪、可远程访问的MCP服务器,无需自定义代码。