手写笔记转换服务

一个利用AI视觉和MCP协议将手写笔记自动转换为结构化Obsidian Markdown文件的服务。

  • by Edjopima
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Edjopima/obsidian-mcp-erver

使用说明

黑曜石MCP服务器

使用AI视觉和MCP自动将手写笔记转换为结构化的黑曜石标记文件。

MCP(模型上下文协议)服务器,将手写笔记的照片转换为黑曜石中的结构化日常笔记和收件箱笔记。只需为您的笔记拍照,将其发送到Claude Desktop,即可在您的保管库中获得格式完美的markdown文件。

✨ 特性

  • 📸 图片到Markdown:自动将手写笔记转换为结构化标记
  • 📅 每日笔记:使用日程表、任务和日志创建有组织的每日笔记
  • 📥 收件箱备注:通过自动主题提取和维基链接格式快速记录笔记
  • 🎯 多主题处理:将多个主题拆分为单独的链接笔记
  • 🤖 AI驱动:使用克劳德的多模式功能来“阅读”你的笔迹
  • ⚡ 零手动转录:不用再手写笔记了
  • 📝 结构化内容:自动组织成多个部分(日程表、任务、日志)

安装

此项目使用 紫外线 用于依赖性管理。

# Install dependencies
uv sync

配置

创建一个 .env 项目根目录中的文件:

VAULT_PATH=/path/to/your/obsidian/vault
DAILY_NOTES_PATH=daily-notes    # optional, defaults to "daily-notes"
INBOX_NOTES_PATH=inbox           # optional, defaults to "inbox"

目录结构 在你的黑曜石保险库中:

your-vault/
├── daily-notes/     # Daily notes will be created here
└── inbox/           # Inbox notes will be created here

用法

添加到Claude桌面

  1. 找到您的Claude Desktop配置文件:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • 视窗: %APPDATA%/Claude/claude_desktop_config.json
  2. 将此MCP服务器添加到配置中:

{
  "mcpServers": {
    "obsidian": {
      "command": "uv",
      "args": [
        "--directory",
        "/absolute/path/to/obsidian-mcp-server",
        "run",
        "app/main.py"
      ]
    }
  }
}

重要:替换 /absolute/path/to/obsidian-mcp-server 带有此项目目录的绝对路径。

  1. 重新启动克劳德桌面

  2. 服务器工具将在Claude Desktop中提供。您可以通过查看MCP工具图标进行验证。

独立运行

您还可以独立运行服务器进行测试:

uv run app/main.py

服务器使用stdio传输运行,可以与支持MCP协议的任何LLM客户端集成。

运作原理

每日笔记

当您发送图像时 包含文本“每日笔记”:

  • LLM提取日程计划项目、任务和日志
  • 以当前日期作为文件名创建每日笔记
  • 内容被组织成结构化块:
    • 日程安排
    • 任务(带复选框)
    • 每日日志
    • Youtube书签(数据视图查询)

收件箱备注

当您发送图像时 没有“每日笔记”文本:

  • LLM提取主要主题作为标题
  • 创建包含任务和日志的收件箱笔记
  • 多个主题创建单独的链接笔记
  • 文件名使用经过净化的标题,便于参考

项目结构

app/
�� server.py                      # FastMCP server instance
�� main.py                        # Entry point
�� tools/
   �� create_daily_note_tool.py  # Daily note creation tool
   �� create_inbox_note_tool.py  # Inbox note creation tool
�� utils/
    �� utils.py                   # Utility functions
    �� templates/
        �� daily-note.md          # Daily note template
        �� inbox-note.md          # Inbox note template

发展

服务器使用FastMCP公开LLM客户端可以调用的工具。通过将工具导入来注册它们 main.py.

要添加新工具,请执行以下操作:

  1. 在中创建新文件 app/tools/
  2. 定义您的功能 @mcp.tool() 装饰器
  3. 导入 app/main.py

📖 工作流示例

  1. 拍一张照片 在会议期间手写笔记
  2. 打开克劳德桌面 并附上图像
  3. 克劳德自动:
    • 使用视觉功能读取您的笔迹
    • 提取日程计划项目、任务和日志
    • 在黑曜石保险库中创建结构化标记文件
  4. 开放式黑曜石 找到你格式完美的笔记

输入(手写)

DAILY NOTE - Oct 27, 2025

Day Planner:
- 9:00 AM Team standup
- 2:00 PM Client meeting

Tasks:
□ Fix login bug
□ Review PR #123

Logs:
- Had great discussion about new feature

输出(黑曜石中的Markdown)

## Day planner

- 9:00 AM Team standup
- 2:00 PM Client meeting

## Tasks

- [ ] Fix login bug
- [ ] Review PR #123

## Daily Logs

- Had great discussion about new feature