database-mcp
If you are the rightful owner of database-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
A MCP (Metoro Control Protocol) service with database capabilities, supporting multiple database types through GORM.
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
- Clone the repository
- 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
-
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
-
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:
get_tables
: Get all tables in the database- Returns a list of tables with their names and comments
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)
- Arguments:
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
- Arguments:
License
MIT License