mcpDataBasesSSE

mcpDataBasesSSE

0

DataBaseSse Project is an advanced MCP server enabling efficient data management and migration between PostgreSQL and SQLite databases, featuring live updates via Server-Sent Events. It provides tools for CRUD operations and supports real-time notification of database changes.

🗄️ DataBaseSse Project (SSE Version)

This project is the SSE version of the original "stido" release available at https://github.com/alvnavraii/mcpDataBases. It includes improvements and adaptations for managing and migrating data between PostgreSQL and SQLite databases, with features exposed via Server-Sent Events (SSE).

📁 Main Structure

  • main.py: 🖥️ MCP server with tools to query, insert, update, delete, and modify tables in the PostgreSQL database, now with SSE support.
  • connection.py: 🔗 Manages the connection to the PostgreSQL database.
  • pg_to_sqlite.py: 🔄 Script to migrate all tables and data from PostgreSQL to SQLite.
  • ecommerce.db: 🗃️ SQLite database generated from the migration (optional).

⚙️ Features

  • CRUD operations: ➕ Create, 🔎 Read, ✏️ Update, and ❌ Delete records in PostgreSQL database tables.
  • Table management: 🏗️ Easily create, 🛠️ alter, and 🗑️ drop tables.
  • Data migration: 🔄 Automatic transfer of structure and data between PostgreSQL and SQLite.
  • Advanced queries: 🧮 Execute custom SQL queries for analysis or maintenance.
  • SSE support: 📡 Real-time responses using Server-Sent Events for operations and notifications.

🚀 Usage Examples

1. MCP Server (main.py)

  • Run the MCP server to expose database management tools with SSE:
    python3 main.py
    
  • Available tools:
    • 🔎 query_db(query): Executes SELECT queries and returns results via SSE.
    • insert_db(query): Executes INSERT statements and notifies via SSE.
    • ✏️ update_db(query): Executes UPDATE statements and notifies via SSE.
    • delete_db(query): Executes DELETE statements and notifies via SSE.
    • 🏗️ create_table(query): Executes CREATE TABLE statements and notifies via SSE.
    • 🛠️ alter_table(query): Executes ALTER TABLE statements and notifies via SSE.
    • 🗑️ drop_table(query): Executes DROP TABLE statements and notifies via SSE.

2. Data migration between databases

  • Run the migration script to copy all tables and data from PostgreSQL to SQLite:
    python3 pg_to_sqlite.py
    
  • You can adapt the script to migrate data in both directions or between different schemas.

3. CRUD operation examples

  • Create a record: 📝
    INSERT INTO users (email, password) VALUES ('user@domain.com', 'secret');
    
  • Read records: 🔍
    SELECT * FROM products WHERE is_active = TRUE;
    
  • Update records: 🔄
    UPDATE categories SET name = 'New Technologies' WHERE id = 1;
    
  • Delete records: 🚮
    DELETE FROM carts WHERE created_at < '2024-01-01';