增强版的Obsidian MCP Server,支持Claude.ai远程集成、Tailscale支持以及高级查询功能!
🔥 增强分支通知: 这是基于优秀的cyanheads/obsidian-mcp-server的增强版本,增加了专门针对远程Claude.ai集成、高级任务查询以及通过Tailscale实现的安全性的新特性。
一个MCP(模型上下文协议)服务器,提供对您的Obsidian保险库的全面访问。它使LLMs和AI代理能够通过Obsidian本地REST API插件读取、写入、搜索和管理您的笔记和文件。
基于cyanheads/mcp-ts-template,此服务器遵循模块化架构,并具有强大的错误处理、日志记录和安全特性。
通过单个MCP服务器同时访问多个Obsidian保险库:
vault参数自动路由到正确的保险库与Claude.ai的远程MCP功能完美集成:
MCP_HTTP_STATELESS=true)从任何地方安全地访问您的Obsidian保险库:
超越原始版本的高级查询能力:
企业级监控和自动重启能力:
scripts/health-check.sh)scripts/monitor-mcp.sh)scripts/setup-autostart.sh)此服务器为您的AI提供了与您的Obsidian保险库交互的专用工具:
| 工具名称 | 描述 | 关键特性 |
|---|---|---|
obsidian_read_file | 检索指定文件的内容和元数据。 | - 以markdown或json格式读取。<br/>- 路径不区分大小写。<br/>- 包括文件统计信息(创建/修改时间)。 |
obsidian_update_file | 使用全文件操作修改笔记。 | - append,prepend或overwrite内容。<br/>- 如果文件不存在,可以创建文件。<br/>- 通过路径、活动笔记或周期性笔记定位文件。 |
obsidian_search_replace | 在目标笔记中执行查找和替换操作。 | - 支持字符串或正则表达式搜索。<br/>- 可选的大小写敏感、整个单词和替换所有出现。 |
obsidian_global_search | 在整个保险库中执行搜索。 | - 文本或正则表达式搜索。<br/>- 根据路径和修改日期过滤。<br/>- 分页结果。 |
obsidian_list_files | 列出指定保险库文件夹内的文件和子目录。 | - 根据文件扩展名或名称正则表达式过滤。<br/>- 提供目录的格式化树视图。 |
obsidian_manage_frontmatter | 原子化管理笔记的YAML前缀。 | - get,set或delete前缀键。<br/>- 避免为了元数据更改而重写整个文件。 |
obsidian_manage_tags | 添加、删除或列出笔记的标签。 | - 管理YAML前缀和内联内容中的标签。 |
obsidian_delete_file | 从保险库中永久删除指定文件。 | - 为了安全起见,路径不区分大小写。 |
obsidian_dataview_query | 对您的保险库执行Dataview DQL查询。 | - 使用Dataview语法运行TABLE,LIST查询。<br/>- 根据标签、前缀和日期查询笔记。<br/>- 生成报告和分析。 |
obsidian_task_query | 搜索和分析您保险库中的任务。 | - 根据状态、日期范围、优先级过滤。<br/>- 多种输出格式。<br/>- 提取任务元数据(截止日期、标签)。 |
| 概述 | 功能 | 安装 | | 配置 | 项目结构 | 保险库缓存服务 | | 工具 | 资源 | 开发 | 许可证 |
Obsidian MCP Server充当桥梁,允许理解模型上下文协议(MCP)的应用程序(MCP客户端)——如高级AI助手(LLMs)、IDE扩展或自定义脚本——直接且安全地与您的Obsidian保险库交互。
而不是复杂的脚本或手动交互,您的工具可以利用此服务器来:
基于强大的mcp-ts-template,此服务器提供了一种标准化、安全且高效的方式,通过MCP标准暴露Obsidian功能。它通过与运行在您的保险库内部的强大Obsidian本地REST API插件通信来实现这一点。
开发者提示:此存储库包含一个
.clinerules文件,作为您的LLM编码代理的开发者速查表,快速参考代码库模式、文件位置和代码片段。
利用mcp-ts-template提供的强大实用工具:
McpError),并自动记录。dotenv)带有全面验证。zod进行模式验证和自定义清理逻辑。ObsidianRestApiService管理的HTTP请求直接与Obsidian本地REST API插件通信。💡 快速设置:安装后,请参阅自动启动设置指南以实现开机自动启动。
git clone https://github.com/BoweyLou/obsidian-mcp-server-enhanced.git
cd obsidian-mcp-server-enhanced
npm install
npm run build
这将编译TypeScript代码到dist/目录中的JavaScript,并使入口点可执行。使用环境变量配置服务器。
这些变量必须在MCP客户端配置(例如,cline_mcp_settings.json)中设置,或者在启动服务器之前(如果直接运行)在环境中设置。
如果直接运行,它们可以在项目根目录中的.env文件中设置,或直接在环境中设置。
| 变量 | 描述 | 必需 | 默认值 |
|---|---|---|---|
MCP_AUTH_KEY | 用于Claude.ai远程MCP访问的身份验证密钥。使用openssl rand -hex 32生成 | 是(远程) | undefined |
OBSIDIAN_VAULTS | 多保险库模式下的保险库配置JSON数组。 | 是(多) | undefined |
OBSIDIAN_API_KEY | 单保险库模式下从Obsidian插件获取的API密钥。 | 是(单) | undefined |
OBSIDIAN_BASE_URL | 单保险库模式下的Obsidian API基础URL。 | 是(单) | http://127.0.0.1:27123 |
MCP_TRANSPORT_TYPE | 服务器传输类型:stdio或http。 | 否 | http |
MCP_HTTP_PORT | HTTP服务器端口。 | 否 | 3010 |
MCP_HTTP_HOST | HTTP服务器主机。 | 否 | 127.0.0.1 |
M_ | MCP_HTTP_STATELESS | 为Claude.ai兼容性启用无状态模式。 | 否 |
MCP_ALLOWED_ORIGINS | CORS的逗号分隔源。生产时设置。 | 否 | (无) |
CHATGPT_LAYER_ENABLED | 设置为true以提供ChatGPT清单加上JSON动作端点。 | 否 | false |
CHATGPT_MANIFEST_PATH | 暴露ChatGPT清单JSON的HTTP路径。 | 否 | /.well-known/obsidian-chatgpt-manifest.json |
CHATGPT_ACTIONS_PATH | ChatGPT JSON动作的HTTP路径(POST)。 | 否 | /chatgpt/actions |
MCP_LOG_LEVEL | 日志级别(debug,info,error等)。 | 否 | info |
OBSIDIAN_VERIFY_SSL | 设置为false以禁用SSL验证。 | 否 | true |
OBSIDIAN_ENABLE_CACHE | 设置为true以启用内存中的保险库缓存。 | 否 | true |
OBSIDIAN_CACHE_REFRESH_INTERVAL_MIN | 保险库缓存的刷新间隔(分钟)。 | 否 | 10 |
服务器支持单保险库(向后兼容)和多保险库模式:
# .env文件
MCP_AUTH_KEY=your-generated-mcp-auth-key
OBSIDIAN_API_KEY=your-obsidian-plugin-api-key
OBSIDIAN_BASE_URL=http://127.0.0.1:27123
MCP_TRANSPORT_TYPE=http
MCP_HTTP_STATELESS=true
# .env文件
MCP_AUTH_KEY=your-generated-mcp-auth-key
OBSIDIAN_VAULTS='[
{
"id": "work",
"name": "Work Vault",
"apiKey": "work-vault-api-key",
"baseUrl": "http://127.0.0.1:27123",
"verifySsl": false
},
{
"id": "personal",
保险库名称:"个人保险库",
"apiKey": "personal-vault-api-key",
"baseUrl": "http://127.0.0.1:27122",
"verifySsl": false
}
]'
MCP_TRANSPORT_TYPE=http
MCP_HTTP_STATELESS=true
openssl rand -hex 32.env中的OBSIDIAN_VAULTS JSON配置npm run start:http要在单保险库模式下连接,配置基础URL(OBSIDIAN_BASE_URL)和API密钥(OBSIDIAN_API_KEY)。Obsidian本地REST API插件提供两种连接类型:
加密(HTTPS):
https://端点(例如,https://127.0.0.1:27124)OBSIDIAN_VERIFY_SSL=false以禁用自签名证书验证