mcpField
M
mcp-mysql-connector

mcp-mysql-connector

ローカル
github.com/daedalusデータベース027 週間前に更新

mcp-mysql-connector について

mcp-mysql-connectorは、MySQL操作をLLMエージェントやAIアシスタント向けのツールとして公開するMCPサーバーです。クエリ、スキーマやユーザーの管理、トランザクション制御に対応し、メタデータもリソースとして提供します。

主な機能

  1. 01MySQLへの接続と切断
  2. 02SQLクエリの実行
  3. 03データベース、テーブル、列、インデックスの管理
  4. 04ユーザー作成と権限管理
  5. 05トランザクションのコミットとロールバック
  6. 06データベースとテーブルのメタデータ確認

活用シーン

  1. 01MySQLデータベースへのクエリ実行
  2. 02テーブルのスキーマとインデックスの確認
  3. 03データベースユーザーと権限の管理
  4. 04データベース変更の適用または取り消し

MCP 対応

MySQL操作をMCPツールとして、データベースとテーブルのメタデータをMCPリソースとして公開します。MCPクライアントから、接続先データベースの照会や管理に利用できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"daedalus-mcp-mysql-connector": {
"command": "uvx",
"args": [
"mcp-mysql-connector"
]
}
}
}
起動コマンドuvx mcp-mysql-connector

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypimcp-mysql-connector0.1.1

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

mcp-mysql-connector

LLM エージェント向けに、MySQL データベースの機能をツールとして提供する MCP サーバーです。

mcp-name: io.github.daedalus/mcp-mysql-connector

PyPI Python Coverage Ruff

概要

mcp-mysql-connector は、LLM エージェント向けに MySQL データベース操作をツールとして提供する Model Context Protocol(MCP)サーバーです。標準化されたプロトコルを通じて AI アシスタントが MySQL データベースを操作でき、次の機能を利用できます。

  • データベースとテーブルの管理
  • クエリの実行
  • ユーザー認証と権限管理
  • スキーマの調査
  • トランザクション制御

インストール

pip install mcp-mysql-connector

クイックスタート

サーバーの実行
# Run with stdio transport (default)
mcp-mysql-connector

# Or run programmatically
python -c "from mcp_mysql import mcp; mcp.run()"
設定

connect ツールを使用して MySQL に接続します。

{
  "host": "localhost",
  "port": 3306,
  "user": "root",
  "password": "your_password",
  "database": "your_database"
}

MCP ツール

接続管理
ツール説明
connectMySQL データベースに接続します
disconnectMySQL から切断します
is_connected接続状態を確認します
commit現在のトランザクションをコミットします
rollback現在のトランザクションをロールバックします
クエリの実行
ツール説明
execute_querySQL クエリをそのまま実行し、結果を返します
データベース操作
ツール説明
list_databasesサーバー上のすべてのデータベースを一覧表示します
create_database新しいデータベースを作成します
drop_databaseデータベースを削除します
database_existsデータベースが存在するか確認します
テーブル操作
ツール説明
list_tablesデータベース内のテーブルを一覧表示します
describe_tableテーブルのスキーマを取得します
create_table新しいテーブルを作成します
drop_tableテーブルを削除します
table_existsテーブルが存在するか確認します
カラムとインデックスの操作
ツール説明
show_columnsカラムの詳細を表示します
show_indexesインデックスの詳細を表示します
create_indexインデックスを作成します
drop_indexインデックスを削除します
ユーザー管理
ツール説明
create_userMySQL ユーザーを作成します
drop_userMySQL ユーザーを削除します
grant_privilegesユーザーに権限を付与します
revoke_privilegesユーザーの権限を取り消します
show_privilegesユーザーの権限を表示します
サーバー情報
ツール説明
server_statusMySQL サーバーの状態を取得します

MCP リソース

サーバーは、データベースとテーブルのメタデータを動的なリソースとして提供します。

  • database://{name} - テーブル一覧を含むデータベースのメタデータ
  • table://{db}/{table} - スキーマ、カラム、インデックスを含むテーブルのメタデータ

使用例

接続してクエリを実行
# First, connect to database
connect(host="localhost", user="root", password="secret", database="mydb")

# Execute a query
execute_query(sql="SELECT * FROM users WHERE active = true")

# List all tables
list_tables(database="mydb")
データベースとテーブルの作成
# Create a database
create_database(name="newapp")

# Create a table
create_table(name="users", schema="id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(255), email VARCHAR(255) UNIQUE")
ユーザー管理
# Create a new user with password
create_user(username="app_user", host="localhost", password="secure_password")

# Grant privileges
grant_privileges(privileges="SELECT,INSERT,UPDATE,DELETE", on="newapp.*", username="app_user", host="localhost")
トランザクション制御
# Start transaction
execute_query(sql="BEGIN")

# Execute operations
execute_query(sql="INSERT INTO accounts (balance) VALUES (100)")

# Commit or rollback
commit()  # or rollback()

環境変数

サーバーは環境変数による設定に対応しています。

export MYSQL_HOST=localhost
export MYSQL_PORT=3306
export MYSQL_USER=root
export MYSQL_PASSWORD=secret
export MYSQL_DATABASE=mydb

開発

# Clone repository
git clone https://github.com/daedalus/mcp-mysql-connector.git
cd mcp-mysql-connector

# Create virtual environment
python -m venv venv
source venv/bin/activate

# Install dependencies
pip install -e ".[test]"

# Run tests
pytest

# Format code
ruff format src/ tests/

# Lint
ruff check src/ tests/

# Type check
mypy src/

アーキテクチャ

mcp-mysql-connector/
├── src/mcp_mysql/
│   ├── core/models.py       # Data models (QueryResult, TableSchema, etc.)
│   ├── adapters/mysql.py    # MySQL connection & pooling
│   ├── services/connection.py  # Connection manager
│   ├── tools/mysql_tools.py   # MCP tool implementations
│   └── mcp.py              # FastMCP server setup
└── tests/                   # Test suite

要件

  • Python 3.11+
  • fastmcp >= 2.0.0
  • pymysql >= 1.1.0
  • sqlparse >= 0.4.0

ライセンス

MIT License — 詳細については LICENSE を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。