db-mcp-tool - UBOS

✨ From vibe coding to vibe deployment. UBOS MCP turns ideas into infra with one message.

Learn more

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

Featured Templates

View More
Customer service
Service ERP
125 645
AI Engineering
Python Bug Fixer
117 932
AI Assistants
Talk with Claude 3
153 1017
Verified Icon
AI Assistants
Speech to Text
128 1275

Start your free trial

Build your solution today. No credit card required.

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.