mcpField
D
Database Mcp

Database Mcp

Local
github.com/xavieryang007Databases4Updated 78w ago

About Database Mcp

Database MCP is a Go service that connects MCP clients to databases through GORM. It supports MySQL, PostgreSQL, SQLite, SQL Server, and ClickHouse, with configuration from YAML, command-line arguments, or environment variables.

Key features

  1. 01Connect to five database types
  2. 02Configure through YAML, CLI, or environment variables
  3. 03List database tables
  4. 04Inspect table and column details
  5. 05Run SQL queries

Use cases

  1. 01Explore tables and columns through an MCP client
  2. 02Run SQL queries and retrieve results or affected-row counts

MCP support

The MCP server provides `get_tables`, `get_table_detail`, and `execute_sql` tools to MCP clients. It can be reached at the configured MCP endpoint, such as the documented local SSE URL.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

Database MCP Service

A MCP (Metoro Control Protocol) service with database capabilities, supporting multiple database types through GORM.

Features

  • Support for multiple database types:
    • MySQL
    • PostgreSQL
    • SQLite
    • SQL Server
    • ClickHouse
  • Configuration through:
    • Configuration file (YAML)
    • Command line arguments
    • Environment variables
  • MCP protocol integration
  • GORM ORM support

Installation

  1. Clone the repository
  2. Install dependencies:
    go mod tidy
    

Configuration

Configuration File (config.yaml)

Create a config.yaml file with the following structure:

database:
  type: "mysql"  # mysql, postgres, sqlite, sqlserver, clickhouse
  host: "localhost"
  port: 3306
  username: "root"
  password: "password"
  database: "mydb"
  ssl_mode: "disable"  # for postgres
  file: "database.db"  # for sqlite
Command Line Arguments

You can override configuration file settings using command line arguments:

./database-mcp --config=config.yaml \
  --db-type=mysql \
  --db-host=localhost \
  --db-port=3306 \
  --db-user=root \
  --db-pass=password \
  --db-name=mydb \
  --db-ssl-mode=disable \
  --db-file=database.db

Available command line arguments:

  • --config: Path to config file (default: "config.yaml")
  • --db-type: Database type (mysql, postgres, sqlite, sqlserver, clickhouse)
  • --db-host: Database host
  • --db-port: Database port
  • --db-user: Database username
  • --db-pass: Database password
  • --db-name: Database name
  • --db-ssl-mode: SSL mode (for PostgreSQL)
  • --db-file: Database file (for SQLite)

Usage

  1. Start the service:

    ./database-mcp --db-type=mysql --db-host=127.0.0.1 --db-port=3306 --db-user=dbuser --db-pass=passwd --db-name=dbname --db-ssl-mode=disable --mode=http
    
  2. The service will:

    • Load configuration from file and/or command line
    • Initialize database connection
    • Start MCP server
    • Register available tools and resources

MCP Configuration

To use the MCP service, configure the MCP endpoint in your MCP client:

http://127.0.0.1:8080/sse

This will connect your MCP client to the local service running on port 8080.

MCP Tools

The service provides the following MCP tools:

  1. get_tables: Get all tables in the database
    • Returns a list of tables with their names and comments
  2. get_table_detail: Get detailed information about a specific table
    • Arguments:
      • table_name: The name of the table to get details for
    • Returns table information including:
      • Table name and comment
      • Column information (name, type, comment, nullable, default value)
  3. execute_sql: Execute a SQL query
    • Arguments:
      • query: The SQL query to execute
    • Returns:
      • For SELECT queries: An array of results
      • For other queries: The number of rows affected

License

MIT License

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.