小贴士:按下Ctrl+D 或 ⌘+D,一键收藏本站,方便下次快速访问!
10
最近更新:1个月前

与 Obsidian 仓库集成,支持查询、创建和修改笔记,从而提升个人知识管理工作流程的效率。

Header Image

obsidian-mcp MCP 服务器

GitHub Stars GitHub Issues License

TypeScript Node.js Obsidian MCP

用于 Obsidian 集成的 Model Context Protocol 服务器

这是一个基于 TypeScript 的 MCP 服务器,实现了与 Obsidian 的集成。它通过提供以下功能来演示 MCP 的核心概念:

  • 代表 Obsidian 仓库内容的资源
  • 访问仓库数据的工具
  • 与 Obsidian 的 API 集成

项目统计

  • 代码总行数:345
  • 主要文件:
    • src/tool-handlers.ts (76 行)
    • src/resource-handlers.ts (45 行)
    • src/server.ts (32 行)
    • src/api-client.ts (25 行)

目录结构

复制代码
obsidian-mcp/
├── .codegpt/
│   └── head
├── src/
│   ├── api-client.ts
│   ├── index.ts
│   ├── resource-handlers.ts
│   ├── server.ts
│   └── tool-handlers.ts
├── .SourceSageignore
├── package.json
├── README.md
└── tsconfig.json

功能特性

资源

  • 通过 obsidian://server-info URI 访问 Obsidian 服务器信息
  • 获取带有元数据的仓库内容
  • JSON 格式便于集成

工具

  • get_vault_contents - 获取 Obsidian 仓库内容
    • 接收路径作为可选参数(默认为根目录)
    • 返回结构化的 JSON 响应

API 集成

  • 与 Obsidian API 的安全 HTTPS 连接
  • 带有错误处理的自定义 axios 客户端
  • 支持 Windows 路径标准化

开发指南

先决条件

  • Node.js v18+
  • TypeScript 5.3+
  • Obsidian API 密钥(设置为 OBSIDIAN_API_KEY 环境变量)

设置

bash 复制代码
# 安装依赖
npm install

# 构建服务器
npm run build

# 启动开发服务器并自动重建
npm run watch

安装

要与 Claude Desktop 一起使用,请添加服务器配置:

在 MacOS 上:~/Library/Application Support/Claude/claude_desktop_config.json
在 Windows 上:%APPDATA%/Claude/claude_desktop_config.json

json 复制代码
{
  "mcpServers": {
    "obsidian-mcp": {
      "command": "/path/to/obsidian-mcp/build/index.js",
      "env": {
        "OBSIDIAN_API_KEY": "your-api-key-here"
      }
    }
  }
}

调试

我们推荐使用 MCP Inspector

bash 复制代码
npm run inspector

检查器将提供一个 URL,用于在浏览器中访问调试工具。

依赖项

运行时

  • @modelcontextprotocol/sdk: MCP 服务器实现
  • axios: 用于 API 通信的 HTTP 客户端

开发

  • @types/node: Node.js 的 TypeScript 定义
  • typescript: TypeScript 编译器