WIP: Caution!!! AI code and probably wrong in many ways though it "runs".

by angrysky56

214 downloads Not rated yet

About

TypeScript MCP server for managing workspace databases with filesystem integration

Explore

- SQLite database management with automatic discovery
- Real-time filesystem monitoring for database changes
- Database connection pooling and management
- Automatic database tracking and status updates
- Cross-database operations support
- TypeScript/ES Module architecture

1. Install dependencies:

npm install

2. Build the TypeScript code:

npm run build

3. Initialize the core database:

npm run init-db

4. Start the server:

npm start

Workspace DB Manager

CI

A TypeScript MCP (Model Context Protocol) server for managing workspace databases with filesystem integration.

Features

- SQLite database management with automatic discovery
- Real-time filesystem monitoring for database changes
- Database connection pooling and management
- Automatic database tracking and status updates
- Cross-database operations support
- TypeScript/ES Module architecture

Getting Started

1. Install dependencies:

npm install

2. Build the TypeScript code:

npm run build

3. Initialize the core database:

npm run init-db

4. Start the server:

npm start

Development

# Run in development mode with auto-reload
npm run dev

Run tests

npm test

Build TypeScript

npm run build

Continuous Integration

This project uses GitHub Actions for continuous integration:

- Runs on Node.js 20.x, 21.x, and 22.x
- Automatically runs tests on every push and pull request
- Checks TypeScript compilation
- Generates and uploads test coverage reports
- Fails if code quality standards are not met

Configuration

The server can be configured through a WorkspaceConfig object:

const manager = new WorkspaceDBManager({
    watchPaths: ['/path/to/workspace'],
    pollInterval: 1000, // Optional: file system polling interval
    database: {
        verbose: true // Optional: enable verbose database logging
    }
});

Database Operations

Automatic Database Discovery

The server automatically detects and tracks: - New database files - Database modifications - Database removals

Database Management

// List all managed databases
const databases = await manager.listManagedDatabases();

// Get system configuration
const config = await manager.getConfig('some_key');

Events

The server emits events for various operations: - database-added: When a new database is discovered - database-changed: When a database is modified - database-removed: When a database is removed - error: When an error occurs - initialized: When the server is fully initialized

Testing

# Run all tests
npm test

Run tests with coverage

npm test -- --coverage

Contributing

1. Fork the repository
2. Create your feature branch
3. Commit your changes
4. Push to the branch
5. Create a Pull Request

License

ISC

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.