Amazon Redshift MCP Serverを使ってRedshiftでText-to-SQLを試す

この記事を書いたチーム:tenko

 

はじめに

【エンジニア募集中】フルリモート可◎、売上/従業員数9年連続UP、平均残業8時間、有給取得率90%、年休124日以上 etc.  詳細はこちらから>

AWS MCP Servers( https://github.com/awslabs/mcp )では、AWSサービス向けのさまざまなMCPサーバが公開されています。ここではその中のRedshift MCP Serverを用い、RedshiftText-to-SQLを試してみます。

 

インストール&設定

CursorVSCodeのワンクリックインストールを使う場合は、リポジトリのREADMEInstallation and Setup」に従えば構築できます。
今回はCursorVSCodeを使用しないため、以下の手順で構築を行いました。

1.uvをインストール
公式手順: https://docs.astral.sh/uv/getting-started/installation/

2.uvを用いて、Python 3.10以上をインストール
uv python install 3.10 

3.Redshift MCP Serverのソースを取得
awslabs/mcp
リポジトリ内のsrc/redshift-mcp-serverディレクトリを取得
https://github.com/awslabs/mcp

4.IAMユーザを作成
以下の権限を付与したIAMユーザを作成し、アクセスキーを取得
Resourceは環境に合わせて絞り込み推奨

 5..envを作成
redshift-mcp-server下に.envを作成し、IAMユーザのアクセスキー等を記載

 6.依存パッケージをインストール
redshift-mcp-server直下で uv sync コマンドを実行
C:\mcp\redshift-mcp-server> uv sync 

 7.MCPサーバを実行
C:\mcp\redshift-mcp-server> uv run --env-file .env python awslabs\redshift_mcp_server\server.py 

 

Streamable HTTPの設定

Redshift MCP Serverは現在stdioのみ対応しているため、Streamable HTTPを使用したい場合、awslabs\redshift_mcp_server\server.pymcp.run()を次のように修正します。

 

Text-to-SQL実行

エージェントにMCPを接続し、事前に用意したusersテーブルのユーザ数を問い合わせました。正確な回答が得られています。

MCPサーバ側のログ(一部抜粋)は以下のとおりで、list_clusters list_databases list_schemas list_tables execute_queryの順にツールが呼ばれていることがわかります。

※一部抜粋

 

おわりに

Redshift MCP Serverを使えば、エージェントから手軽にRedshiftText-to-SQLを試せることが分かりました。
awslabs/mcp
リポジトリにはRedshift MCP Server以外にも多様なMCPサーバが公開されています。要件に合うものを組み合わせると活用の幅が一気に広がるので、ぜひリポジトリを覗いて気になるサーバを試してみてください。

【エンジニア募集中】フルリモートも◎(リモート率85.7%)、平均残業8時間、年休124日以上、有給取得率90% etc. 詳細はこちらから>

Smallitのサービス