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 Parking Server渋谷駐車場の夜間料金設定を教えて"
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 Parking Server
駐車場管理システム用の読み取り専用MCPサーバーです。 自然言語の質問に対して、データベースを参照し日本語で回答します。
機能
駐車場の検索(名前・コード・ID)
課金設定の取得(再課金猶予時間、夜間料金など)
読み取り専用SQLの実行
スキーマコンテキストによる業務理解支援
セットアップ
1. 依存関係のインストール
2. 環境変数の設定
3. データベースユーザーの作成(推奨)
4. サーバーの起動
MCP クライアントからの接続
Claude Desktop での設定例
claude_desktop_config.json:
ツール一覧
ツール名 | 説明 |
| 駐車場を検索(名前・コード・ID) |
| 駐車場の設定を取得 |
| 夜間料金設定を取得 |
| 読み取り専用SQLを実行 |
| スキーマの業務コンテキストを取得 |
| 業務用語を説明 |
| クエリアプローチを提案 |
プロジェクト構造
セキュリティ
詳細は下記「セキュリティガードレール」セクションを参照してください。
セキュリティガードレール
このMCPサーバーは、エンタープライズ環境での安全な運用を前提に設計されています。
1. 多層防御アーキテクチャ
2. SQLバリデーション詳細
2.1 禁止キーワード
以下のキーワードを含むクエリは拒否されます:
カテゴリ | 禁止キーワード |
DML(データ変更) | INSERT, UPDATE, DELETE, REPLACE, TRUNCATE, MERGE |
DDL(スキーマ変更) | CREATE, ALTER, DROP, RENAME |
DCL(権限管理) | GRANT, REVOKE |
トランザクション | COMMIT, ROLLBACK, SAVEPOINT |
その他 | LOAD, HANDLER, CALL, EXECUTE, PREPARE |
ファイル操作 | INTO OUTFILE, INTO DUMPFILE, LOAD_FILE |
2.2 禁止関数
SQLインジェクション対策として、以下の関数を禁止:
SLEEP()- 時間ベース攻撃BENCHMARK()- 時間ベース攻撃LOAD_FILE()- ファイル読み取り
2.3 テーブルホワイトリスト
アクセス可能なテーブルを明示的に制限:
2.4 その他の制限
制限項目 | 内容 |
複文実行 | セミコロンによる複数SQL実行を禁止 |
コメント |
|
UNION | UNIONインジェクション対策として禁止 |
サブクエリ | 最大1階層まで |
LIMIT | 必須(自動付与)、最大1000件 |
3. データベースレベルの保護
3.1 読み取り専用トランザクション
3.2 タイムアウト制御
3.3 接続プール制限
4. 推奨されるデータベース設定
4.1 専用の読み取り専用ユーザー
4.2 リードレプリカの使用(推奨)
本番環境では、リードレプリカに接続することを推奨します:
5. 監査とログ
5.1 アプリケーションログ
5.2 推奨される追加対策
クエリログの永続化(CloudWatch Logs等)
異常なクエリパターンのアラート設定
定期的なアクセスログレビュー
6. プライバシー保護
6.1 個人情報の取り扱い
parking_sessions.vehicle_number(車両番号)は個人情報に該当する可能性があります。
スキーマコンテキストでこれを明示し、不必要なアクセスを抑制します:
6.2 データマスキング(オプション)
必要に応じて、機密カラムのマスキングを実装できます:
7. 障害対策
障害シナリオ | 対策 |
DB接続失敗 | 明確なエラーメッセージを返却 |
クエリタイムアウト | 30秒でタイムアウト、エラー返却 |
不正なSQL | バリデーションエラーを返却 |
大量データ | LIMITによる件数制限 |
8. セキュリティチェックリスト
デプロイ前に以下を確認してください:
データベースユーザーはSELECT権限のみ持っている
環境変数でパスワードを管理している(ハードコードしていない)
リードレプリカまたは専用の参照用DBに接続している
ネットワークアクセスが制限されている(VPC内など)
アプリケーションログが有効になっている
schema_context.json のテーブル一覧が実際のホワイトリストと一致している