article
README
🚀 Obsidian-MCP MCP 服务器
这是一个基于 TypeScript 的 MCP 服务器,实现了与 Obsidian 的集成。它能展示核心 MCP 概念,帮助用户基于 Obsidian 文库内容进行资源表示、访问文库数据,还能实现与 Obsidian API 的集成。
🚀 快速开始
先决条件
- Node.js v18+
- TypeScript 5.3+
- Obsidian API 密钥(设置为
OBSIDIAN_API_KEY环境变量)
设置
# 安装依赖项
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
{
"mcpServers": {
"obsidian-mcp": {
"command": "/path/to/obsidian-mcp/build/index.js",
"env": {
"OBSIDIAN_API_KEY": "your-api-key-here"
}
}
}
}
调试
我们推荐使用 MCP Inspector:
npm run inspector
Inspector 将提供一个 URL,用于在浏览器中访问调试工具。
✨ 主要特性
资源
- 通过
obsidian://server-infoURI 访问 Obsidian 服务器信息。 - 获取文库内容及其元数据。
- 支持 JSON 格式以实现轻松集成。
工具
get_vault_contents- 检索 Obsidian 文库的内容:- 接受路径作为可选参数(默认:根目录)。
- 返回结构化的 JSON 响应。
API 集成
- 通过 HTTPS 实现与 Obsidian API 的安全连接。
- 带有错误处理的自定义 axios 客户端。
- 支持 Windows 路径规范化。
📦 安装指南
要与 Claude Desktop 一起使用,请添加服务器配置:
- 在 MacOS 上:
~/Library/Application Support/Claude/claude_desktop_config.json - 在 Windows 上:
%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"obsidian-mcp": {
"command": "/path/to/obsidian-mcp/build/index.js",
"env": {
"OBSIDIAN_API_KEY": "your-api-key-here"
}
}
}
}
📚 详细文档
项目统计数据
- 总代码行数: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
依赖项
运行时
@modelcontextprotocol/sdk:MCP 服务器实现axios:HTTP 客户端用于 API 通信
开发
@types/node:Node.js 的 TypeScript 定义typescript:TypeScript 编译器
扫码联系在线客服