mcp-sequel
Allows querying MariaDB databases via natural language through Claude, with the same capabilities as MySQL integration: SELECT/SHOW/DESCRIBE/EXPLAIN queries, row limits, readonly mode, and SSH tunnel support.
Allows querying MySQL databases via natural language through Claude, supporting SELECT/SHOW/DESCRIBE/EXPLAIN queries with configurable row limits, readonly mode, and optional SSH tunnel connections.
Allows querying SQLite databases via natural language through Claude, supporting SELECT/SHOW/DESCRIBE/EXPLAIN queries with configurable row limits and readonly mode (OS-level enforcement via ?mode=ro).
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-sequelShow databases for production"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-sequel
MCP server for Claude that connects to MySQL, MariaDB, and SQLite databases. Query your databases using natural language. Supports multiple named connections, SSH tunnels, readonly mode, and per-connection row limits.
Install & Registration
Tip: ask Claude to read this README and set up the server for you.
Option 1: uvx (recommended) — no installation needed, always runs the latest version:
claude mcp add mcp-sequel uvx mcp-sequelOption 2: from cloned repository:
git clone https://github.com/eukos/mcp-sequel
claude mcp add mcp-sequel uv run --directory /path/to/mcp-sequel mcp-sequelConfiguration
Tip: ask Claude to read this README and create a connection config for you.
One file per connection in ~/.config/mcp-sequel/. The filename (without .json) becomes the connection name.
~/.config/mcp-sequel/
├── production.json
├── staging.json
└── local.jsonEach file is one connection. Examples:
MySQL / MariaDB
{
"type": "mysql",
"host": "db.example.com",
"port": 3306,
"user": "analyst",
"password": "secret",
"database": "myapp",
"readonly": true,
"row_limit": 1000,
"description": "Production replica, analytics only"
}Field | Required | Default | Description |
| yes | — |
|
| yes | — | hostname or IP |
| yes | — | database user |
| yes | — | database password |
| no |
| TCP port |
| no | — | default database; can be overridden per query |
| no |
| if true, only SELECT/SHOW/DESCRIBE/EXPLAIN are allowed |
| no |
| max rows returned; |
| no | — | human-readable label shown in |
| no | — | SSH tunnel config (see below); routes the connection through a bastion host |
MySQL via SSH tunnel
Use ssh_tunnel when the database is only reachable through a bastion/jump host. host and port in the top-level config refer to the DB as seen from the SSH server (commonly localhost).
With a key file (most common):
{
"type": "mysql",
"host": "localhost",
"port": 3306,
"user": "reader",
"password": "secret",
"database": "myapp",
"ssh_tunnel": {
"host": "bastion.example.com",
"user": "ubuntu",
"key_file": "~/.ssh/id_rsa"
}
}With an SSH password:
{
"type": "mysql",
"host": "localhost",
"port": 3306,
"user": "reader",
"password": "secret",
"ssh_tunnel": {
"host": "bastion.example.com",
"user": "ubuntu",
"password": "sshpass"
}
}Field | Required | Default | Description |
| yes | — | SSH server hostname or IP |
| yes | — | SSH username |
| no* | — | path to private key file ( |
| no* | — | SSH password (if not using key file) |
| no |
| SSH server port |
* at least one of key_file or password should be provided.
SQLite
{
"type": "sqlite",
"path": "/data/analytics.db",
"readonly": true,
"row_limit": 1000,
"description": "Local analytics database"
}Field | Required | Default | Description |
| yes | — |
|
| yes | — | absolute path to the |
| no |
| if true, opens connection with |
| no |
| max rows returned; |
| no | — | human-readable label shown in |
Set permissions to owner-only:
chmod 600 ~/.config/mcp-sequel/*.jsonUsage
After registering, restart Claude to load the server. Then try:
"List available database connections"
"Show databases for staging"
"How many customers do we have on production?"
"Show me the schema of the orders table"
"Query local: SELECT * FROM users LIMIT 10"
"Query production: show me the top 10 users by order count"
License
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/eukos/mcp-sequel'
If you have feedback or need assistance with the MCP directory API, please join our Discord server