Workspace DB Manager 使用说明

项目简介

Workspace DB Manager 是一个基于 TypeScript 开发的 MCP (Model Context Protocol) 服务器,旨在为 LLM (大型语言模型) 应用提供数据库上下文管理服务。它能够自动发现、监控和管理指定工作区内的 SQLite 数据库文件,并提供工具接口供 LLM 客户端调用,实现对数据库资源的便捷访问和操作。

主要功能点

  • 自动化数据库发现与监控: 自动扫描指定的工作区目录,发现和跟踪 SQLite 数据库文件('.db')。实时监控数据库文件的创建、修改和删除事件。
  • 数据库连接管理: 提供数据库连接池管理,优化数据库连接效率。支持连接和关闭数据库,并维护数据库连接状态。
  • 工具化数据库操作: 提供了一系列工具接口,例如创建数据库、附加数据库、列出数据库信息等,方便 LLM 客户端通过 MCP 协议调用这些功能。
  • 文件系统集成: 通过文件系统监控,实现数据库资源的动态管理,无需手动注册或配置数据库。
  • 跨数据库操作支持: 支持在不同数据库之间进行操作(例如通过 ATTACH DATABASE),增强数据处理的灵活性。

安装步骤

  1. 安装 Node.js 和 npm: 确保你的系统已安装 Node.js 和 npm (Node 包管理器)。
  2. 克隆仓库: 使用 Git 克隆 'workspace-db-manager' 仓库到本地:
    git clone https://github.com/angrysky56/workspace-db-manager.git
    cd workspace-db-manager
  3. 安装依赖: 在仓库根目录下运行以下命令安装项目依赖:
    npm install
  4. 构建项目: 运行以下命令编译 TypeScript 代码:
    npm run build
  5. 初始化核心数据库: 运行以下命令初始化服务器核心数据库 'core.db',用于管理元数据:
    npm run init-db

服务器配置

MCP 客户端需要配置以下信息以连接 Workspace DB Manager 服务器。配置信息为 JSON 格式,通常在 MCP 客户端的 server 配置文件中设置。

{
  "server name": "workspace-db-manager",  // MCP 服务器名称,可自定义
  "command": "npm",                      // 启动服务器的命令,这里使用 npm
  "args": ["start"]                       // 启动命令的参数,"start" 脚本在 package.json 中定义
}

参数注释:

  • '"server name"': 服务器的名称,用于在 MCP 客户端中标识和引用该服务器。
  • '"command"': 启动服务器进程的可执行命令。由于项目使用 npm 管理,并且 'package.json' 中定义了 'start' 脚本,因此这里使用 'npm' 命令。
  • '"args"': 传递给启动命令的参数。'"start"' 参数会执行 'npm start' 脚本,该脚本在 'package.json' 中配置为启动服务器。

注意:

  • 确保 MCP 客户端能够访问到 'workspace-db-manager' 仓库的根目录,因为 'npm start' 命令需要在该目录下执行。
  • 工作区路径 (workspace path) 需要在 'WorkspaceDBManager' 构造函数中配置。请参考仓库 'README.md' 中的 Configuration 部分,根据实际需求修改 'workspace-db-manager.js' 或 'src/workspace-db-manager.ts' 中的配置。

基本使用方法

  1. 启动服务器: 在 'workspace-db-manager' 仓库根目录下运行以下命令启动服务器:

    npm start

    服务器启动后,将开始监控配置的工作区路径,并自动发现和管理 SQLite 数据库。

  2. 配置 MCP 客户端: 在你的 MCP 客户端应用中,配置连接到 Workspace DB Manager 服务器。客户端将通过 MCP 协议与服务器通信,调用服务器提供的工具接口。

  3. 使用工具接口: MCP 客户端可以使用服务器注册的工具(Tools)来管理数据库。例如,可以使用 'list_databases' 工具列出所有被管理的数据库,使用 'create_database' 工具创建新的数据库,使用 'attach_database' 工具附加数据库等。具体的工具接口和参数请参考项目代码和 MCP 协议文档。

示例工具调用 (MCP 客户端发起请求):

假设要列出所有被管理的数据库,MCP 客户端可以向服务器发送一个 JSON-RPC 请求,调用 'list_databases' 工具。服务器会处理该请求,并返回包含数据库列表的 JSON-RPC 响应。

// MCP 客户端请求示例 (JSON-RPC)
{
  "jsonrpc": "2.0",
  "method": "executeTool",
  "params": {
    "tool_name": "list_databases",
    "tool_params": {}
  },
  "id": 1
}

请查阅仓库代码和相关文档,了解更多关于工具接口的详细信息和使用方法。

信息

分类

数据库与文件