项目介绍
<div align="center">
<img src="https://github.com/user-attachments/assets/58897c99-bc54-4a88-8c7a-b04233d688a1" alt="标题图片" width="800">
<h1>obsidian-mcp MCP服务器</h1>
<p>
<a href="https://github.com/Sunwood-ai-labs/obsidian-mcp">
<img src="https://img.shields.io/github/stars/Sunwood--ai-labs/obsidian-mcp?style=social" alt="GitHub Stars">
</a>
<a href="https://github.com/Sunwood-ai-labs/obsidian-mcp/issues">
<img src="https://img.shields.io/github/issues/Sunwood-ai-labs/obsidian-mcp" alt="GitHub Issues">
</a>
<a href="https://github.com/Sunwood-ai-labs/obsidian-mcp/blob/main/LICENSE">
<img src="https://img.shields.io/github/license/Sunwood-ai-labs/obsidian-mcp" alt="许可证">
</a>
</p>
<p>
<img src="https://img.shields.io/badge/TypeScript-3178C6?logo=typescript&logoColor=white" alt="TypeScript">
<img src="https://img.shields.io/badge/Node.js-339933?logo=node.js&logoColor=white" alt="Node.js">
<img src="https://img.shields.io/badge/Obsidian-7C3AED?logo=obsidian&logoColor=white" alt="Obsidian">
<img src="https://img.shields.io/badge/MCP-FF6F61?logo=data:image/svg+xml;base64,..." alt="MCP">
</p>
</div>
一个与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-infoURI访问Obsidian服务器信息
- 获取带有元数据的保险库内容
- 使用JSON格式便于集成
工具
get_vault_contents - 检索Obsidian保险库的内容
- 接受可选参数路径(默认:根目录)
- 返回结构化的JSON响应
API集成
- 与Obsidian API的安全HTTPS连接
- 带有错误处理的自定义axios客户端
- 支持Windows路径规范化
开发
预备条件
- 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,以便您在浏览器中访问调试工具。
依赖项
运行时
- @modelcontextprotocol/sdk: MCP服务器实现
- axios: API通信的HTTP客户端
开发
- @types/node: Node.js的TypeScript定义
- typescript: TypeScript编译器