Workspace Db Manager

Workspace Db Manager

🚀 工作区数据库管理器

这是一个基于TypeScript的MCP(模型上下文协议)服务器,可通过文件系统集成管理工作区数据库,能自动发现数据库并实时监控其变化,还具备连接池管理等功能。

🚀 快速开始

  1. 安装依赖:
npm install
  1. 构建TypeScript代码:
npm run build
  1. 初始化核心数据库:
npm run init-db
  1. 启动服务器:
npm start

✨ 主要特性

  • 自动发现SQLite数据库
  • 实时文件系统监控以检测数据库更改
  • 数据库连接池和管理功能
  • 自动跟踪和更新数据库状态
  • 支持跨数据库操作
  • 基于TypeScript/ES模块的架构

📦 安装指南

开发环境

# 以开发模式运行,支持自动重载
npm run dev

# 运行测试
npm test

# 构建TypeScript代码
npm run build

📚 详细文档

持续集成

该项目使用GitHub Actions进行持续集成:

  • 在Node.js 20.x、21.x和22.x上运行
  • 自动在每个推送和拉取请求上运行测试
  • 检查TypeScript编译情况
  • 生成并上传测试覆盖率报告
  • 如果代码质量标准未达标则失败

配置

服务器可通过WorkspaceConfig对象进行配置:

const manager = new WorkspaceDBManager({
watchPaths: ['/path/to/workspace'],
pollInterval: 1000, // 可选:文件系统轮询间隔
database: {
verbose: true // 可选:启用详细数据库日志记录
}
});

数据库操作

自动数据库发现

服务器自动检测和跟踪:

  • 新的数据库文件
  • 数据库修改
  • 数据库移除

数据库管理

// 列出所有受管数据库
const databases = await manager.listManagedDatabases();

// 获取系统配置
const config = await manager.getConfig('some_key');

事件

服务器会发出各种操作的事件:

  • database-added:发现新数据库时触发
  • database-changed:数据库被修改时触发
  • database-removed:数据库被移除时触发
  • error:发生错误时触发
  • initialized:服务器完全初始化后触发

测试

# 运行所有测试
npm test

# 带覆盖率运行测试
npm test -- --coverage

贡献

  1. 叉取仓库
  2. 创建功能分支
  3. 提交更改
  4. 推送到分支
  5. 创建Pull Request

📄 许可证

ISC

  • 0 关注
  • 0 收藏,12 浏览
  • system 提出于 2025-09-24 11:06

相似服务问题

相关AI产品