mcpField
O
Obsidian MCP Server Enhanced

Obsidian MCP Server Enhanced

本地服务
github.com/labeveryday记忆与知识2173 周前更新

关于 Obsidian MCP Server Enhanced

Obsidian MCP Server Enhanced 是一个 MCP 服务,让 Amazon Q 通过 Obsidian Local REST API 插件读写 Obsidian 库中的笔记,无需打开 Obsidian 应用。

主要功能

  1. 01读取、创建、更新、追加和删除笔记
  2. 02列出库中的文件和文件夹
  3. 03获取当前活动文件
  4. 04创建带预设章节的每日笔记
  5. 05创建结构化会议笔记模板

适用场景

  1. 01让 Amazon Q 查阅或整理 Obsidian 笔记
  2. 02通过 AI 助手自动生成每日笔记或会议记录

MCP 相关

该项目是基于 FastMCP 构建的 MCP 服务,向 MCP 客户端(如 Amazon Q CLI)暴露 obsidian_* 系列工具和提示词模板。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Obsidian MCP Server Enhanced

状态:第一阶段已完成

用于将 Amazon Q 与 Obsidian 集成的模型上下文协议(MCP)服务。

项目概述

此 MCP 服务允许 Amazon Q 与 Obsidian 库交互,无需打开 Obsidian 应用。它利用 Obsidian Local REST API plugin,提供笔记管理、搜索和知识管理功能。

当前状态

  • 第一阶段(核心基础架构):已完成
  • 已完整实现基本文件操作、搜索和笔记模板
  • 使用 FastMCP 构建,可与 Amazon Q 无缝集成
  • 使用基于装饰器的提示词注册方式
  • 已准备好开始第二阶段:核心功能

功能

已实现
  • 文件操作:读取、创建、更新、追加内容到笔记,以及删除笔记
  • 基本文件夹管理:列出文件夹中的文件
  • 搜索:基本笔记搜索功能
  • 每日笔记:创建包含预定义分区的每日笔记
  • 会议笔记:使用结构化模板创建会议笔记
计划中的功能
  • 高级文件夹管理:创建、删除、重命名和移动文件夹
  • 组织与元数据:管理标签、frontmatter 和文件组织
  • 高级搜索与发现:按内容、标签和其他条件进行增强搜索
  • 知识管理:提取重点、汇总笔记等
  • 搜索与汇编:搜索笔记并将信息汇编到单篇笔记中
  • 笔记整理:在 AI 协助下整理特定主题的笔记

入门指南

前置条件
  1. Obsidian:安装 Obsidian 并创建一个库
  2. Local REST API Plugin:在 Obsidian 中安装 Local REST API 插件
  3. Python 3.10+:确保已安装 Python 3.10 或更高版本
安装
  1. 克隆此仓库:

    git clone https://github.com/yourusername/mcp-obsidian-enhanced.git
    cd mcp-obsidian-enhanced
    
  2. 创建虚拟环境:

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    
  3. 安装依赖项:

    pip install -e ".[dev]"
    
  4. 创建 .env 文件并填写 Obsidian API 配置:

    OBSIDIAN_API_KEY=your_api_key_from_local_rest_api_plugin
    OBSIDIAN_HOST=127.0.0.1
    OBSIDIAN_PORT=27124
    
与 Amazon Q CLI 集成

要将此 MCP 服务与 Amazon Q CLI 集成,请在 AWS 配置中配置 MCP 服务:

  1. 创建或更新文件 ~/.aws/amazonq/mcp.json:
{
  "mcpServers": {
    "obsidian-mcp-server": {
        "command": "uv",
        "args": ["--directory", "/path/to/mcp-obsidian-enhanced", "run", "run_server.py"],
        "env": {},
        "disabled": false,
        "autoApprove": []
    }
  }
}
  1. 将 /path/to/mcp-obsidian-enhanced 替换为仓库的实际路径。
运行服务

运行服务:

python run_server.py

使用 MCP Inspector 进行测试:

npx @modelcontextprotocol/inspector uv --directory ./ "run" "run_server.py"

可用工具

工具名称描述
obsidian_read_note从 Obsidian 库中获取笔记内容
obsidian_create_note在 Obsidian 库中创建新笔记
obsidian_update_note更新 Obsidian 库中的现有笔记
obsidian_append_note向现有笔记追加内容
obsidian_delete_note从 Obsidian 库中删除笔记
obsidian_list_files列出 Obsidian 库中的文件和文件夹
obsidian_get_active_file获取 Obsidian 中当前处于活动状态的文件
obsidian_create_daily_note创建包含预定义分区的每日笔记
计划中的工具(第二阶段)
工具名称描述
obsidian_search搜索 Obsidian 库中的笔记
obsidian_summarize_note总结笔记内容
obsidian_search_and_compile搜索笔记并汇编信息
obsidian_organize_notes整理特定主题的笔记

可用提示词

此服务使用基于装饰器的方式提供提示词模板:

会议笔记
@mcp.prompt("meeting-notes")
async def meeting_notes_prompt(
    title: str,
    date: str = "",
    participants: str = "",
    folder: str = "Meetings",
    tags: List[str] = None
) -> Dict[str, Any]:
    """Create a meeting note with the given details."""
    # Implementation...
创建笔记
@mcp.prompt("create-note")
async def create_note_prompt(
    title: str,
    content: str,
    folder: str = "",
    tags: List[str] = None
) -> Dict[str, Any]:
    """Create a new note with the given details."""
    # Implementation...
整理笔记
@mcp.prompt("organize-notes")
async def organize_notes_prompt(
    topic: str,
    folder: str = ""
) -> Dict[str, Any]:
    """Organize notes related to a specific topic."""
    # Implementation...

配置选项

环境变量描述默认值
OBSIDIAN_API_KEYLocal REST API 插件提供的 API 密钥(必填)
OBSIDIAN_HOSTObsidian 运行所在的主机127.0.0.1
OBSIDIAN_PORTAPI 端口27124
OBSIDIAN_PROTOCOL使用的协议https
OBSIDIAN_VERIFY_SSL是否验证 SSL 证书false
OBSIDIAN_TIMEOUT连接超时时间(秒)10
LOG_LEVEL日志级别(INFO、DEBUG 等)INFO

实施路线图

阶段 1:核心基础设施(已完成)
  • ✅ 使用 FastMCP 完成基本服务设置
  • ✅ 配置管理
  • ✅ Obsidian API 客户端
  • ✅ 基本文件操作
  • ✅ 基本文件夹管理工具
阶段 2:核心功能(计划中)
  • 高级搜索功能
  • 元数据管理
  • 改进模板
  • 笔记整理功能
  • 搜索和编译功能
  • 笔记摘要
阶段 3:高级功能(计划中)
  • 知识管理工具
  • 批量操作
  • 高级搜索功能
阶段 4:优化与完善(计划中)
  • 性能优化
  • 增强错误处理
  • 全面的日志记录
  • 详细文档

直接测试 API

你可以使用 curl 直接测试 Obsidian Local REST API 端点:

列出文件夹中的文件
curl -X GET "http://127.0.0.1:27124/vault/FolderName?list=true" \
  -H "Authorization: Bearer YOUR_API_KEY"
读取笔记
curl -X GET "http://127.0.0.1:27124/vault/path/to/note.md" \
  -H "Authorization: Bearer YOUR_API_KEY"
创建/更新笔记
curl -X PUT "http://127.0.0.1:27124/vault/path/to/note.md" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: text/markdown" \
  -d "# Note Title\n\nNote content here."
搜索笔记
curl -X POST "http://127.0.0.1:27124/search/simple" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "query=search_term"

贡献

欢迎贡献!请参阅 CONTRIBUTING.md 文件中的指南。

许可证

本项目采用 MIT 许可证授权,详情请参阅 LICENSE 文件。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。