Obsidian MCP服务器

一个与LLM Agent联动的Obsidian MCP Stdio服务器,提供Python基础的Obsidian功能管理,包括Vault和文件管理。

  • by zerogon1203
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 zerogon1203/obsidian-mcp-server

使用说明

黑曜石-MCP服务器

可与LLM Agent配合使用的Model Context Protocol(MCP)Stdio服务器。该服务器提供基于Python的Obsidian相关功能,以便LLM Agent能够利用Obsidian相关功能。

功能

Vault管理

  • 创建Vault
  • 删除Vault
  • 查看Vault列表
  • 查看Vault信息
  • 查看Vault设置
  • 更改Vault设置

文件管理

  • 查看Vault文件列表
  • 创建Vault文件(创建/修改)
  • 删除Vault文件

安装方法

  1. 存储库克隆
git clone https://github.com/your-username/obsidian-mcp-server.git
cd obsidian-mcp-server
  1. 创建和激活虚拟环境
python -m venv venv
source venv/bin/activate  # Linux/Mac
# 또는
.\venv\Scripts\activate  # Windows
  1. 依赖性安装
pip install -r requirements.txt
  1. 设置环境变量 .env 创建文件并添加以下内容:
OBSIDIAN_VAULT_PATH=/path/to/your/obsidian/vault

使用方法

运行服务器

python main.py

API使用示例

创建Vault

{
    "jsonrpc": "2.0",
    "method": "create_vault",
    "params": {
        "vault_name": "my_vault",
        "path": "/optional/custom/path"
    },
    "id": 1
}

查看Vault列表

{
    "jsonrpc": "2.0",
    "method": "list_vaults",
    "params": {},
    "id": 2
}

创建文件

{
    "jsonrpc": "2.0",
    "method": "write_vault_file",
    "params": {
        "vault_name": "my_vault",
        "file_path": "notes/example.md",
        "content": "# Example Note\n\nThis is a test note."
    },
    "id": 3
}

错误代码

  • -3200:一般错误
  • -3001:找不到Vault
  • -332002:Vault已存在
  • -32003:找不到文件
  • -32004:找不到路径
  • -3205:找不到配置文件
  • -32006:设置无效
  • -32007:文件操作错误
  • -32008:请求无效
  • -32009:环境变量设置错误
  • -302010:Obsidian目录错误

响应格式

成功响应

{
    "jsonrpc": "2.0",
    "id": 1,
    "result": {
        "status": "success",
        "message": "Operation completed successfully",
        "data": {}
    }
}

错误响应

{
    "jsonrpc": "2.0",
    "id": 1,
    "error": {
        "code": -32001,
        "message": "Vault 'my_vault' does not exist"
    }
}

许可证

MIT许可证

如何安装Cursor

要在Cursor中使用此MCP服务器,请将其设置为:

"obsidian-mcp-server": {
    "transport": "stdio",
    "command": "/path/to/your/venv/bin/python",
    "args": ["/path/to/your/obsidian-mcp-server/main.py"],
    "env": {
        "OBSIDIAN_VAULT_PATH": "/path/to/your/obsidian/vault"
    }
}

请根据您的环境修改每个路径:

  • /path/to/your/venv/bin/python:Python虚拟环境中的Python可执行文件路径
  • /path/to/your/obsidian-mcp-server/main.py:此项目的main.py文件路径
  • /path/to/your/obsidian/vault:Obsidian Vault路径