Skip to content

wirdes/db-mcp-tool

Repository files navigation

Database Explorer MCP Tool

smithery badge

A powerful Model Context Protocol (MCP) tool for exploring and managing different types of databases including PostgreSQL, MySQL, and Firestore.

Features

  • Multiple Database Support

    • PostgreSQL
    • MySQL
    • Firestore
  • Database Operations

    • Connect to databases
    • List tables
    • View triggers
    • List functions
    • Execute SQL queries (PostgreSQL and MySQL)
    • Export table schemas
    • Export table data

Integration with Cursor

Before adding the tool to Cursor, you need to build the project:

  1. Clone the repository
  2. Install dependencies:
    npm install
  3. Build the project:
    npm run build

To add the tool to Cursor:

  1. Open Cursor settings
  2. Navigate to "Model Context Protocol (MCP)" section
  3. Click "Add New Tool"
  4. Fill in the following details:
    {
      "name": "database-explorer",
      "command": "node /path/to/project/dist/index.js",
      "description": "Database Explorer MCP Tool"
    }
    Note: Replace /path/to/project with the actual path to your project directory.
  5. Save the settings
  6. Restart Cursor

Using the Tool:

  1. After setup, you can connect to your database using one of these commands:

    • For PostgreSQL: Use !pg with connection details
    • For MySQL: Use !mysql with connection details
    • For Firestore: Use !firestore with connection details
  2. Once connected, you can use various database operations:

    • !tables to list all tables
    • !triggers to view triggers
    • !functions to list functions
    • !query to execute SQL queries
    • !export-db to export table schemas
    • !export-data to export table data

See the Commands section below for detailed usage examples.

Commands

Connection Commands

  • !pg - Connect to PostgreSQL database

    {
      "connection": {
        "host": "hostname",
        "port": 5432,
        "database": "dbname",
        "user": "username",
        "password": "password"
      }
    }
  • !mysql - Connect to MySQL database

    {
      "connection": {
        "host": "hostname",
        "port": 3306,
        "database": "dbname",
        "user": "username",
        "password": "password"
      }
    }
  • !firestore - Connect to Firestore database

    {
      "connection": {
        "projectId": "your-project-id",
        "keyFilename": "path/to/keyfile.json"
      }
    }

Database Operation Commands

  • !tables - List all tables in the connected database
  • !triggers - List all triggers in the connected database
  • !functions - List all functions in the connected database
  • !query - Execute SQL query (PostgreSQL and MySQL only)
    {
      "query": "SELECT * FROM table_name"
    }
  • !export-db - Export table schema
    {
      "table": "table_name"
    }
  • !export-data - Export table data as INSERT statements
    {
      "table": "table_name"
    }

Requirements

  • Node.js
  • Required database drivers:
    • pg for PostgreSQL
    • mysql2 for MySQL
    • @google-cloud/firestore for Firestore

Usage

  1. Make sure you have the necessary database credentials
  2. Connect to your database using the appropriate connection command
  3. Use the available commands to explore and manage your database

Error Handling

  • The tool includes comprehensive error handling for:
    • Connection failures
    • Query execution errors
    • Schema and data export issues
    • Invalid database operations

Notes

  • Firestore support is limited to basic operations due to its NoSQL nature
  • SQL operations are only available for PostgreSQL and MySQL

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •