mcpField
S
SingleStore MCP Server

SingleStore MCP Server

ローカル
pypi.orgデータベース3320 週間前に更新

SingleStore MCP Server について

SingleStore MCP Server は、SingleStore Management API と関連サービスを操作する MCP サーバーです。uvx でインストールし、ブラウザーでの OAuth 認証により起動できるため、複数の MCP クライアントで利用できます。

主な機能

  1. 01ユーザー、組織、ワークスペースグループ、ワークスペースの情報取得
  2. 02スターターワークスペースの作成、再開、終了
  3. 03接続済みワークスペースでの SQL 実行
  4. 04ノートブックファイルと定期ジョブの管理
  5. 05Stage デプロイメントのファイルとフォルダーの操作

活用シーン

  1. 01自然言語で SingleStore ワークスペースの状態を確認
  2. 02MCP クライアントから SQL を実行して結果を確認
  3. 03Stage ファイルとノートブックジョブの管理

MCP 対応

このプロジェクトは MCP サーバーとして、Claude Desktop、Claude Code、Cursor などの MCP クライアントに SingleStore の管理・データ操作ツールを公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"singlestore": {
"command": "uvx",
"args": [
"singlestore-mcp-server"
]
}
}
}
起動コマンドuvx singlestore-mcp-server

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypisinglestore-mcp-server

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

SingleStore MCP Server

MIT Licence PyPI Downloads

Model Context Protocol(MCP)は、LLM(大規模言語モデル)と外部システム間のコンテキストを管理するために設計された標準プロトコルです。このリポジトリでは、Singlestore 用のインストーラーと MCP サーバーを提供し、シームレスな統合を実現します。

MCP を使うと、Claude Desktop、Claude Code、Cursor、または互換性のある MCP クライアントを通じて、自然言語で SingleStore を操作できるため、複雑な操作を簡単に実行できます。

💡 プロのヒント:MCP サーバーで何ができるか分からない場合は、チャットで /help プロンプトを呼び出してください。

要件

  • Python >= v3.10.0
  • Python 環境に uvx がインストールされていること
  • VS Code、Cursor、Windsurf、Claude Desktop、Claude Code、Goose、またはその他の MCP クライアント

はじめに

はじめに

まず、お使いのクライアントに SingleStore MCP サーバーをインストールします。

標準設定は、ほとんどのツールで使用できます。

{
  "mcpServers": {
    "singlestore-mcp-server": {
      "command": "uvx",
      "args": [
        "singlestore-mcp-server",
        "start"
      ]
    }
  }
}

API キー、トークン、環境変数は必要ありません! サーバーの起動時に、ブラウザー OAuth によって認証が自動的に処理されます。

Claude Desktop

自動セットアップ:

uvx singlestore-mcp-server init --client=claude-desktop

手動セットアップ: MCP インストールガイドに従い、上記の標準設定を使用してください。

Claude Code

自動セットアップ:

uvx singlestore-mcp-server init --client=claude-code

Claude CLI コマンドが自動的に実行されます。

手動セットアップ:

claude mcp add singlestore-mcp-server uvx singlestore-mcp-server start
Cursor

自動セットアップ:

uvx singlestore-mcp-server init --client=cursor

手動セットアップ: Cursor Settings -> MCP -> Add new MCP Server に移動します。任意の名前を付け、種類に command を選択し、コマンドに uvx singlestore-mcp-server start を指定します。Edit をクリックして、設定の確認やコマンドライン引数の追加もできます。

VS Code

自動セットアップ:

uvx singlestore-mcp-server init --client=vscode

手動セットアップ: MCP インストールガイドに従い、上記の標準設定を使用してください。VS Code CLI を使ってインストールすることもできます。

code --add-mcp '{"name":"singlestore-mcp-server","command":"uvx","args":["singlestore-mcp-server","start"]}'

インストール後、VS Code の GitHub Copilot エージェントで SingleStore MCP サーバーを使用できるようになります。

Windsurf

自動セットアップ:

uvx singlestore-mcp-server init --client=windsurf

手動セットアップ: Windsurf MCP のドキュメントに従ってください。上記の標準設定を使用します。

Gemini CLI

自動セットアップ:

uvx singlestore-mcp-server init --client=gemini

手動セットアップ: MCP インストールガイドに従い、上記の標準設定を使用してください。

LM Studio

自動セットアップ:

uvx singlestore-mcp-server init --client=lm-studio

手動セットアップ: 右側のサイドバーで Program -> Install -> Edit mcp.json に移動します。上記の標準設定を使用してください。

Goose

手動セットアップのみ: Advanced settings -> Extensions -> Add custom extension に移動します。任意の名前を付け、種類に STDIO を選択し、command に uvx singlestore-mcp-server start を設定します。「Add Extension」をクリックします。

Qodo Gen

VSCode または IntelliJ で Qodo Gen のチャットパネルを開き、Connect more tools → + Add new MCP → 上記の標準設定を貼り付けます。

Save をクリックします。

### Docker の使用

注記: Docker を使用する場合は API キーが必要です。Docker コンテナ内で実行されるサーバーでは OAuth フローがサポートされていないためです。

{
  "mcpServers": {
    "singlestore-mcp-server": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm", "--init", "--pull=always",
        "-e", "MCP_API_KEY=your_api_key_here",
        "singlestore/mcp-server-singlestore"
      ]
    }
  }
}

Docker イメージは自分でビルドできます。

docker build -t singlestore/mcp-server-singlestore .

セキュリティを強化するため、Docker Desktop を使用して SingleStore MCP サーバーを構成することをおすすめします。Docker の新しい MCP Catalog の詳細については、こちらのブログ記事をご覧ください。

コンポーネント

ツール

サーバーには次のツールが実装されています。

  • get_user_info:現在のユーザーの詳細を取得します

    • 引数は不要です
    • ユーザー情報と詳細を返します
  • organization_info:ユーザーの現在の組織の詳細を取得します

    • 引数は不要です
    • 組織の詳細を返します
  • choose_organization:利用可能な組織から選択します(API キーの環境変数が設定されていない場合のみ利用できます)

    • 引数は不要です
    • 選択可能な組織の一覧を返します
  • set_organization:アクティブな組織を設定します(API キーの環境変数が設定されていない場合のみ利用できます)

    • 引数:organization_id(文字列)
    • 指定した組織をアクティブに設定します
  • workspace_groups_info:ユーザーがアクセスできるワークスペースグループの詳細を取得します

    • 引数は不要です
    • ワークスペースグループの詳細を返します
  • workspaces_info:指定したワークスペースグループ内のワークスペースの詳細を取得します

    • 引数:workspace_group_id(文字列)
    • ワークスペースの詳細を返します
  • resume_workspace:一時停止中のワークスペースを再開します

    • 引数:workspace_id(文字列)
    • 指定したワークスペースを再開します
  • list_starter_workspaces:ユーザーがアクセスできるすべてのスターターワークスペースを一覧表示します

    • 引数は不要です
    • 利用可能なスターターワークスペースの詳細を返します
  • create_starter_workspace:新しいスターターワークスペースを作成します

    • 引数:ワークスペースの構成パラメーター
    • 作成したスターターワークスペースの詳細を返します
  • terminate_starter_workspace:既存のスターターワークスペースを終了します

    • 引数:workspace_id(文字列)
    • 指定したスターターワークスペースを終了します
  • list_regions:ワークスペースをサポートするすべてのリージョンの一覧を取得します

    • 引数は不要です
    • 利用可能なリージョンの一覧を返します
  • list_sharedtier_regions:共有ティアのリージョンの一覧を取得します

    • 引数は不要です
    • 共有ティアのリージョンの一覧を返します
  • run_sql:接続済みのワークスペースで SQL 操作を実行します

    • 引数:workspace_id、database、sql_query、および接続パラメーター
    • SQL クエリの結果を構造化形式で返します
  • create_notebook_file:SingleStore Spaces に新しいノートブックファイルを作成します

    • 引数:notebook_name、content(任意)
    • 作成したノートブックの詳細を返します
  • upload_notebook_file:ノートブックファイルを SingleStore Spaces にアップロードします

    • 引数:file_path、notebook_name
    • アップロードしたノートブックの詳細を返します
  • create_job_from_notebook:ノートブックからスケジュール済みジョブを作成します

    • 引数:notebook_path、schedule_mode などを含むジョブ構成
    • 作成したジョブの詳細を返します
  • get_job:既存のジョブの詳細を取得します

    • 引数:job_id(文字列)
    • 指定したジョブの詳細を返します
  • delete_job:既存のジョブを削除します

    • 引数:job_id(文字列)
    • 指定したジョブを削除します
  • stage_list_files:Stage デプロイメントのファイルシステム内のファイルとフォルダーを一覧表示します

    • 引数:deployment_id(文字列)、path(文字列、任意)
    • ファイルとサブフォルダーを含むフォルダーの内容を返します
  • stage_get_file:パスを指定して Stage からファイルを取得します

    • 引数:deployment_id(文字列)、path(文字列)、return_type(文字列:'metadata'、'url'、または 'content')
    • ファイルのメタデータ、ダウンロード URL、またはテキストコンテンツを返します
  • stage_create_folder:Stage にフォルダーを作成します

    • 引数:deployment_id(文字列)、path(文字列)
    • 作成ステータスを返します
  • stage_upload_file:テキストコンテンツを含むファイルを Stage にアップロードします

    • 引数:deployment_id(文字列)、path(文字列)、content(文字列)、local_path(文字列)
    • アップロードステータスを返します
  • stage_move:Stage 内のファイルまたはフォルダーを移動または名前変更します

    • 引数:deployment_id(文字列)、source_path(文字列)、destination_path(文字列)
    • 移動ステータスを返します
  • stage_delete:Stage からファイルまたはフォルダーを削除します

    • 引数:deployment_id(文字列)、path(文字列)
    • 削除ステータスを返します

注:組織管理ツール(choose_organization および set_organization)は、API キーの環境変数が設定されていない場合にのみ利用できます。これにより、OAuth 認証中に組織を対話形式で選択できます。

開発

前提条件
  • Python >= 3.11
  • 依存関係の管理用の uv
セットアップ
  1. リポジトリをクローンします:
git clone https://github.com/singlestore-labs/mcp-server-singlestore.git
cd mcp-server-singlestore
  1. 依存関係をインストールします:
uv sync --dev
  1. pre-commit フックを設定します(任意ですが、推奨):
uv run pre-commit install
開発ワークフロー
# Quick quality checks (fast feedback)
./scripts/check.sh

# Run tests independently
./scripts/test.sh

# Comprehensive validation (before PRs)
./scripts/check-all.sh

# Create and publish releases
./scripts/release.sh
テストの実行
# Run test suite with coverage
./scripts/test.sh

# Or use pytest directly
uv run pytest
uv run pytest --cov=src --cov-report=html
コード品質

リンティングとフォーマットの両方に Ruff を使用します:

# Format code
uv run ruff format src/ tests/

# Lint code
uv run ruff check src/ tests/

# Lint and fix issues automatically
uv run ruff check --fix src/ tests/
リリースプロセス

リリースは Git タグと PyPI への自動公開によって管理されます:

  1. リリースの作成:./scripts/release.sh(対話型ツール)
  2. 自動公開:バージョンタグのプッシュによって実行されます
  3. PyPI への手動アップロードは不要 — パイプラインですべて自動化されています

詳細なワークフローについては、scripts/dev-workflow.md を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。