# アプリとコンポーネント

> 公開された Nodaro のアプリとコンポーネントを探し、入力を確認して、AI アシスタントから実行します。list_apps、run_app、list_components、run_component を使います。

Source: https://nodaro.ai/ja/docs/mcp/tools/apps-and-components

**アプリとコンポーネントのツール**を使うと、アシスタントは、ユーザーが公開したワークフローを利用できます。[アプリ](https://nodaro.ai/docs/concepts/apps)は、写真の修復やテーマに沿った編集など、シンプルなフォームを備えた公開済みのワークフローです。[コンポーネント](https://nodaro.ai/docs/concepts/components-and-sub-workflows)は、公開済みの構成要素です。アシスタントはアプリやコンポーネントを検索し、その入力を確認して、あなたのクレジットで実行します。

アプリは、斬新な変換、テーマに沿った編集、複数ステップのパイプラインなど、単一の生成ツールでは対応できない多くの依頼をカバーします。アシスタントは、何かができないと答える前に、アプリを検索するべきです。

## `list_apps`
公開済みのアプリを検索します。対象は、公開マーケットプレイスか、自分のアプリです。

**権限**：`apps:read`。**クレジット**：無料。

| パラメーター | 型 | 説明 |
| --- | --- | --- |
| `scope` | string | マーケットプレイスなら `public`（デフォルト）、自分のアプリなら `mine` です。 |
| `search` | string | 検索するトピックです。最大 100 文字です。 |
| `category` | string | カテゴリーです。最大 50 文字です。 |
| `limit` | integer | 1〜50 です。 |
| `cursor` | string | 前のページのカーソルです。 |

**戻り値**：一致するアプリと、そのスラッグです。

## `get_app_inputs`
アプリの入力を返します。アプリのページに表示されるものと同じフォームです。`run_app` の前に呼び出して、入力のキーを確認します。

**権限**：`apps:read`。**クレジット**：無料。

| パラメーター | 型 | 説明 |
| --- | --- | --- |
| `slug` | string | **必須**。アプリのスラッグです。たとえば `photo-restoration` です。 |

**戻り値**：入力ごとに 1 つのエントリーです。各エントリーには、`key`、`label`、`type`（`image`、`video`、`audio`、`text`、`select`、`number`、`boolean`、`list` のいずれか）、`required` かどうか、select の場合は `options` が含まれます。

## `run_app`
公開済みのアプリを実行します。実行のクレジットは、あなたが支払います。

**権限**：`workflows:execute`。**クレジット**：アプリの中で実行されるノードのクレジットです。

| パラメーター | 型 | 説明 |
| --- | --- | --- |
| `slug` | string | **必須**。アプリのスラッグです。 |
| `inputs` | object | `get_app_inputs` で確認した入力のキーをキーとする、フラットなオブジェクトです。省略すると、デフォルト値が使われます。 |
| `inputOverrides` | object | 上級者向けです。ノード ID とフィールドをキーとする、ノードの生のフィールドです。`inputs` の上から適用されます。たとえば `{ "n1": { "promptPrefix": "..." } }` です。 |
| `client_request_id` | string | 再試行用のトークンです。英字、数字、`_ - . :` からなる 8〜128 文字です。タイムアウトの後に再試行するときに同じ値を使うと、実行が二重に開始されたり、二重に課金されたりしません。 |

**戻り値**：実行 ID です。実行の状況は [`get_app_run`](https://nodaro.ai/docs/mcp/tools/gallery-and-assets#get_app_run) で確認します。

`inputOverrides` では、**Webhook 出力**（Webhook Output）ノードの URL、公開ノードのアカウント、スクレイパーの取得先など、出力の送り先を設定できません。設定しようとした実行は、`400 locked_field` で拒否されます。

## `delete_app_run`
アプリの実行をアーカイブに移動します。移動した実行は、[app.nodaro.ai/archived-runs](https://app.nodaro.ai/archived-runs) で復元するか、完全に削除できます。

**権限**：`workflows:execute`。**クレジット**：無料。

| パラメーター | 型 | 説明 |
| --- | --- | --- |
| `slug` | string | **必須**。アプリのスラッグです。アプリの URL の最後の部分にあたります。 |
| `runId` | string | **必須**。実行 ID です。 |

**戻り値**：処理の確認です。

## `list_components`
公開済みのコンポーネントを検索します。対象は、公開マーケットプレイスか、自分のコンポーネントです。ユーザーがコンポーネントの名前を挙げたときや、既存のコンポーネントに当てはまる複数ステップのパイプラインを求めたときに使います。

**権限**：`workflows:read`。**クレジット**：無料。

| パラメーター | 型 | 説明 |
| --- | --- | --- |
| `scope` | string | マーケットプレイスなら `public`（デフォルト）、自分のコンポーネントなら `mine` です。 |
| `search` | string | 検索するトピックです。最大 100 文字です。 |
| `limit` | integer | 1〜50 です。 |
| `cursor` | string | 前のページのカーソルです。 |

**戻り値**：一致するコンポーネントと、そのスラッグです。

## `get_component_inputs`
コンポーネントの入力を返します。`run_component` の前に呼び出して、入力のキーを確認します。

**権限**：`workflows:read`。**クレジット**：無料。

| パラメーター | 型 | 説明 |
| --- | --- | --- |
| `component_id` | string | **必須**。コンポーネントのスラッグです。 |

**戻り値**：入力ごとに 1 つのエントリーです。各エントリーには、`key`、`label`、`type`、`required` かどうかが含まれます。

## `run_component`
公開済みのコンポーネントを実行します。

**権限**：`workflows:execute`。**クレジット**：コンポーネントの中で実行されるノードのクレジットです。

| パラメーター | 型 | 説明 |
| --- | --- | --- |
| `component_id` | string | **必須**。コンポーネントのスラッグです。 |
| `inputs` | object | `get_component_inputs` で確認した入力のキーをキーとする、フラットなオブジェクトです。省略すると、デフォルト値が使われます。 |
| `client_request_id` | string | 再試行用のトークンです。英字、数字、`_ - . :` からなる 8〜128 文字です。タイムアウトの後に再試行するときに、同じ値を使います。 |

**戻り値**：ジョブ ID です。ジョブが完了すると、その `output_data` にコンポーネントの出力が入ります。MCP Apps に対応したクライアントでは、ジョブのカードに出力が縦に並んで表示されます。

## Frequently asked questions

### アプリとコンポーネントの違いは何ですか？

アプリは、シンプルなフォームから単独で実行できる、公開されたワークフローです。コンポーネントは、ほかのワークフローが再利用する、公開された構成要素です。依頼に直接対応するツールがない場合、アシスタントはまずアプリを探します。

### アシスタントが開始したアプリの実行は、誰が料金を支払いますか？

あなたです。run_app と run_component は、アプリやコンポーネントの中にあるノードの料金で、あなた自身のアカウントのクレジットを使います。

### アシスタントは、アプリの非表示の設定を変更できますか？

一部だけ変更できます。inputOverrides では、プロンプトの前に追加するテキストなど、ノードの生のフィールドを設定できます。ただし、Webhook の URL や SNS アカウントなど、出力の送り先は変更できません。そのような実行は拒否されます。

### アシスタントから、アプリの実行を削除するにはどうすればよいですか？

アプリのスラッグと実行 ID を指定して、delete_app_run を呼び出します。実行はアーカイブに移動し、そこで復元するか、完全に削除できます。
