笔记数据库集成服务

一个模型上下文协议(MCP)服务器,使Claude Desktop能够直接将Markdown笔记写入本地的vimango SQLite数据库。

  • by slzatz
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 slzatz/vimango_mcp

使用说明

Vimango MCP服务器

一个模型上下文协议(MCP)服务器,使Claude Desktop能够直接将标记注释写入本地vimango SQLite数据库。

概述

此MCP服务器允许Claude在对话期间直接在vimango笔记应用程序中创建研究笔记和其他内容。它处理数据库插入逻辑,允许Claude Desktop的研究功能与您的本地笔记数据库无缝集成。

建筑

数据库结构

Vimango使用两个单独的SQLite数据库:

  • 维曼戈.db -包含任务/笔记、上下文、文件夹和关键字的主数据库
  • fts5_vimango.db -用于快速搜索的全文搜索数据库(FTS5)

注释创建工作流

  1. MCP服务器在中创建新条目 task 未设置的桌子 tid (在同步分配之前保持为NULL)
  2. 条目包括:标题、注释正文、folder_tid、context_tid、时间戳
  3. FTS数据库未被触及 -它将在同步期间更新
  4. 当您将vimango与远程服务器同步时:
    • 服务器分配真实 tid 进入
    • 同步进程更新本地FTS数据库

这种设计使MCP服务器保持简单,并利用了vimango现有的同步机制。

安装

先决条件

  • Python 3.11或更高版本
  • 紫外线 包管理器
  • 带有已配置数据库的Vimango应用程序

设置

# Clone or navigate to the repository
cd /home/slzatz/vimango_mcp

# Create virtual environment and install dependencies
uv sync

# Configure database paths
cp config.json.example config.json
# Edit config.json to point to your vimango databases

配置

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

{
  "vimango": {
    "main_db": "/path/to/vimango.db",
    "fts_db": "/path/to/fts5_vimango.db"
  }
}

用法

运行MCP服务器

uv run vimango-mcp

Claude桌面配置

添加到您的Claude Desktop MCP设置中:

{
  "mcpServers": {
    "vimango": {
      "command": "/path/to/vimango_mcp/.venv/bin/vimango-mcp"
    }
  }
}

可用的MCP工具

  • create_note -创建一个带有标题和标记正文的新笔记
  • list_contexts -列出用于注释分类的可用上下文
  • list_folders -列出笔记组织的可用文件夹

发展

项目结构

vimango_mcp/
├── src/
│   └── vimango_mcp/
│       ├── __init__.py     # Package initialization
│       ├── server.py       # MCP server implementation
│       └── db.py          # Database operations
├── tests/                  # Test suite
├── pyproject.toml         # UV project configuration
└── README.md

运行测试

uv run pytest

备注

  • MCP服务器创建笔记 tid 保留NULL,以便服务器可以在同步期间分配ID
  • 在vimango的正常同步过程中,FTS同步会自动发生
  • 并发访问由SQLite的锁定机制处理
  • 研究笔记通常在“Research”文件夹中创建

许可证

麻省理工学院