mcpField
A
Aiven

Aiven

リモート
aiven.io開発ツール281 週間前に更新

Aiven について

Aivenは、Aivenクラウドデータプラットフォームのサービスを管理するMCPサーバーで、AIアシスタントを使ってPostgreSQLやKafkaなどを扱うチーム向けです。サービス操作とデータ関連のツールを備え、読み取り専用や対象サービスの限定もできます。

主な機能

  1. 01Aivenプロジェクトとサービスの一覧・管理
  2. 02サービスのメトリクス、ログ、稼働状況の確認
  3. 03Kafkaトピックの読み書きとコネクター管理
  4. 04PostgreSQLクエリの実行と統計の確認
  5. 05サービス範囲または読み取り専用モードによる制限

活用シーン

  1. 01Aivenサービスの状態やログの確認
  2. 02Kafkaトピックやコネクターの作成・更新
  3. 03PostgreSQLデータや統計の照会
  4. 04エージェントを指定サービスまたは読み取り専用操作に限定

MCP 対応

Aivenプラットフォームの操作をMCPツールとしてAIアシスタントに公開します。クライアントはAivenのホスト型HTTPエンドポイントに接続するか、stdioでサーバーをローカル実行でき、ツールの範囲や読み取り専用設定も指定できます。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://mcp.aiven.live/mcp?read_only={read_only}&services_scope={services_scope}&allow_secrets={allow_secrets}
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

パッケージ
npmmcp-aiven1.18.0

ツール

詳細

Aiven MCP サーバー

Aiven クラウドデータプラットフォーム向けのModel Context Protocol(MCP)サーバーです。

Claude、Cursor、VS Code Copilot などの AI アシスタントから、PostgreSQL、Apache Kafka、アプリケーション、その他の Aiven サービスを直接管理できます。

警告

注意して使用してください。 この MCP サーバーは、お客様に代わって Aiven サービスやデータを作成、変更、削除できます。AI エージェントは、プロンプトの解釈に基づいて、破壊的な操作(データベースの削除、サービスの削除、メッセージの生成)を実行する場合があります。このツールを通じて行われる操作については、お客様が全責任を負います。

権限: アクセスは、認証済みアカウントに関連付けられた Aiven ユーザー権限によって管理されます。MCP サーバーが実行できるのは、Aiven ユーザーに許可された操作のみです。

AI エージェントのセキュリティ: AI エージェントがお客様に代わって操作するために、認証情報(データベース接続文字列、ストリーミングトークン)へのアクセスが必要になる場合があります。特に本番環境では、エージェントの動作を確認してください。AI エージェントに機密リソースへのアクセスを許可する前に、組織のセキュリティポリシーに従い、リスク評価を行ってください。

クイックスタート

オプション 1:リモート(Aiven がホスト)

MCP サーバーは https://mcp.aiven.live/mcp でホストされています。MCP クライアントから Aiven での認証を求められます。

Claude Code

claude mcp add --scope user --transport http aiven-mcp "https://mcp.aiven.live/mcp"

Cursor

MCP サーバーをインストール

または、Cursor の MCP 設定に手動で追加します:

{
  "mcpServers": {
    "aiven-mcp": {
      "url": "https://mcp.aiven.live/mcp"
    }
  }
}

VS Code / Copilot

ワークスペースの .vscode/mcp.json に追加します:

{
  "servers": {
    "aiven-mcp": {
      "type": "http",
      "url": "https://mcp.aiven.live/mcp"
    }
  }
}
読み取り専用モード(リモート)

URL に ?read_only=true を追加すると、読み取り専用モードが有効になります。すべての書き込み操作が MCP から除外されます:

{
  "mcpServers": {
    "aiven-mcp": {
      "url": "https://mcp.aiven.live/mcp?read_only=true"
    }
  }
}
ツールのスコープ指定(リモート)

URL に ?services_scope= を追加すると、AI エージェントに公開するツールの範囲を絞り込めます。Aiven サービスの一部のみを利用し、エージェントのコンテキストを絞り込みたい場合に便利です。値はカンマで区切って指定します。core(プロジェクト/サービスの検出)は常に暗黙的に含まれます。

有効なスコープ:all、core、pg、kafka、application、integrations、opensearch。すべてのツールを明示的に読み込むには all を使用します(パラメーターを省略した場合と同じです)。all は他のスコープと組み合わせられません。opensearch は kafka や pg と同じルール(core と OpenSearch カテゴリーのツール)に従います。OpenSearch 専用のツールはまだないため、現在は core のみが公開されます。

{
  "mcpServers": {
    "aiven-mcp": {
      "url": "https://mcp.aiven.live/mcp?services_scope=kafka"
    }
  }
}

read_only と組み合わせることもできます:

https://mcp.aiven.live/mcp?services_scope=pg&read_only=true
読み取り専用モードでの書き込み例外(リモート)

read_only=true の場合、?write_allowlist= を追加すると、それ以外を読み取り専用に保ったまま、特定の書き込みツールを再び有効にできます。ほとんどのアクセスは読み取り専用にしつつ、Kafka トピックの作成など、1 つの書き込み操作だけを許可したい場合に便利です。複数のツール名はカンマで区切って指定します。read_only が有効になっていない場合は無視されます。

https://mcp.aiven.live/mcp?read_only=true&write_allowlist=aiven_kafka_topic_create
マーケットプレイスのお客様(リモート)

クラウドマーケットプレイス経由で Aiven に登録した場合は、サインイン時に正しいコンソールが使用されるよう、マーケットプレイスをパスセグメントとして追加してください:

マーケットプレイスパスセグメント
AWS Marketplacehttps://mcp.aiven.live/mcp/aws
Azure Marketplacehttps://mcp.aiven.live/mcp/azure
Google Cloud Marketplacehttps://mcp.aiven.live/mcp/gcp
{
  "mcpServers": {
    "aiven-mcp": {
      "url": "https://mcp.aiven.live/mcp/<marketplace>"
    }
  }
}

パスセグメントは上記のクエリパラメーターと組み合わせられます。たとえば、https://mcp.aiven.live/mcp/gcp?services_scope=pg&read_only=true のように指定します。

オプション 2:stdio(ローカル)

MCP クライアントの子プロセスとしてサーバーをローカルで実行します。Node.js 18 以降が必要です。

AIVEN_TOKEN 環境変数を使って、Aiven API トークンを指定する必要があります。こちらでトークンを作成してください。

Claude Code

claude mcp add --scope user aiven-mcp -e AIVEN_TOKEN=your-token-here -- npx -y mcp-aiven

Cursor、VS Code -- MCP クライアントの設定に追加します:

{
  "mcpServers": {
    "aiven-mcp": {
      "command": "npx",
      "args": ["-y", "mcp-aiven"],
      "env": {
        "AIVEN_TOKEN": "your-token-here"
      }
    }
  }
}

設定ファイルの場所:

  • Cursor:Cursor Settings > MCP Servers
  • VS Code:ワークスペースの .vscode/mcp.json
オプション 3:ローカル開発

サーバーのローカルビルドを実行します(開発とテストに便利です)。

pnpm install && pnpm generate:api-types && pnpm generate && pnpm build && AIVEN_TOKEN="<YOUR_TOKEN>" MCP_TRANSPORT="http" PORT=3000 node dist/index.js

サーバーはデフォルトでポート 3000 をリッスンします。MCP クライアントを http://localhost:3000/mcp に接続してください。

リモートデプロイの接続先にカスタムホスト(ローカルビルドなど)を指定するには、MCP_HOST を設定します。

MCP_HOST=http://localhost:3000 node dist/index.js
環境変数
変数必須デフォルト説明
AIVEN_TOKENstdio のみ--Aiven API トークン(こちらで作成)
AIVEN_READ_ONLYいいえfalse読み取り専用ツールのみを公開するには、true に設定します
AIVEN_SERVICES_SCOPEいいえ--公開するスコープをカンマ区切りで指定します(例:kafka、pg,kafka、all)。有効な値:all、core、pg、kafka、application、integrations、opensearch。スコープ指定されたサービス種別には、core が暗黙的に含まれます。opensearch には専用ツールがまだないため、OpenSearch ツールが追加されるまでは core のみです。この変数を省略するか、all に設定すると、すべてのツールが読み込まれます。
AIVEN_ALLOW_SECRETSいいえfalseライブ認証情報(パスワード、接続 URI、証明書)を会話に返す aiven_service_connection_info ツールを公開するには、true に設定します。AIVEN_READ_ONLY=true の場合は無効です。
AIVEN_WRITE_ALLOWLISTいいえ--AIVEN_READ_ONLY=true の場合でも再び有効にするツール名をカンマ区切りで指定します(例:aiven_kafka_topic_create)。読み取り専用モードが有効でない場合は無視されます。
MCP_HOSTいいえhttps://mcp.aiven.liveOAuth 保護リソースのホストを上書きします
MCP_TRANSPORTいいえstdiostdio の代わりに HTTP サーバーを起動するには、http に設定します
MCP_HTTP_RATE_LIMIT_MAXいいえ1000POST /mcp(HTTP トランスポート)で、ベアラートークンごとにウィンドウ内で許可される最大リクエスト数です。クライアント IP のレート制限は Cloudflare で行うことを想定しています。
MCP_HTTP_RATE_LIMIT_WINDOW_MSいいえ60000MCP_HTTP_RATE_LIMIT_MAX のウィンドウ長をミリ秒で指定します。
EXTRA_PROTECTIONいいえfalseHTTP デプロイで、GET /health を除くすべてのリクエストに有効な X-Edge-Auth ヘッダーを必須にするには、true に設定します。下記のエッジ保護の導入を参照してください。
MCP_EDGE_AUTH_SECRETEXTRA_PROTECTION=true の場合--共有シークレットです。Transform Rules を介して Cloudflare が X-Edge-Auth として挿入する値と一致させる必要があります。

リモート(HTTP)モードでは、AIVEN_TOKEN は不要です。MCP クライアントは、各リクエストにベアラートークンとしてトークンを送信します。

本番環境の HTTP トラフィックは、2 層でレート制限されます。Cloudflare がクライアント IP ごとの制限(Cloudflare ダッシュボードで設定)を適用し、このサーバーが POST /mcp でベアラートークンごとに MCP_HTTP_RATE_LIMIT_* を適用します。

エッジ保護の導入

EXTRA_PROTECTION=true の場合、MCP_EDGE_AUTH_SECRET と Cloudflare が X-Edge-Auth として挿入する値が一致しないと、(GET /health を除く)すべてのリクエストが 403 を返します。両方の値は通信経路のそれぞれ反対側にある環境変数/設定のため、復旧するにはシークレットを修正して再デプロイするか、Cloudflare を更新するしかありません。

次の順序で有効にしてください。

  1. Cloudflare Transform Rule — MCP オリジン宛てのトラフィックに X-Edge-Auth(PG ツールで使用する場合は X-Client-IP も)を設定するルールを追加します。設定したシークレットの値を控えてください。
  2. MCP_EDGE_AUTH_SECRET — Transform Rule と同じシークレットをこの環境変数に設定して、サーバーをデプロイします。今は EXTRA_PROTECTION を未設定または false のままにし、オリジンが引き続きトラフィックを受け入れることを確認してください。
  3. EXTRA_PROTECTION=true — 手順 1~2 の設定が有効になり、一致していることを確認してから有効にします。通常の MCP リクエストが成功し、X-Edge-Auth を付けないオリジンへの直接アクセスが拒否されることを確認してください。
  4. シークレットのローテーション — Cloudflare と MCP_EDGE_AUTH_SECRET を同時に更新する(または一時的に EXTRA_PROTECTION=false にする)か、再デプロイしてから再度有効にします。フラグが有効な間に片方だけをローテーションしないでください。

起動時に EXTRA_PROTECTION=true で、MCP_EDGE_AUTH_SECRET が設定されていない場合、プロセスはエラーで直ちに終了します。

拒否が続いている間、サーバーは設定ミスの警告を最大 15 分に 1 回ログに記録します(有効な X-Edge-Auth を含むリクエストの後にリセットされます)。そのため、拒否されたリクエストごとにログを出すことなく、シークレットの不一致をログで確認できます。

ツール

コア
ツール説明
aiven_project_listプロジェクトの一覧を取得
aiven_project_getプロジェクトの詳細を取得
aiven_list_project_cloudsプロジェクトで利用できるクラウドプラットフォームの一覧を取得
aiven_project_vpc_listプロジェクトの VPC の一覧を取得
aiven_service_listサービスの一覧を取得
aiven_service_type_plansクラウドでの利用可否を含むプランの一覧を取得
aiven_service_type_getサービスタイプのデフォルトおよび利用可能なエンジンバージョンを取得
aiven_service_plan_pricing特定のクラウドにおけるプランの料金を取得
aiven_service_createサービスを作成
aiven_service_getサービス情報を取得
aiven_service_updateサービスを更新(プラン、設定、電源状態)
aiven_service_metrics_fetchマネージドデータサービスのメトリクスを取得
aiven_service_application_metrics_getアプリケーションサービスのメトリクスを取得
aiven_project_get_service_logsサービスのログエントリを取得
aiven_service_query_activityサービスの現在のクエリを取得
aiven_project_get_event_logsプロジェクトのイベントログエントリを取得
Kafka
ツール説明
aiven_kafka_topic_listKafka トピックの一覧を取得
aiven_kafka_topic_createKafka トピックを作成
aiven_kafka_topic_getKafka トピック情報を取得
aiven_kafka_topic_updateKafka トピックを更新
aiven_kafka_topic_deleteKafka トピックを削除
aiven_kafka_topic_message_listKafka トピックからメッセージを読み取る
aiven_kafka_topic_message_produceKafka トピックにメッセージを生成
aiven_kafka_connect_available_connectors利用可能なコネクタータイプの一覧を取得
aiven_kafka_connect_list実行中のコネクターの一覧を取得
aiven_kafka_connect_create_connectorコネクターを作成
aiven_kafka_connect_edit_connectorコネクターを編集
aiven_kafka_connect_get_connector_statusコネクターのステータスを取得
aiven_kafka_connect_pause_connectorコネクターを一時停止
aiven_kafka_connect_resume_connectorコネクターを再開
aiven_kafka_connect_restart_connectorコネクターを再起動
aiven_kafka_connect_delete_connectorコネクターを削除
aiven_kafka_schema_registry_subjectsSchema Registry のサブジェクト一覧を取得
aiven_kafka_schema_registry_subject_version_getSchema Registry のサブジェクトバージョンを取得
PostgreSQL
ツール説明
aiven_pg_service_available_extensions利用可能な拡張機能を一覧表示します
aiven_pg_service_query_statisticsクエリ統計を取得します
aiven_pg_bouncer_createPgBouncer のコネクションプールを作成します
aiven_pg_bouncer_updatePgBouncer のコネクションプールを更新します
aiven_pg_bouncer_deletePgBouncer のコネクションプールを削除します
aiven_pg_read読み取り専用の SQL クエリを実行します
aiven_pg_write書き込み用の SQL ステートメント(INSERT、UPDATE、DELETE、CREATE TABLE など)を実行します
aiven_pg_optimize_queryAI を活用したクエリ最適化(EverSQL)
アプリケーション
ツール説明
aiven_application_createContainerfile/Dockerfile アプリケーションを作成して初回デプロイします。サービスがすでに存在する場合は 409 を返します
aiven_application_redeployサービス設定を変更せず、設定済みのリポジトリから既存のアプリケーションを再ビルドします
aiven_vcs_integration_initializeGitHub アカウントを接続するためのブラウザベースのフローを開始します
aiven_vcs_integration_list接続済みの VCS(GitHub)アカウントを一覧表示します
aiven_vcs_integration_repository_listVCS インテグレーションのリポジトリを一覧表示します
aiven_vcs_integration_repository_branch_listリポジトリのブランチと現在のコミット SHA を一覧表示します
aiven_vcs_integration_repository_container_manifest_files_listContainerfile、Dockerfile、Compose マニフェストの候補を探します
aiven_vcs_integration_repository_scan_container_manifestContainerfile、Dockerfile、または Compose ファイルの対応部分から Aiven サービス設定の候補を導き出します
ドキュメント
ツール説明
aiven_docs_search自然言語で Aiven 公式ドキュメントを検索します。ホスト型サーバー(https://mcp.aiven.live/mcp)でのみ利用できます。セルフホスト型デプロイでは公開されません。

貢献

開発環境のセットアップ、ローカルでの実行、新しいツールの追加については、CONTRIBUTING.md を参照してください。

ライセンス

Apache-2.0

コメント

MCP は初めてですか?

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

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