プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。Google でログインするとレビューを書けます。プロトタイプ · 30分ごとに更新
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

Spark SQL

作者:aidancorrellバージョン 0.1.2i★ 1iパソコンで動く
レジストリ名io.github.aidancorrell/spark-sql-mcp-server

インストール方法

What it does

Query Spark SQL clusters via Thrift/HiveServer2. Works with Spark, EMR, Hive, Impala.

  • Connects パソコンで動く
  • Account or key Needs SPARK_HOST, SPARK_PASSWORD
  • Category データベース・データセット

インストール

使っているAIアプリを選んで、設定をコピーしてください。

チェック 2/3 合格 · あなたのパソコンで動きます

まず:どの AI を使っていますか?

使っているアプリを選ぶと、下に手順が表示されます。

Claude につなげますが、先に準備が必要です

Spark SQL のキーが必要です(提供元のサイトで作成) · 先にパソコンへ Python (uv) を入れてください(1 回だけ) · パソコン版 Claude アプリ(Windows または Mac)のみ。Web やスマホでは使えません

  1. Python (uv) を入れる

    1 回だけ。Python (uv) が必要なすべてのサーバーで使えます

    Python (uv) のダウンロードページを開く ↗

  2. Spark SQL に登録してキーを作る

    提供元のサイトで登録し、次の手順で使う API キーを作ります。料金や無料プランは提供元のサイトで確認してください。

    キーの取り方は下の提供元 README にあります

  3. パソコン版 Claude アプリの設定ファイルを開く

    SettingsDeveloperEdit Config

  4. この設定を貼り付けて保存

    コマンドを確認中 · 確認が通るとコピーボタンが出ます

    キーはアプリの入力欄にだけ貼り付け、チャットに貼ったり人に送ったりしないでください

  5. Claude を終了してもう一度開く

  6. 試してみる

    Spark SQL を使って、私に何ができるか教えて、1 つやってみせて

    ✓ Claude が Spark SQL を使っていると言うか、回答に Spark SQL のツール名が出れば接続成功です

メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります

ChatGPT はまだ Spark SQL につなげません

Spark SQL はパソコンに入れて使うものですが、ChatGPT は Web 上で動くサーバーにしかつなげません

代わりにできること

A · Spark SQL につなげるアプリを使う

  • Spark SQL のキーが必要です(提供元のサイトで作成) · 先にパソコンへ Python (uv) を入れてください(1 回だけ) · パソコン版 Claude アプリ(Windows または Mac)のみ。Web やスマホでは使えません
  • Spark SQL のキーが必要です(提供元のサイトで作成) · 先にパソコンへ Python (uv) を入れてください(1 回だけ)
  • Spark SQL のキーが必要です(提供元のサイトで作成) · 先にパソコンへ Python (uv) を入れてください(1 回だけ)
  • Spark SQL のキーが必要です(提供元のサイトで作成) · 先にパソコンへ Python (uv) を入れてください(1 回だけ)

B · データベース・データセット の中で ChatGPT につなげる別のサーバー

同じカテゴリでよく使われているものから、キーなしでアドレスだけでつなげるものを選びました

Claude Code につなげますが、先に準備が必要です

Spark SQL のキーが必要です(提供元のサイトで作成) · 先にパソコンへ Python (uv) を入れてください(1 回だけ)

  1. Python (uv) を入れる

    1 回だけ。Python (uv) が必要なすべてのサーバーで使えます

    Python (uv) のダウンロードページを開く ↗

  2. Spark SQL に登録してキーを作る

    提供元のサイトで登録し、次の手順で使う API キーを作ります。料金や無料プランは提供元のサイトで確認してください。

    キーの取り方は下の提供元 README にあります

  3. ターミナルを開く

    Mac:Command+スペースで Terminal と入力 · Windows:PowerShell を開く

  4. このコマンドを貼り付けて Enter

    コマンドを確認中 · 確認が通るとコピーボタンが出ます

    Enter の前に「your-value」を自分のキーに書き換えてください

    キーはアプリの入力欄にだけ貼り付け、チャットに貼ったり人に送ったりしないでください

  5. Claude Code で /mcp と入力

    Spark SQL が一覧にあり、接続済みと表示されれば OK です

  6. 試してみる

    Spark SQL を使って、私に何ができるか教えて、1 つやってみせて

    ✓ Claude Code が Spark SQL を使っていると言うか、回答に Spark SQL のツール名が出れば接続成功です

メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります

Cursor につなげますが、先に準備が必要です

Spark SQL のキーが必要です(提供元のサイトで作成) · 先にパソコンへ Python (uv) を入れてください(1 回だけ)

  1. Python (uv) を入れる

    1 回だけ。Python (uv) が必要なすべてのサーバーで使えます

    Python (uv) のダウンロードページを開く ↗

  2. Spark SQL に登録してキーを作る

    提供元のサイトで登録し、次の手順で使う API キーを作ります。料金や無料プランは提供元のサイトで確認してください。

    キーの取り方は下の提供元 README にあります

  3. このボタンで Cursor を開く

    コマンドを確認中 · 確認が通るとコピーボタンが出ます

  4. キーを入力

    Spark SQL の設定で SPARK_HOST, SPARK_PORT, SPARK_DATABASE, SPARK_AUTH, SPARK_USERNAME, SPARK_PASSWORD, SPARK_KERBEROS_SERVICE_NAME が空です。自分のキーを入れて保存します

    キーはアプリの入力欄にだけ貼り付け、チャットに貼ったり人に送ったりしないでください

  5. Cursor の AI チャットを Agent モードで開く

  6. 試してみる

    Spark SQL を使って、私に何ができるか教えて、1 つやってみせて

    ✓ Cursor が Spark SQL を使っていると言うか、回答に Spark SQL のツール名が出れば接続成功です

メニュー名は 2026年11月11日 に Cursor のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります

VS Code につなげますが、先に準備が必要です

Spark SQL のキーが必要です(提供元のサイトで作成) · 先にパソコンへ Python (uv) を入れてください(1 回だけ)

  1. Python (uv) を入れる

    1 回だけ。Python (uv) が必要なすべてのサーバーで使えます

    Python (uv) のダウンロードページを開く ↗

  2. Spark SQL に登録してキーを作る

    提供元のサイトで登録し、次の手順で使う API キーを作ります。料金や無料プランは提供元のサイトで確認してください。

    キーの取り方は下の提供元 README にあります

  3. このボタンで VS Code を開く

    コマンドを確認中 · 確認が通るとコピーボタンが出ます

  4. キーを入力

    Spark SQL の設定で SPARK_HOST, SPARK_PORT, SPARK_DATABASE, SPARK_AUTH, SPARK_USERNAME, SPARK_PASSWORD, SPARK_KERBEROS_SERVICE_NAME が空です。自分のキーを入れて保存します

    キーはアプリの入力欄にだけ貼り付け、チャットに貼ったり人に送ったりしないでください

  5. VS Code の AI チャットを Agent モードで開く

  6. 試してみる

    Spark SQL を使って、私に何ができるか教えて、1 つやってみせて

    ✓ VS Code が Spark SQL を使っていると言うか、回答に Spark SQL のツール名が出れば接続成功です

メニュー名は 2026年11月11日 に VS Code のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります

Windsurf、Zed、Gemini CLI など MCP を使える他のアプリは追加方法がそれぞれ違います。アプリ一覧で確認してください

MCP を使えるアプリをすべて見る →

JSON 設定は下の「開発者向け」にあります

つまずいたら?Spark SQL を使っている人に聞いてみましょう💬 ディスカッション →
開発者向け:ターミナルのコマンドと JSON 設定

パソコンにインストール

Claude Code

コマンドを確認中 · 確認が通るとコピーボタンが出ます

Claude Desktop (claude_desktop_config.json)

コマンドを確認中 · 確認が通るとコピーボタンが出ます

Cursor (~/.cursor/mcp.json)

コマンドを確認中 · 確認が通るとコピーボタンが出ます

VS Code (mcp.json)

コマンドを確認中 · 確認が通るとコピーボタンが出ます

自分で入力する値

  • SPARK_HOST 必須 env
    Hostname of the Spark Thrift Server
  • SPARK_PORT env
    Port of the Spark Thrift Server (default: 10000)
  • SPARK_DATABASE env
    Default database to use
  • SPARK_AUTH env
    Authentication method: NONE, LDAP, KERBEROS, CUSTOM, or NOSASL
  • SPARK_USERNAME env
    Username for LDAP authentication
  • SPARK_PASSWORD 秘密 env
    Password for LDAP authentication
  • SPARK_KERBEROS_SERVICE_NAME env
    Kerberos service name (default: hive)

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

ひと目でわかる

週あたりのダウンロードi
22/週
接続方法
パソコンで動く
最新バージョンi
0.1.2
レジストリ公開日i
2026年2月9日
コードの最終更新i
2026年3月26日
作者
aidancorrell
パッケージ
pypi: spark-sql-mcp-server
レジストリでの状態
有効

使えるアプリ

このサーバーのつなぎ方と、各アプリの公式ドキュメントに基づきます。2026年11月10日に確認。

パソコン上で動かせるアプリ

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

すべてのアプリと長所・短所 →

できること

パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月13日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント aidancorrell で確認済みです

  • ! 注意

    今もメンテナンスされている

    コードの最終更新:8 か月前(6か月以上前)

  • ✓ 合格

    ライセンスがある

    MITを使用

  • – 対象外

    エンドポイントが応答する

    これはパソコンで動くため、インターネット上のエンドポイントはありません

  • – 対象外

    OAuthでサインイン

    パソコンで動き、代わりにローカルの設定を使います

  • … 未チェック

    ツールの説明に隠れた指示がない

    パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです

話し合い

質問、コツの共有、使えないことの報告ができます。「役に立った」の多い順です。

まだ投稿はありません。最初の質問や共有をどうぞ。

ここの投稿は利用者によるもので、PopNx チームのものではありません。

Google でログインして投稿

ユーザーレビュー

まだレビューはありません

Google でログインしてレビューを書く

データベース・データセットのほかのサーバーとの比較i

  • このカテゴリのほかの1175件のうち79%よりスターが多い
  • このカテゴリのほかの1175件のうち3%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの1175件のうち51%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

Spark SQLは安全ですか?

当てはまる基本チェック3項目のうち2項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

入力が必要なもの:SPARK_HOST, SPARK_PASSWORD

パソコンで動きますか、それともクラウドですか?

あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は8 か月前、最新バージョン(0.1.2)がレジストリに届いたのは9 か月前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。

代わりに使えるものは?

同じカテゴリには:Dbx, MCP Toolbox for Databases, MCP Toolbox for Databases

同じカテゴリのほかの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Dbx

Query databases from AI agents using connections configured in DBX.

作者:t8y2広く使われている↓ 9446/週★ 3万6 か月前更新

パソコンで動く

MCP Toolbox for Databases

MCP Toolbox for Databases enables your agent to connect to your database.

作者:googleapis広く使われている★ 1.7万7 日前更新

パソコンで動く

MCP Toolbox for Databases

MCP Toolbox for Databases enables your agent to connect to your database.

作者:googleapis広く使われている★ 1.7万8 か月前更新

パソコンで動く

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

Spark SQL MCP Server

An MCP server that enables AI assistants to query Spark SQL clusters via the Thrift/HiveServer2 protocol.

Works with any HiveServer2-compatible system: Apache Spark, AWS EMR, Hive, Impala, Presto.

Features

  • Query Spark SQL — Execute read-only SQL queries against your Spark cluster
  • Schema Discovery — List databases, tables, and describe table structures
  • Multiple Auth Methods — NONE, LDAP, NOSASL, CUSTOM, and Kerberos authentication
  • EMR Compatible — Works with AWS EMR clusters out of the box
  • Read-Only Enforcement — Only SELECT, SHOW, DESCRIBE, EXPLAIN, and WITH statements are allowed
  • Safety Defaults — Automatic LIMIT clause on unbounded queries, sanitized error messages

Installation

pip install spark-sql-mcp-server

Or run directly with uvx:

uvx spark-sql-mcp-server

Quick Start

1. Set Environment Variables
export SPARK_HOST="your-emr-master-node.amazonaws.com"

export SPARK_PORT="10000" # default export SPARK_DATABASE="default" # default export SPARK_AUTH="NONE" # NONE | LDAP | KERBEROS | CUSTOM | NOSASL

2. Add to Claude Code

Global (all projects) — add to ~/.claude.json under your project's mcpServers:

{

"mcpServers": { "spark-sql": { "command": "uvx", "args": ["spark-sql-mcp-server"], "env": { "SPARK_HOST": "your-emr-master-node.amazonaws.com", "SPARK_PORT": "10000", "SPARK_AUTH": "NONE" } } } }

Project-level — add to .claude/mcp.json in your repo:

{

"mcpServers": { "spark-sql": { "command": "uvx", "args": ["spark-sql-mcp-server"], "env": { "SPARK_HOST": "your-emr-master-node.amazonaws.com", "SPARK_PORT": "10000", "SPARK_AUTH": "NONE" } } } }

3. Add to Claude Desktop

Add to your claude_desktop_config.json:

{

"mcpServers": { "spark-sql": { "command": "uvx", "args": ["spark-sql-mcp-server"], "env": { "SPARK_HOST": "your-emr-master-node.amazonaws.com", "SPARK_PORT": "10000" } } } }

4. Query

Ask Claude things like:

  • "What databases are available in our Spark cluster?"
  • "Show me the schema of the sales.transactions table"
  • "Query the top 10 customers by revenue from the analytics database"

Available Tools

ToolDescription
list_databasesList all available databases
list_tablesList tables in a database
describe_tableGet table schema (columns, types)
execute_queryRun read-only SQL queries with formatted results

Authentication

No Auth (default)
export SPARK_AUTH="NONE"
LDAP
export SPARK_AUTH="LDAP"

export SPARK_USERNAME="your-username" export SPARK_PASSWORD="your-password"

Kerberos
export SPARK_AUTH="KERBEROS"

export SPARK_KERBEROS_SERVICE_NAME="hive" # default

Ensure you have a valid Kerberos ticket (kinit)

AWS EMR Setup

  1. Security Group — Allow inbound traffic on port 10000 from your IP
  2. SSH Tunnel (recommended):
   ssh -i your-key.pem -L 10000:localhost:10000 hadoop@your-emr-master
  1. Set SPARK_HOST=localhost

Development

git clone https://github.com/aidancorrell/spark-sql-mcp-server.git

cd spark-sql-mcp-server pip install -e ".[dev]" pytest ruff check .

Local Testing with Docker

A Docker Compose setup provides a local Spark Thrift Server with sample data for integration testing.

# Start the Spark Thrift Server

cd docker && docker compose up -d

Wait for it to be ready (takes ~30s on first start)

docker logs -f spark-thrift-server # look for "Sample data loaded."

Run integration tests

pytest -m integration -v

Tear down

cd docker && docker compose down -v

The local server comes with sample tables: default.employees, default.orders, and test_db.metrics.

Unit tests run by default with pytest (integration tests are skipped unless -m integration is specified).

Using the local server with Claude Code

With the Docker Spark server running, add it to your MCP config to test the server interactively.

Global — add to ~/.claude.json under your project's mcpServers:

{

"spark-sql": { "command": "uvx", "args": ["spark-sql-mcp-server"], "env": { "SPARK_HOST": "localhost", "SPARK_PORT": "10000", "SPARK_AUTH": "NONE" } } }

Project-level — add to .claude/mcp.json:

{

"mcpServers": { "spark-sql": { "command": "uvx", "args": ["spark-sql-mcp-server"], "env": { "SPARK_HOST": "localhost", "SPARK_PORT": "10000", "SPARK_AUTH": "NONE" } } } }

Then start a new Claude Code session and ask it to query the sample data.

Security

Read-Only Enforcement

The execute_query tool only allows read-only SQL statements. Queries must start with one of: SELECT, SHOW, DESCRIBE, DESC, EXPLAIN, or WITH. All other statement types (DROP, INSERT, DELETE, CREATE, ALTER, SET, ADD JAR, etc.) are rejected before reaching the Spark cluster.

Error Sanitization

Database errors are sanitized before being returned to the MCP client. Internal details such as server hostnames, file paths, and stack traces are not exposed. Connection failures report only the target host/port and error type.

Credential Handling
  • Passwords are never included in log output or error messages
  • The SparkConfig object masks passwords in its string representation
  • SPARK_PASSWORD is marked as a secret in the MCP registry schema
Known Limitations
  • No TLS/SSL support — Thrift connections are unencrypted. For production use with LDAP auth, use an SSH tunnel to protect credentials in transit.
  • No query timeout — Long-running queries are not automatically cancelled. Rely on Spark cluster-level timeout configuration.
  • No per-user access control — All queries execute with the privileges of the configured Spark user. Use HiveServer2 authorization (Ranger, Sentry) to restrict access at the database level.
  • Auth mode defaults to NONE — Appropriate for local development but not for production. Set SPARK_AUTH to LDAP or KERBEROS for authenticated environments.

License

MIT