日本語対応のConoHa VPS Model Context Protocol (MCP) サーバー。ConoHa VPS OpenStack APIへのアクセスを提供し、サーバー、ボリューム、セキュリティグループ、オブジェクトストレージなどの管理をAIアシスタントから実行可能にします。
This MCP server exposes 18 tools for ConoHa VPS operations (storage, compute, networking). Tool naming is generally clear and action-oriented (list_, create_, delete_, upload_, get_). Descriptions are present for all tools and often detailed, though written in Japanese which limits LLM optimization. Input schemas are well-structured with proper types, enums, and constraints. However, there are significant gaps: (1) Tool descriptions lack explicit guidance on when to use each tool vs alternatives, (2) No output schemas are documented, critical for multi-tool chaining, (3) Error handling is minimal, tools don't guide recovery or categorize errors, (4) Some generic tools (conoha_post, conoha_post_put, conoha_get) accept overly flexible parameters that could benefit from more specific tool variants. The codebase shows good engineering (TypeScript, Zod validation, proper file organization) and includes risk annotations (READ_ONLY, WRITE, DESTRUCTIVE) but lacks documentation of those risk semantics in descriptions. Translation to English and output schema documentation would significantly improve LLM usability.
ConoHa の 公開 API を利用してリソースを削除します。サーバー、ボリューム、セキュリティグループ、オブジェクトストレージのコンテナ・オブジェクト削除に対応しています。
ConoHa の 公開 API を利用してサーバー操作を行います。引数 'path' でアクセス先リソースを指定します。利用可能パス: /servers/detail(サーバー一覧取得)、/flavors/detail(フレーバー一覧取得)、/os-keypairs(SSHキーペア一覧取得)、/types(ボリュームタイプ一覧取得)、/volumes/detail(ボリューム一覧取得)、/v2/images?limit=200(イメージ一覧取得)、/v2.0/security-groups(セキュリティグループ一覧取得)、/v2.0/security-group-rules(セキュリティグループルール一覧取得)、/v2.0/ports(ポート一覧取得)、/startup-scripts(スタートアップスクリプト一覧取得)、/v1/AUTH_{tenantId}(コンテナ一覧取得)、/v1/AUTH_{tenantId}/{container}(オブジェクト一覧取得)、/v1/AUTH_{tenantId}/{container}/{object}(オブジェクト詳細取得・ダウンロード)
ConoHa の 公開 API を利用してサーバー操作を行います。引数 'path' でアクセス先リソースを指定し、引数 'param' で必要な値(サーバーID等)を指定します。利用可能パス: /ips(サーバーに紐づくIPアドレス一覧取得)、/os-security-groups(サーバーに紐づくセキュリティグループ一覧取得)、/rrd/cpu(サーバーのCPU使用率統計取得)、/rrd/disk(サーバーのディスク使用率統計取得)、/v2.0/security-groups(セキュリティグループ詳細取得)、/v2.0/security-group-rules(セキュリティグループルール詳細取得)
ConoHa オブジェクトストレージのアカウント情報またはコンテナ詳細情報を取得します。
ConoHa の 公開 API を利用してリソースを作成します。サーバー、ボリューム、SSHキーペア、セキュリティグループの作成に対応しています。
Tool descriptions are in Japanese, limiting LLM optimization and accessibility. LLMs perform better with English descriptions and lack idiomatic Japanese understanding equivalent to English.
No output schemas documented. Tools return data but LLMs cannot infer response structure, complicating chaining and downstream tool parameter mapping. For example, list_containers returns AppContainer[] but no schema is visible to the LLM.
Generic tools (conoha_post, conoha_post_put, conoha_post_put_by_param) use overly flexible oneOf schemas with complex nested structures. These violate single-responsibility and make it hard for LLMs to select correct parameters. Should split into specific tools (create_server, create_keypair, create_volume, create_security_group, etc.).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 68 | 2025-06-18+ | v2 |
| 2026-03-09 | F | 0 | - | v1 |
ConoHa オブジェクトストレージに対してコンテナ作成またはオブジェクトアップロードを行います。
ConoHa の 公開 API を利用してサーバー操作、リソース更新、リモートコンソール取得などを行います。
オブジェクトストレージにコンテナを新規作成します。既存名への PUT は 202 で no-op です。
オブジェクトストレージのコンテナを削除します。空でないコンテナは削除できません。
指定コンテナ内のオブジェクトを削除します。
指定コンテナのWeb公開を無効化します。
指定コンテナをWeb公開します。
テキストをBase64エンコードします。スタートアップスクリプトやユーザーデータのエンコードに使用します。
URLの内容を取得します。スタートアップスクリプトやイメージファイル、その他のテキストコンテンツ取得に使用します。
指定コンテナの公開状態と公開URLを取得します。
オブジェクトストレージのコンテナ一覧(名前・オブジェクト数・サイズ)を取得します。
指定したストレージコンテナ内のオブジェクト一覧(名前・サイズ・MIMEタイプ)を取得します。
指定コンテナにオブジェクトをアップロードします。content_base64 はブラウザの File API で得たバイト列の Base64 エンコード文字列を渡してください。
No error recovery guidance. Tools declare risk levels (READ_ONLY, WRITE, DESTRUCTIVE) but descriptions don't explain what errors are possible, what causes them, or how to recover. E.g., delete_container fails on non-empty containers, but the description provides no retry strategy or alternative.
Tool descriptions lack disambiguation context. When multiple tools overlap (e.g., list_containers vs get_container_public_state, or conoha_get vs conoha_get_by_param), descriptions don't clarify when to use each. LLMs must guess based on names alone.
Parameter descriptions in conoha_post oneOf branches are minimal or missing. The 'requestBody' parameter has no guidance on which fields are required, what values they accept, or what happens if you omit optional fields.
upload_object instructs users to Base64-encode files themselves: 'content_base64 はブラウザの File API で得たバイト列の Base64 エンコード文字列を渡してください' (pass Base64-encoded bytes from File API). This places encoding burden on the LLM. Should accept raw file content and encode internally.
conoha_post_put_by_param has an opaque 'requestBody' parameter of type object with minimal schema. LLMs cannot determine what fields to pass or what structure is expected. Schema should enumerate all valid request bodies or split into specific tools.