Workspace DB Manager 使用说明
项目简介
Workspace DB Manager 是一个基于 TypeScript 开发的 MCP (Model Context Protocol) 服务器,旨在为 LLM (大型语言模型) 应用提供数据库上下文管理服务。它能够自动发现、监控和管理指定工作区内的 SQLite 数据库文件,并提供工具接口供 LLM 客户端调用,实现对数据库资源的便捷访问和操作。
主要功能点
- 自动化数据库发现与监控: 自动扫描指定的工作区目录,发现和跟踪 SQLite 数据库文件('.db')。实时监控数据库文件的创建、修改和删除事件。
- 数据库连接管理: 提供数据库连接池管理,优化数据库连接效率。支持连接和关闭数据库,并维护数据库连接状态。
- 工具化数据库操作: 提供了一系列工具接口,例如创建数据库、附加数据库、列出数据库信息等,方便 LLM 客户端通过 MCP 协议调用这些功能。
- 文件系统集成: 通过文件系统监控,实现数据库资源的动态管理,无需手动注册或配置数据库。
- 跨数据库操作支持: 支持在不同数据库之间进行操作(例如通过 ATTACH DATABASE),增强数据处理的灵活性。
安装步骤
- 安装 Node.js 和 npm: 确保你的系统已安装 Node.js 和 npm (Node 包管理器)。
- 克隆仓库: 使用 Git 克隆 'workspace-db-manager' 仓库到本地:
git clone https://github.com/angrysky56/workspace-db-manager.git cd workspace-db-manager - 安装依赖: 在仓库根目录下运行以下命令安装项目依赖:
npm install - 构建项目: 运行以下命令编译 TypeScript 代码:
npm run build - 初始化核心数据库: 运行以下命令初始化服务器核心数据库 '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' 中的配置。
基本使用方法
-
启动服务器: 在 'workspace-db-manager' 仓库根目录下运行以下命令启动服务器:
npm start服务器启动后,将开始监控配置的工作区路径,并自动发现和管理 SQLite 数据库。
-
配置 MCP 客户端: 在你的 MCP 客户端应用中,配置连接到 Workspace DB Manager 服务器。客户端将通过 MCP 协议与服务器通信,调用服务器提供的工具接口。
-
使用工具接口: 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 }
请查阅仓库代码和相关文档,了解更多关于工具接口的详细信息和使用方法。
信息
分类
数据库与文件