Skip to main content
Glama

MySQL MCP Server

by yuki777
techContext.md3.02 kB
# MySQL MCP Server - 技術的背景 ## 使用技術 - **言語**: TypeScript - **ランタイム**: Node.js (v20.0.0以上) - **データベース**: MySQL (接続クライアント) - **通信方式**: 標準入出力 (stdio) - **パッケージ管理**: npm ## 主要依存関係 - **mysql2**: MySQLデータベース接続用クライアント - **typescript**: TypeScript言語サポート - **ts-node**: TypeScriptファイルの直接実行 - **nodemon**: 開発時の自動リロード - **express**: Webアプリケーションフレームワーク - **commander**: コマンドラインインターフェース - **cors**: CORSミドルウェア - **body-parser**: リクエストボディの解析 ## プロジェクト構造 ``` mysql-mcp-server/ ├── dist/ # コンパイル済みのJavaScriptファイル ├── src/ │ ├── cli/ # CLIインターフェース │ │ └── utils/ # CLI関連のユーティリティ │ ├── config/ # 設定管理 │ ├── core/ # MCPコア機能 │ ├── mysql/ # MySQL接続 │ ├── utils/ # 共通ユーティリティ │ └── index.ts # メインエントリーポイント ├── cline_docs/ # プロジェクト文書 ├── package.json # パッケージ情報 └── tsconfig.json # TypeScript設定 ``` ## 開発環境セットアップ 1. **前提条件**: - Node.js (v16以上) - npm - MySQL サーバー (ローカルまたはリモート) 2. **開発ビルド手順**: ```bash # リポジトリのクローン git clone [repository-url] cd mysql-mcp-server # 依存関係のインストール npm install # 開発モードでの実行 npm run dev ``` 3. **本番ビルド**: ```bash # ビルド実行 npm run build # 実行 npm start ``` ## 設定方法 ### 環境変数 ``` DB_HOST=localhost DB_PORT=3306 DB_USER=root DB_PASSWORD=password DB_DATABASE=test MCP_SERVER_PORT=3000 MCP_SERVER_HOST=localhost QUERY_TIMEOUT=30000 MAX_RESULT_SIZE=1000 DEBUG=true ``` ### 設定ファイル (JSON) ```json { "server": { "port": 3000, "host": "localhost" }, "mysql": { "host": "localhost", "port": 3306, "user": "root", "password": "yourpassword", "database": "mydb" }, "debug": false, "queryTimeout": 30000, "maxResultSize": 1000 } ``` ### コマンドライン引数 ```bash npx mysql-mcp-server --host localhost --port 3306 --user root --password yourpassword --database mydb ``` ## 技術的制約 1. MySQLサーバーへのネットワーク接続が必要 2. 適切なデータベース権限が必要 3. クエリタイムアウトの設定による長時間実行クエリの制限(デフォルト30秒) 4. データ返却サイズの制限(デフォルト1000行、大量データの場合はLIMIT句の使用を推奨) 5. 現時点ではリソースアクセス機能は未実装

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/yuki777/mysql-mcp-server'

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