Kanzi API MCP サーバー¶
Kanzi API MCP サーバーは、AI アシスタントを Kanzi API リファレンスドキュメントに接続します。これにより、AI アシスタントは API シグネチャの検索、非推奨ステータスの確認、インクルードディレクティブの解決、ベースタイプから派生するタイプの列挙、および Kanzi バージョン間での API の比較を行えます。このサーバーは、C++、Java、C#、Lua、Rust にわたる Kanzi API を対象としています。
Kanzi API MCP サーバーは、AI アシスタントが API シグネチャをハルシネーションで生成するのを防ぎます。アシスタントは推測する代わりに、検証済みの API 情報をサーバーから直接取得します。
Kanzi API MCP サーバーは、以下の API セットをサポートしています。
API セット |
言語 |
ディスクリプション (Description) |
|---|---|---|
|
C++ |
Kanzi Engine コア API |
|
Java |
Kanzi Engine Java バインディング |
|
Java |
Kanzi Android フレームワーク API |
|
Java |
Kanzi Android アプリケーションフレームワーク API |
|
C# |
Kanzi Studio プラグイン API |
|
C# |
Kanzi ローカリゼーションプラグイン API |
|
Lua |
Kanzi Engine Lua API |
|
Rust |
Kanzi Engine Rust API |
Kanzi API MCP サーバーのセットアップ¶
AI コーディングエージェントに設定させることで両方の Kanzi MCP サーバーを一度にセットアップするには、クイックセットアップ を参照してください。以下の手順では、このサーバーを手動で設定します。
Claude Desktop でのセットアップ¶
Claude Desktop で Kanzi API MCP サーバーをセットアップするには、Claude Desktop の設定ファイルにサーバーを追加します。
Claude Desktop の設定ファイルに、以下を追加します。
{ "mcpServers": { "kanzi-api": { "command": "npx", "args": [ "-y", "mcp-remote", "https://api.mcp.kanzi.com" ] } } }
Claude Desktop を再起動します。
VS Code でのセットアップ¶
VS Code で Kanzi API MCP サーバーをセットアップするには、以下の手順に従います。
VS Code で Command Palette (Ctrl Shift P) を開き、MCP: Open User Configuration を選択します。
mcp.jsonファイルにサーバー設定を追加します。{ "servers": { "kanzi-api": { "type": "http", "url": "https://api.mcp.kanzi.com" } }, "inputs": [] }
Command Palette を開き、Developer: Reload Window を選択します。
Ctrl Alt I で Chat ウィンドウを開きます。
Claude Code でのセットアップ¶
Claude Code で Kanzi API MCP サーバーをセットアップするには、次のコマンドを実行します。
claude mcp add --scope user --transport http kanzi-api https://api.mcp.kanzi.com
その他のツールでのセットアップ¶
MCP をサポートするその他の AI ツールで Kanzi API MCP サーバーをセットアップするには、そのツールのドキュメントを参照してください。ツールの設定では、mcp-remote とともにサーバー URL を使用します。
{
"mcpServers": {
"kanzi-api": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.mcp.kanzi.com"
]
}
}
}
クエリの例¶
Kanzi API MCP サーバーをセットアップすると、AI アシスタントに次のような質問ができます。アシスタントはサーバーのツールを使用して、正確な API 情報を取得します。
基本的な検索¶
API メンバーの検索、シグネチャの確認、非推奨ステータスの確認、インクルードディレクティブの取得ができます。
「Java API で Node クラスを探してください。」
「
kanzi::Node::setNameのシグネチャは何ですか?」「
kanzi::Pageは非推奨ですか?代わりに何を使用すべきですか?」「C++ で
Button2Dを使用するには、どのヘッダーをインクルードする必要がありますか?」
バージョン間の移行¶
Kanzi API MCP サーバーはバージョン間で API を比較できるため、移行に必要な工数を見積もり、対処が必要な変更を特定するのに役立ちます。複数のバージョンにわたる数万件の API レコードの差分を人間がすばやく取ることは不可能なため、この点でサーバーは最も大きな価値を発揮します。
「Kanzi プロジェクトを 3.9.8 から 4.0.0 に移行しています。削除または変更された C++ API は何ですか?
NodeクラスとRenderPassクラスに絞ってください。」「Kanzi 3.9.13 から 4.0.0 までの間に非推奨になったすべての API を、その代替とともに表示してください。」
「Kanzi 3.9.9 から 3.9.12 までの間に追加された Java API はどれですか?どのような新機能が利用可能になったかを知りたいです。」
API の変遷の追跡¶
特定の API メンバーが、利用可能なすべての Kanzi バージョンにわたってどのように変化したかを追跡できます。
「
kanzi::ResourceManagerは Kanzi 3.6.21 から 4.0.0 までにどのように変化しましたか?全履歴を表示してください。」「すべてのバージョンにわたって
kanzi::Node::trySetFocusの履歴を追跡してください。シグネチャは変更されましたか?」「
Button2Dの Lua API はいつ導入されましたか?また、そのインターフェイスはバージョン間で変更されましたか?」
言語間の比較¶
同じ機能が Kanzi の異なる言語の API でどのように公開されているかを比較できます。
「C++、Java、Lua でプロパティタイプがどのように機能するかを比較してください。各言語の
PropertyTypeまたはそれに相当するものを表示してください。」「ランタイムでプレハブを読み込む必要があります。C++、Java、Lua でこれを行うための API を、正しいインクルードとインポートとともに表示してください。」
「アニメーションタイムラインの作成は C++ と Java でどのように異なりますか?
TimelinePlayerまたはAnimationPlayerのシグネチャを表示してください。」
実際のコーディングタスク¶
検証済みの API 呼び出しを使用してコードを書くのを手伝うよう、AI アシスタントに依頼できます。
「プロジェクト内のすべての
Node2Dアイテムを反復処理し、その名前を一覧表示する Kanzi Studio プラグインを C# で書いてください。検証済みの API 呼び出しのみを使用してください。」「Kanzi 3.9.15 用のカスタム
RenderPassを C++ で作成する方法を教えてください。どのクラスをサブクラス化し、どのヘッダーをインクルードし、どの仮想メソッドをオーバーライドする必要がありますか?」「Kanzi を使用して Java の Android アプリを書いています。タッチ入力はどのように処理しますか?関連するクラスとそのメソッドを表示してください。」
AI アシスタントの設定¶
最良の結果を得るには、Kanzi API MCP サーバーのツールを効果的に使用する方法を指示する命令を AI アシスタントに追加します。これらの命令は、AI アシスタントが各タスクに適したツールを選択し、正しい命名規則を使用し、コードで使用する前に API 情報を検証するのに役立ちます。
これらの指示の追加方法は、使用する AI アシスタントによって異なります。
Claude Code では、プロジェクトのルートディレクトリにある
CLAUDE.mdファイルに指示を追加します。GitHub Copilot を使用する VS Code では、プロジェクトのルートディレクトリにある
.github/copilot-instructions.mdファイルに指示を追加します。Claude Desktop では、プロジェクトのシステムプロンプトに指示を追加します。
以下の指示は推奨される出発点です。必要に応じて調整できます。
Kanzi API MCP server — tool selection guide:
- Discovery (do not know exact name): search_kanzi_api() — supports
member_type filter (class/function/variable/enum/struct/interface/typedef)
and n_results up to 20.
- Verification (know the fully-qualified name): get_method_signature() — also
finds overloads through prefix matching. For example,
"kanzi::Node::setProperty" returns all setProperty variants.
- Include and import directives: get_include() — returns #include (C++),
import (Java), using (C#), or use (Rust).
- Full class overview: get_class_reference() — shows all members at a glance,
including inherited members labeled with their origin class.
- Type enumeration: list_derived_types() — list every type that derives from a
base type, for example all node types that derive from kanzi::Node. Use
get_type_hierarchy() for one type's bases and direct subtypes, and
list_types() to list the types in an API set or namespace.
- Deprecation check: get_deprecation_warnings() — check before using any API.
- Migration: compare_versions() — scope with class_name and change_type
(added/removed/changed/deprecated) for focused diffs. Supports pagination
with limit/offset.
- API evolution: get_api_history() — shows signature changes across all
versions.
Naming conventions:
- C++ uses :: separators (kanzi::Node::setName).
- Java and C# use . separators (com.rightware.kanzi.Node).
- All tools accept optional language (cpp/java/csharp/lua/rust) and api
parameters to narrow results.
Kanzi versions:
- The server is stateless. Pass version="<version>" on every call when you
work with a specific Kanzi version. There is no current version that
persists between calls; omitting it uses the newest stable version.
Workflow:
- When writing Kanzi code, verify each API with get_method_signature()
before using it.
- When migrating between versions, start with compare_versions(), then
drill into changed APIs with get_api_history().
- After finding a class, use get_class_reference() to see available methods
rather than guessing member names.
- Do not hallucinate Kanzi API signatures. Use these tools to verify.
Kanzi API MCP ツールリファレンス¶
Kanzi API MCP サーバーを AI アシスタントに接続すると、アシスタントは以下のツールにアクセスできるようになります。
注釈
サーバーは、呼び出し間で作業中の Kanzi バージョンを記憶しません。特定のバージョンをクエリするには、各クエリツールに version パラメータを渡します。compare_versions と get_api_history は複数のバージョンにまたがるため、代わりにそれぞれ独自のバージョンパラメータを受け取ります。version を省略すると、サーバーは利用可能な最新の安定版 Kanzi バージョンを使用します。
list_apis¶
利用可能な Kanzi バージョン、API セット、およびそれぞれのレコード数を一覧表示します。サーバーがデフォルトで使用するバージョンと、その他の利用可能なバージョンを示します。
パラメーター |
|
||
例 |
# List all available Kanzi versions and API sets.
list_apis()
|
set_kanzi_version¶
Kanzi バージョンが利用可能であることを確認し、そのバージョンに含まれる API セットの数を報告します。
サーバーは呼び出し間でステートを保持しないため、このツールは以降の呼び出しで使用されるバージョンを変更しません。特定のバージョンをクエリするには、各ツール呼び出しに version パラメータを渡します。
パラメーター |
|
||
例 |
# Check that Kanzi 3.9.15 is available.
set_kanzi_version(version="3.9.15")
# Check that Kanzi 4.1.0 is available.
set_kanzi_version(version="4.1.0")
|
search_kanzi_api¶
キーワードで Kanzi API ドキュメントを検索します。このツールを使用して、Kanzi のクラス、メソッド、プロパティ、タイプを見つけます。
パラメーター |
|
||||||||||||
例 |
# Find all classes related to RenderPass.
search_kanzi_api(query="RenderPass", member_type="class")
# Search for touch handling in the Java API.
search_kanzi_api(query="touch input", language="java", n_results=10)
# Find all enums in the C++ runtime API.
search_kanzi_api(query="enum", language="cpp", member_type="enum", n_results=20)
|
get_method_signature¶
名前を指定して、Kanzi API メンバーの正確なシグネチャを返します。特定の API がわかっていて、その正確なパラメータ、戻り値の型、非推奨ステータスが必要な場合にこのツールを使用します。プレフィックスマッチングによりオーバーロードも見つけます。
パラメーター |
|
||||||||
例 |
# Get the exact signature of a fully-qualified C++ method.
get_method_signature(name="kanzi::Node::setProperty")
# Find all overloads of addChild in C++.
get_method_signature(name="kanzi::Node::addChild", language="cpp")
# Look up a Java method by short name.
get_method_signature(name="setName", language="java")
|
get_include¶
Kanzi タイプの正しいインクルードディレクティブを返します。C++ では #include、Java では import、C# では using、Rust では use です。
パラメーター |
|
||||||||
例 |
# Get the C++ include directive for Button2D.
get_include(name="Button2D", language="cpp")
# Get the Java import statement for Node.
get_include(name="Node", language="java")
|
get_class_reference¶
Kanzi クラスについて、すべてのパブリックメソッド、プロパティ、列挙型を含む完全なリファレンスを返します。親クラスとインターフェイスから継承したメンバーも含まれます。
パラメーター |
|
||||||||
例 |
# Get all members of the Node class in C++.
get_class_reference(name="kanzi::Node", language="cpp")
# Get the Java Button2D class reference.
get_class_reference(name="Button2D", language="java")
# Get the Lua API for Node.
get_class_reference(name="Node", language="lua")
|
list_derived_types¶
ベース (Base) タイプから派生するすべての Kanzi タイプを一覧表示します。このツールは、kanzi::Node から派生するすべてのノード (Node) タイプや、Node2D から派生するすべてのタイプなど、タイプのファミリーを列挙する場合に使用します。このツールは、1 つの Kanzi バージョンについて、アルファベット順に並べ替えられ、ページ分割された完全なリストを合計数とともに返します。
パラメーター |
|
||||||||||||||||
例 |
# List every node type in the C++ runtime API.
list_derived_types(base="Node", api="kanzi-runtime-api")
# List the direct subtypes of Node2D only.
list_derived_types(base="Node2D", include_indirect=false)
|
get_type_hierarchy¶
クラス階層内でのタイプの位置 (ダイレクト (Direct) ベース (Base) タイプとダイレクト (Direct) サブタイプ) を表示します。
パラメーター |
|
||||||||
例 |
# Show the base types and direct subtypes of Node2D.
get_type_hierarchy(name="Node2D")
|
list_types¶
API セットまたはネームスペース (Namespace) 内の Kanzi タイプを一覧表示します。このツールは、API セット内のすべてのクラスを一覧表示するなど、カテゴリ (Category) 単位の列挙に使用します。特定のベース (Base) タイプから派生するタイプを一覧表示するには、代わりに list_derived_types を使用します。
パラメーター |
|
||||||||||||||
例 |
# List all classes in the C++ runtime API.
list_types(api="kanzi-runtime-api", language="cpp")
|
get_deprecation_warnings¶
Kanzi API メンバーが非推奨かどうかを確認し、置き換え先を返します。古くなっている可能性がある API を使用する前に、このツールを使用します。
パラメーター |
|
||||||||
例 |
# Check whether the Page class is deprecated.
get_deprecation_warnings(name="kanzi::Page", language="cpp")
# Check deprecation status of a specific method.
get_deprecation_warnings(name="kanzi::Node::setFocusable")
|
compare_versions¶
2 つのバージョン間で Kanzi API を比較し、変更点を見つけます。このツールは移行のガイダンスに使用します。2 つのバージョン間で追加、削除、変更、または非推奨になった API を表示します。
パラメーター |
|
||||||||||||||||||
例 |
# Show all C++ API changes between two versions.
compare_versions(from_version="3.9.8", to_version="4.0.0", language="cpp")
# Show only removed APIs in the Node class between two versions.
compare_versions(from_version="3.9.13", to_version="4.0.0", class_name="Node", change_type="removed")
# Show newly deprecated Java APIs between two versions.
compare_versions(from_version="3.9.9", to_version="3.9.12", language="java", change_type="deprecated")
|
get_api_history¶
特定の Kanzi API メンバーが、利用可能なすべてのバージョンにわたってどのように変化したかを表示します。このツールは複数のバージョンにまたがるため、version アーギュメント (Argument) を取りません。API が導入された時期、シグネチャが変更された時期、または非推奨になった時期や削除された時期を追跡するために使用します。
パラメーター |
|
||||||
例 |
# Track how a C++ method evolved across all versions.
get_api_history(fqn="kanzi::Node::trySetFocus", language="cpp")
# Track the history of ResourceManager::acquireResource.
get_api_history(fqn="kanzi::ResourceManager::acquireResource")
|