sequel-mcp

security MCP Server

MCP server: Claude talks to MySQL/MariaDB via Sequel Ace's saved connections. Policy-gated read/write/DDL/admin action sets, macOS Keychain credential storage, SSH tunnels, optional Touch ID.

VerifiedInstall Ready
securitysecuritymysql
3 views0 stars0 forksv0.9.0MIT

Why This Matters

Discovered via github-topic:model-context-protocol and last synced 3mo ago.

VerifiedInstall Ready
Source
github-topic:model-context-protocol
Stars
0
Last synced
3mo ago
Install
Instructions detected

Install

1. Install the package

npx -y sequel-mcp

2. Add to claude_desktop_config.json

{
  "mcpServers": {
    "sequel-mcp": {
      "command": "npx",
      "args": [
        "sequel-mcp"
      ]
    }
  }
}

Config file location: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) / %APPDATA%\Claude\claude_desktop_config.json (Windows)

51
Tools
0
Resources
0
Prompts
Standard I/O
Transport

Available Tools (51)

ddl

admin

dev

allow

describe_table

readOnly

restore_backup

destructive

local-dev

dev

INSERT

Post-mutation hint: `{kind:'range', start, end}` (auto-inc) or `{kind:'explicit', values}`

Tool

If Sequel Ace missing

audit_search

readOnly

prod-readonly

read-only

UPDATE

MySQL/MariaDB: `SELECT * FROM <table> WHERE <where> FOR UPDATE`; SQLite: pre-image `SELECT` inside `BEGIN IMMEDIATE`

confirm

confirm

read-only

allow

tamperEvidentChain

false

write

`INSERT`, `UPDATE`, `DELETE`, `REPLACE`

10s

off

execute

destructive

list_backups

readOnly

staging

dev

REPLACE

MySQL/MariaDB: `SELECT * FROM <table> WHERE id IN (<keys>) FOR UPDATE`; SQLite: same pre-image without `FOR UPDATE`

import_from_sequel_ace

"Favorites.plist not found" — use `add_connection` or `add_sqlite_connection` instead

txCtrl

`BEGIN`, `COMMIT`, `ROLLBACK`, `SAVEPOINT`

30s

off

list_connections

readOnly

sequel_ace_history

"queryHistory.db not found" — use `audit_search` instead

Setting

Default

admin

allow

list_databases

readOnly

history_search

readOnly

timeout

Touch ID

60s

**on**

get_default_connection

readOnly

Connection

Baseline

Statement

Backup

redactSqlInLog

false

Preset

read

remove_connection

destructive

doctor

readOnly

backupMaxMB

1000 (hard cap)

list_database_policies

readOnly

Scope

Effect

Field

Notes

autoCleanupHours

24 (lazy on boot)

read

`SELECT`, `SHOW`, `DESCRIBE`, `EXPLAIN`, read-only SQLite `PRAGMA`

deny

deny

query

readOnly

audit_cleanup

destructive

prod-admin

read-only, `requireTouchID=true`

DELETE

Same

allow

deny

TRUNCATE

MySQL/MariaDB: `SELECT *` (capped) + `SHOW CREATE TABLE`

1

salt