text2sql について
text2sqlは、自然言語でSQLデータベースに質問するためのMCPサーバーです。スキーマを調べてSQLを実行し、エラーを修正します。RAG層や事前計算済みの埋め込みは使いません。
主な機能
- 01自然言語でのデータベース検索
- 02スキーマの調査
- 03SQL実行とエラー修正
- 04SQLite、Postgres、MySQL、Snowflake、BigQueryに対応
活用シーン
- 01データベースの内容を質問
- 02SQLを手書きせずにクエリを実行
MCP 対応
MCPクライアントに`query`ツールを提供し、生成したSQL、データ、エラー、行数を返します。Claude Desktop、Cursor、GooseなどのMCP対応アシスタントに接続できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx text2sql-mcpTEXT2SQL_DATABASE_URLSQLAlchemy connection URL, e.g. sqlite:///mydb.db or postgresql://user:pass@host/dbANTHROPIC_API_KEYシークレットAnthropic API key (required if using the default Anthropic model)OPENAI_API_KEYシークレットOpenAI API key (required when TEXT2SQL_MODEL is set to an openai:* model)TEXT2SQL_MODELOptional LangChain model id (default: anthropic:claude-sonnet-4-6)ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
text2sql-mcp
text2sql-framework 用の MCP サーバーです。Claude Desktop、Cursor、Goose、またはその他の MCP 互換アシスタントに接続して、SQL データベースに自然言語で質問できます。
エージェントがスキーマを調べ、SQL を作成し、実際のデータベースに対して実行して、エラーが発生した場合は自動で修正します。RAG レイヤーも、スキーマの説明も、事前計算済みの埋め込みも必要ありません。
インストール
標準では、text2sql-mcp は SQLite + Anthropic に対応しています。
pip install text2sql-mcp
# or
uvx text2sql-mcp
その他のデータベースや LLM プロバイダーを使用する場合は、対応する追加パッケージを指定してインストールし、適切なドライバーをインストールしてください。
| 使用するもの… | インストールコマンド |
|---|---|
| SQLite(デフォルト) | uvx text2sql-mcp |
| Postgres | uvx 'text2sql-mcp[postgres]' |
| MySQL | uvx 'text2sql-mcp[mysql]' |
| Snowflake | uvx 'text2sql-mcp[snowflake]' |
| BigQuery | uvx 'text2sql-mcp[bigquery]' |
| OpenAI モデル | openai を追加します。例:uvx 'text2sql-mcp[postgres,openai]' |
設定
MCP クライアントの設定で環境変数を指定します。
| 変数 | 必須 | 説明 |
|---|---|---|
TEXT2SQL_DATABASE_URL | はい | SQLAlchemy の URL。例:sqlite:///mydb.db、postgresql://user:pass@host/db |
ANTHROPIC_API_KEY または OPENAI_API_KEY | はい | LLM プロバイダーのキー |
TEXT2SQL_MODEL | いいえ | LangChain のモデル ID(デフォルト:anthropic:claude-sonnet-4-6) |
TEXT2SQL_INSTRUCTIONS | いいえ | ビジネスルールやヒント。例:「売上は返金額を差し引いた金額です。」 |
TEXT2SQL_EXAMPLES | いいえ | エージェントの lookup_example ツール用の scenarios.md ファイルのパス |
Claude Desktop / Cursor / 汎用 MCP
{
"mcpServers": {
"text2sql": {
"command": "uvx",
"args": ["text2sql-mcp"],
"env": {
"TEXT2SQL_DATABASE_URL": "sqlite:///mydb.db",
"ANTHROPIC_API_KEY": "sk-ant-..."
}
}
}
}
Goose CLI
goose configure
# Add Extension → Command-line Extension
# Name: text2sql
# Command: uvx text2sql-mcp
# Env: TEXT2SQL_DATABASE_URL, ANTHROPIC_API_KEY
ツール
query(question, max_rows=100)— データベースに自然言語で質問します。{sql, data, error, row_count, tool_calls_made}を返します。
仕組み
内部では、text2sql-framework を薄くラップしています。このフレームワークは LangChain Deep Agents を使用し、単一の execute_sql ツールに対して反復的にツールを呼び出します。ベンチマーク(80 テーブルを対象にした Spider のゼロショット評価で 19/20)とアーキテクチャの詳細については、フレームワークの README をご覧ください。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。