mcpField
B
Behavior Trees

Behavior Trees

リモート
behaviortrees.comその他4今日更新
リポジトリ公式サイト

Behavior Trees について

Behavior Treesは、behavior3 JSONやBehaviorTree.CPP XMLを使う開発者向けに、ビヘイビアツリーの検証、形式変換、エディターリンク作成を行います。CLIまたはMCPクライアントから利用でき、リンク先のビジュアルエディターでは、ツリーをアップロードせずに開けます。

主な機能

  1. 01ビヘイビアツリーの構造を検証
  2. 02JSONとXMLの形式を変換
  3. 03編集可能なエディターリンクを作成
  4. 04ノード型の一覧とサンプル取得
  5. 05CLIとJavaScriptライブラリから利用

活用シーン

  1. 01CIでビヘイビアツリーを検査
  2. 02対応形式間でツリーを変換
  3. 03ビジュアルエディターでツリーを共有
  4. 04AIアシスタントでツリーを作成・検査

MCP 対応

リモートのStreamable HTTP MCPサーバーを提供し、stdioでローカル実行することもできます。ツリーの検証と変換、エディターリンクの作成、ノード型一覧、サンプルやガイドの取得に対応します。

設定

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

エンドポイントhttps://www.behaviortrees.com/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

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

パッケージ
npmbehaviortrees0.1.1

ツール

詳細

behaviortrees

コマンドラインまたは任意の MCP クライアントから、ビヘイビアツリーを検証、変換、共有できます。behaviortrees.com の無料ビジュアルエディターと同じコードを使用しているため、ここで受け付ける形式はエディターでも開けます。

  • 検証:behavior3 JSON と BehaviorTree.CPP XML を検証します。子ノードの参照切れ、複数の親を持つノード、循環、子ノードが複数あるデコレーター、子ノードを持つリーフ、未知のノード名を検出します。
  • 変換:behavior3 JSON と BehaviorTree.CPP XML の相互変換に対応します(ROS 2 Jazzy および Groot2 向けの v4、ROS 2 Humble 向けの v3)。
  • リンク:ツリーを、エディターで開いて編集できる URL に変換します。ツリーはリンク内に含まれるため、アップロードされることはありません。

CLI

npx behaviortrees validate tree.json
npx behaviortrees convert tree.json --to btcpp-v4 -o tree.xml
npx behaviortrees convert nav2_tree.xml --to behavior3
npx behaviortrees link tree.json --open
npx behaviortrees nodes            # built-in node types
npx behaviortrees examples         # example trees; add an id to print one
npx behaviortrees guides           # behaviortrees.com guides; add a slug to read one

ファイルを省略するか、- を渡すと、標準入力から読み込みます。--json を指定すると機械可読な出力が得られます。また、validate はツリーにエラーがある場合に終了ステータス 1 を返すため、CI で使用できます。

MCP サーバー

AI アシスタントがビヘイビアツリーを作成して検証し、エディターで開けるリンクを渡せるようにします。ツール:validate_tree、create_editor_link、convert_tree、list_node_types、get_example、read_guide。

リモートサーバーを使う場合、インストールは不要です(Streamable HTTP)。

https://www.behaviortrees.com/mcp

または、stdio 経由でローカルに実行します。

{
  "mcpServers": {
    "behaviortrees": { "command": "npx", "args": ["-y", "behaviortrees", "mcp"] }
  }
}

Claude Code の場合:claude mcp add --transport http behaviortrees https://www.behaviortrees.com/mcp

ツリー形式

最小限の behavior3 ツリーです。位置の指定は省略でき、エディターがツリーをレイアウトします。

{
  "title": "Guard",
  "root": "a",
  "nodes": {
    "a": { "name": "Priority", "children": ["b", "c"] },
    "b": { "name": "Sequence", "children": ["d", "e"] },
    "c": { "name": "Patrol" },
    "d": { "name": "IsEnemyVisible" },
    "e": { "name": "Attack" }
  },
  "custom_nodes": [
    { "name": "IsEnemyVisible", "category": "condition" },
    { "name": "Attack", "category": "action" },
    { "name": "Patrol", "category": "action" }
  ]
}

コンポジットは実行順に children を列挙し、デコレーターは child を 1 つ持ち、それ以外はすべてリーフです。Priority は behavior3 のセレクター(フォールバック)です。組み込みでないノードはすべて custom_nodes で宣言してください。

ライブラリ

import { validateTree, convertTree, createEditorLink } from 'behaviortrees';

const { valid, findings } = await validateTree(json);
const { output } = await convertTree(json, 'btcpp-v4');
const { url } = await createEditorLink(json);

ライセンス

AGPL-3.0-only(LICENSE を参照)。一部のコードは、Renato de Pontes Pereira による MIT ライセンスの behavior3editor を基にしています(LICENSE-MIT を参照)。ソース:github.com/behaviortrees/behaviortrees。

コメント

MCP は初めてですか?

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

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