项目简介
Obsidian CLI MCP 服务器是一个命令行工具,用于与您的 Obsidian 笔记库进行交互,并通过 Model Context Protocol (MCP) 标准集成 AI 助手。它将 Obsidian 笔记库的各项操作(如笔记创建、查询、内容读取、信息获取)封装为 AI 助手可调用的工具,从而实现 AI 助手对笔记库内容的理解和操作。
主要功能点
- 笔记管理: AI 助手可以创建新笔记、搜索现有笔记、读取笔记内容。
- 笔记库信息: AI 助手可以获取关于整个 Obsidian 笔记库的统计信息和配置详情。
- AI 助手集成: 通过标准化的 MCP 协议,任何兼容 MCP 的 AI 客户端(如 Claude Desktop)都可以无缝地与您的 Obsidian 笔记库进行交互。
安装步骤
- 安装 Python 环境: 确保您的系统已安装 Python 3.8 或更高版本。
- 安装 Obsidian CLI 及 MCP 依赖: 打开终端或命令行界面,运行以下命令安装 'obsidian-cli' 及其 MCP 依赖:
如果您已经安装了 'obsidian-cli',可以运行 'pip install "mcp"' 单独安装 MCP 依赖。pip install "obsidian-cli[mcp]"
服务器配置
MCP 客户端需要知道如何启动 'obsidian-cli' MCP 服务器并与之通信。以下是 MCP 客户端配置该服务器的 JSON 格式示例:
{ "server_name": "obsidian-vault", "description": "管理和查询 Obsidian 笔记库的 MCP 服务器", "command": "obsidian-cli", "args": [ "--vault", "/path/to/your/obsidian/vault", "serve" ], "env": { "OBSIDIAN_BLACKLIST": "Assets/:.obsidian/:.git/", "EDITOR": "vi" }, "capabilities": { "tools": { "enabled": true } }, "tools_list": [ { "name": "create_note", "description": "在 Obsidian 笔记库中创建新笔记", "inputSchema": { "type": "object", "properties": { "filename": {"type": "string", "description": "笔记文件名"}, "content": {"type": "string", "description": "初始内容", "default": ""}, "force": {"type": "boolean", "description": "如果笔记已存在则覆盖", "default": false} }, "required": ["filename"] } }, { "name": "find_notes", "description": "按名称或标题查找笔记", "inputSchema": { "type": "object", "properties": { "term": {"type": "string", "description": "搜索词"}, "exact": {"type": "boolean", "description": "只进行精确匹配", "default": false} }, "required": ["term"] } }, { "name": "get_note_content", "description": "获取指定笔记的内容", "inputSchema": { "type": "object", "properties": { "filename": {"type": "string", "description": "笔记文件名"}, "show_frontmatter": {"type": "boolean", "description": "包含 YAML Frontmatter", "default": false} }, "required": ["filename"] } }, { "name": "get_vault_info", "description": "获取 Obsidian 笔记库的信息", "inputSchema": {"type": "object", "properties": {}, "required": []} } ] }
配置参数说明:
- 'server_name': 服务器的唯一标识符。
- 'description': 服务器功能的简要描述。
- 'command': 启动服务器的可执行命令,通常是 'obsidian-cli'。
- 'args': 传递给 'command' 的参数列表。
- '--vault /path/to/your/obsidian/vault': 必需。 指定您的 Obsidian 笔记库的绝对路径。请务必将其替换为您的实际路径。
- 'serve': 启动 MCP 服务器的核心命令。
- 'env': 服务器运行时的环境变量。
- 'OBSIDIAN_BLACKLIST': 可选。一个冒号分隔的目录模式列表(例如 'Assets/:.obsidian/:.git/'),在笔记库操作时将被忽略。
- 'EDITOR': 可选。用于编辑文件的命令行编辑器路径(例如 'vi', 'nano', '/usr/bin/code')。
- 'capabilities': 声明服务器支持的能力,例如工具调用。
- 'tools_list': 服务器暴露给 AI 助手使用的工具列表,每个工具都包含名称、描述和详细的输入参数 Schema。
基本使用方法
- 启动 MCP 服务器: 在终端中导航到任何位置,运行以下命令。请将 '/path/to/your/obsidian/vault' 替换为您的 Obsidian 笔记库的实际路径:
服务器启动后会一直运行,直到您按下 'Ctrl+C' 中断它。obsidian-cli --vault /path/to/your/obsidian/vault serve - AI 助手连接: 服务器启动后,您的 AI 助手或其他 MCP 客户端即可根据上述配置连接到此服务器,并开始通过暴露的工具与您的 Obsidian 笔记库进行交互。具体的连接和工具调用方式请参考您的 AI 助手或 MCP 客户端的文档。
- 停止服务器: 在运行服务器的终端中按下 'Ctrl+C' 即可停止服务器。
信息
分类
生产力应用