Skip to main content
Glama
caicongyang

MySQL MCP Server

by caicongyang

MySQL MCP サーバー

英語|中国語

概要

MySQLを介してデータベースとのやり取り機能を提供するモデルコンテキストプロトコル(MCP)サーバー実装。このサーバーでは、SQLクエリの実行、テーブルの作成、データベーススキーマ情報の参照が可能です。

Related MCP server: MCP MySQL Server

コンポーネント

ツール

サーバーは 5 つのコア ツールを提供します。

クエリツール

  • read_query

    • SELECTクエリを実行してデータベースからデータを読み取ります

    • 入力:
      * query (文字列): 実行するSELECT SQLクエリ

    • 戻り値: クエリ結果をオブジェクトの配列として返します

  • write_query

    • INSERT、UPDATE、またはDELETEクエリを実行する

    • 入力:
      * query (文字列): SQL変更クエリ

    • 戻り値: { affected_rows: number }

  • create_table

    • データベースに新しいテーブルを作成する

    • 入力:
      * query (文字列): CREATE TABLE SQL ステートメント

    • 戻り値: テーブル作成の確認

スキーマツール

  • list_tables

    • データベース内のすべてのテーブルのリストを取得する

    • 入力不要

    • 戻り値: テーブル名の配列

  • describe_table

    • 特定のテーブルのスキーマ情報を表示する

    • 入力:
      * table_name (文字列): 記述するテーブルの名前

    • 戻り値: 名前と型を持つ列定義の配列

インストール

前提条件

  • Python 3.10以上

  • MySQLデータベース

  • 必要な Python パッケージ:

    • mcp (モデルコンテキストプロトコル)

    • sqlalchemy

    • pymysql (または他のMySQLドライバ)

    • python-dotenv

    • uvicorn (HTTP トランスポート用)

Condaを使ったセットアップ

まず、conda 環境を作成してアクティブ化します。

# Create environment
conda create --name mcp-demo python=3.12
# Activate environment
conda activate mcp-demo

次に、必要な依存関係をインストールします。

# Method 1: Using pip
pip install "mcp[cli]>=0.1.0" "pymysql>=1.1.0" "sqlalchemy>=2.0.0" "python-dotenv>=1.0.0" "uvicorn>=0.27.0"

# Method 2: Using uv
uv pip install "mcp[cli]>=0.1.0" "pymysql>=1.1.0" "sqlalchemy>=2.0.0" "python-dotenv>=1.0.0" "uvicorn>=0.27.0"

構成

次を使用してサーバーを構成できます。

環境変数ファイル (.env)

  1. .env.templateファイルをコピーし、名前を.envに変更します。

cp .env.template .env
  1. 設定に合わせて.envファイルを編集します。

# Database configuration
DB_URL=mysql+pymysql://username:password@localhost:3306/dbname

コマンドライン引数

コマンドライン引数を使用して構成を上書きすることもできます。

python src/mysql/server.py --db-url mysql+pymysql://username:password@localhost:3306/dbname

使用法

サーバーの起動

# Using .env file configuration
python src/mysql/server.py

# Using command line arguments
python src/mysql/server.py --db-url mysql+pymysql://username:password@localhost:3306/dbname --transport http

MCP Inspectorによるテスト

MCP Inspector ツールを使用してサーバーをテストできます。

npx @modelcontextprotocol/inspector uv run /Users/caicongyang/IdeaProjects/tom/mcp-demo/src/mysql/server.py

これによりサーバーが起動し、利用可能なツールを対話的にテストできるようになります。

ワークフローの例

  1. MySQLデータベース接続でサーバーを起動します

  2. MCPクライアントを使用してAIモデルをサーバーに接続する

  3. 利用可能なテーブルを確認するには、 list_tablesツールを使用します。

  4. 必要に応じてcreate_tableでテーブルを作成する

  5. write_queryでデータを挿入する

  6. read_queryでデータをクエリする

Claude Desktopでの使用

紫外線

claude_desktop_config.jsonにサーバーを追加します。

"mcpServers": {
  "mysql": {
    "command": "uv",
    "args": [
      "--directory",
      "path_to_mcp_demo",
      "run",
      "python",
      "src/mysql/server.py",
      "--db-url",
      "mysql+pymysql://username:password@localhost/dbname"
    ]
  }
}

ドッカー

claude_desktop_config.jsonにサーバーを追加します。

"mcpServers": {
  "mysql": {
    "command": "docker",
    "args": [
      "run",
      "--rm",
      "-i",
      "-v",
      "mcp-mysql:/mcp",
      "mcp/mysql",
      "--db-url",
      "mysql+pymysql://username:password@localhost/dbname"
    ]
  }
}

パッケージのインストール

pip を使用してパッケージをインストールすることもできます。

# Install in development mode
pip install -e .

# Run using the installed package
mcp-mysql --db-url mysql+pymysql://username:password@localhost/dbname

カーソルIDE

CursorはAI支援IDEです。このMCPサーバーをCursorと統合することで、コーディング中にMySQLデータベースに直接クエリを実行できます。

カーソルで設定

  1. MCPサーバーを起動する

    python src/mysql/server.py
  2. カーソル設定でMCPを構成する

    MCP サーバーの URL を追加します:

    http://localhost:8000
  3. カーソルコマンドを使用してMCPにアクセスする

    カーソル エディターでは、次を使用します。

    /mcp mysql-query {"query": "SELECT * FROM users LIMIT 5"}

    パラメータ化されたクエリの場合:

    /mcp mysql-query {"query": "SELECT * FROM users WHERE age > :min_age", "params": {"min_age": 30}}

APIリファレンス

入力形式

{
  "query": "SELECT * FROM users WHERE age > :min_age",
  "params": {
    "min_age": 30
  }
}

出力形式

{
  "results": [
    {"id": 1, "name": "John", "age": 35},
    {"id": 2, "name": "Jane", "age": 42}
  ],
  "columns": ["id", "name", "age"],
  "rowcount": 2
}

セキュリティに関する考慮事項

  • このサーバーは任意のSQLクエリを許可するため、信頼できる環境で実行する必要があります。

  • 本番環境では、適切なアクセス制御と入力検証を実装します。

  • 実行できるSQLコマンドの種類を制限することを検討する

  • 重要: 機密情報を含む.envファイルをバージョン管理にコミットしないでください。

発達

プロジェクト構造

  • src/mysql/server.py : メインサーバーの実装

  • pyproject.toml : パッケージ構成

  • README.md : このドキュメント

新機能の追加

新しい機能でサーバーを拡張するには:

  1. @mcp.tool()デコレータを使用して新しいツールを追加する

  2. MySQLDatabaseクラスを使用してツールロジックを実装する

  3. 新しい機能を反映するようにドキュメントを更新する

ライセンス

このMCPサーバーはMITライセンスに基づいてライセンスされています。つまり、MITライセンスの条件に従って、ソフトウェアを自由に使用、改変、配布することができます。

F
license - not found
Not graded
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    A server that enables AI models to interact with MySQL databases through a Model Control Protocol, providing tools for table creation, schema inspection, query execution, and data retrieval.
    28
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    A Model Context Protocol server that enables AI models to interact with MySQL databases, providing tools for querying, executing statements, listing tables, and describing table structures.
    5
    466
    MIT
  • F
    license
    B
    quality
    D
    maintenance
    A Model Context Protocol server that enables AI models to interact with MySQL databases through a standardized interface, providing tools for querying, executing commands, and managing database schemas.
    7
  • A
    license
    A
    quality
    D
    maintenance
    A Model Context Protocol server that allows AI agents to execute SQL queries against a MySQL database, supporting operations like reading data, creating tables, inserting, updating, and deleting records.
    6
    519
    8
    MIT

View all related MCP servers

Related MCP Connectors

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

  • GibsonAI MCP server: manage your databases with natural language

  • A Model Context Protocol server for Wix AI tools

View all MCP Connectors

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/caicongyang/mcp-demo'

If you have feedback or need assistance with the MCP directory API, please join our Discord server