For the complete documentation index, see llms.txt. This page is also available as Markdown.

API ツールの作成

本ガイドでは、プラットフォーム上で新しい MCP ツールを作成する手順をご案内します。

MaiAgent が提供する ツール作成 AI アシスタント を利用して、API ツールの作成をサポートしてもらうことができます。

API ツールは、外部サービスとの連携や操作フローの自動化に使用します。

API とは?

API(Application Programming Interface、アプリケーションプログラミングインターフェース) は、異なるソフトウェアシステム同士が通信するための橋渡し役です。簡単に言えば、ソフトウェアの世界における「接客係」 のような存在で、異なるプログラム同士が情報をやり取りし、機能を実行するのを助けます。

レストランで食事をする場面を想像してみてください。

  • あなた:食事を必要とするお客様(アプリケーション)

  • 厨房:料理を作る場所(サービスを提供するシステム)

  • 接客係:あなたと厨房の間でメッセージを伝える存在(API

あなたが直接厨房に入る必要はなく、接客係に欲しいものを伝えるだけで、接客係がその要望を厨房に伝え、できあがった料理をあなたのもとへ運んでくれます。

API フロー概念図

API ツールは、標準化されたフローの自動操作や特定の返却フォーマットの設定をサポートするほか、お使いのシステム内の情報を取得することもできます。例えば次のようなケースです。

EC カスタマーサポートの自動化

マーケティングキャンペーン管理

オンライン講座プラットフォーム:

API ツールを活用することで、AI アシスタントは単なる対話ロボットから、実際に業務フローを実行できるインテリジェントなアシスタントへと進化し、業務効率と自動化のレベルを大幅に向上させます。

API ツールをすばやく作成する

1. ツール管理画面に入る

まず、左側のナビゲーションバーから「AI 機能」セクションに入り、「🔧 ツール」をクリックします。ツール一覧ページに入ったら、右上の「➕ ツールを追加」ボタンをクリックします。

ツール一覧ページと追加ボタン
「➕ ツールを追加」をクリックして作成を開始

2. ツールタイプを選択する

ツールタイプで API を選択します。

3. 表示名を設定する

ツールにわかりやすい表示名を設定します。ここでは google calendar と設定します。

  • 用途:この名前はプラットフォームの画面に表示され、すべてのユーザーが確認できます。

  • おすすめ:ツールの主な機能を明確に表せる名前を選ぶと、ユーザーが理解しやすくなります。この名前に厳密なフォーマットの制限はありません。

4. ツール名を設定する

次に「ツール名」欄を設定します。

  • 用途:この名前は、AI アシスタントが内部でこのツールを呼び出し、識別する際に使用する一意の識別子です。

  • 命名規則(重要)

    • 英語を使用する必要があります。

    • 使用できる文字は次のとおりです。

      • 半角英小文字(a-z)

      • 半角英大文字(A-Z)

      • 数字(0-9)

      • アンダースコア(_

      • ハイフン(-

    • get_weather_forecastdatabase-query-tool

下図では google_calendar_retriever と設定しています。

API ツール名の定義

5. ツールの説明を記述する

ツールの説明」欄では、ツールについての明確で詳細な説明を入力できます。

  • 重要性:適切な説明は、AI アシスタントが次の点をより正確に理解するのに役立ちます。

    • ツールの機能と目的。

    • いつこのツールを使用すべきか。

    • ツールの出力結果をどう解釈するか。

  • おすすめの内容:ツールが何をするか、何を入力するか、何を出力するか、そして使用上の注意点を記述します。

ツールの説明

6. API 構成の詳細設定

a. 🔗 API URL

  • 対象となる API エンドポイントの完全な URL(http:// または https:// を含む)を入力します。

  • https://api.opencalendar.org/data/2.5

b. 📮 HTTP メソッド

  • ドロップダウンメニューから、API サービスが要求する HTTP 動詞を選択します。

    • GET:通常、リソースの取得に使用します。

    • POST:通常、新しいリソースの作成やデータの送信に使用します。

    • PUT:通常、リソースの完全な置き換えや更新に使用します。

    • DELETE:通常、リソースの削除に使用します。

c. 📰 ヘッダー(Headers)

ヘッダーは手紙の「封筒」のようなもので、実際のデータ内容を見る前に、受信側へいくつかの重要な情報を先に伝えます。正しいヘッダーがないと、API リクエストが認証を通過できなかったり、受信側がデータを正しく解析できなかったりすることがあります。

よくある用途

  • 認証(AuthorizationX-API-Key

  • コンテンツタイプの指定(Content-Type

  • 受け入れるレスポンス形式の指定(Accept

ヘッダーを追加するには、次の操作を行います。

  • ➕ ヘッダーを追加」をクリックして、リクエストとともに送信する HTTP ヘッダーを定義します。

  • フォーマット:有効な JSON オブジェクトである必要があります。キー(Key)はヘッダー名、値(Value)はヘッダーの内容(文字列)です。

API ヘッダー設定のスクリーンショット
必要な HTTP リクエストヘッダーを設定する

d. 🔎 Query パラメータ(Query Params)

Query パラメータは、URL の疑問符の後ろに付加するクエリ文字列(例:?format=json&limit=10)で、呼び出すたびにリクエストとともに送信されます。固定の検索条件や、query string 経由でのみ渡せる API キーに適しています。

  • 利用可能なコンテキスト変数」をクリックすると、現在サポートされている変数の一覧(連絡先 ID、会話 ID、受信トレイ ID など)を展開できます。

  • フォーマット:有効な JSON オブジェクトで、キー(Key)はパラメータ名、値(Value)はパラメータの内容(文字列)です。

  • 値には固定テキストを記述するほか、{{パラメータ名}} を使って、「パラメータスキーマ」で宣言し、AI アシスタントが呼び出し時に入力するパラメータを参照できます。これにより、「前半は固定、後半はユーザーが提供」という検索条件を設定だけで実現できます。詳細は下記の Query パラメータで AI アシスタントのパラメータを参照する を参照してください。

ツール設定画面の Query パラメータ欄で、値に {{product_name}} を使ってパラメータを参照している
Query パラメータ欄と「利用可能なコンテキスト変数」の一覧

e. 🧩 パラメータスキーマ(Parameters Schema)

パラメータスキーマは「注文票」のようなもの で、AI アシスタントに対して、API にどのようなデータを要求できるか、そしてどのように要求するかを伝えます。

  • コア設定:AI アシスタントがこのツールを呼び出す際に、提供できる、または提供しなければならないパラメータ(システムに渡して処理させる内容)と、それらのパラメータのフォーマットを定義します。

  • フォーマット:標準的な JSON Schema 形式を使用します。

  • 主要な要素

    • type: "object":パラメータがオブジェクトであることを示します。

    • properties:各パラメータを定義するオブジェクトです。

      • パラメータ名(例:"search"):対応するオブジェクトには、そのパラメータの詳細が含まれます。

        • type:パラメータのデータ型(stringintegernumberbooleanarrayobject)。

        • description:AI アシスタントへの説明で、このパラメータの意味を解説します。

        • default(任意):パラメータのデフォルト値。

        • enum(任意):パラメータの値が特定のいくつかの選択肢のみに限定される場合、ここに列挙します。

    • required:すべての必須パラメータ名を含む配列です。

  • (動画検索ツール):

API パラメータスキーマ設定のスクリーンショット
JSON Schema を使って API パラメータを正確に定義する

7. 💾 ツールを保存する

すべての設定に誤りがないことを確認したら、ページの一番下までスクロールし、「確認」ボタンをクリックします。これで新しいツールの作成は完了です!

Query パラメータで AI アシスタントのパラメータを参照する

多くのサードパーティ API では、OData 形式の $filter=ProductName eq 'Chai' や検索 API の q= パラメータのように、「固定構文+ユーザーが提供する値」で構成される 1 つの文字列を検索条件として使用します。このような API が必要とするのは独立したパラメータではなく、値を固定文字列に組み込んだものです。

「Query パラメータ」の値に {{パラメータ名}} と記述すると、AI アシスタントがツールを呼び出す際に、MaiAgent が「パラメータスキーマ」内の同名パラメータの値を代入してからリクエストを送信します。設定者が固定の枠組みを作成し、AI アシスタントは値の入力だけを担当するため、構文の正しさをモデルの判断に委ねずに済みます。

利用シナリオ

購買部門で、社内の AI アシスタントが「特定の製品の現在の単価と在庫はいくらですか?」という質問に直接回答できるようにしたいとします。データソースは社内の製品カタログシステムが提供する OData クエリサービスです。従来、このような検索には API ごとにプログラムを作成する必要がありました。現在は、購買担当者が API ツールを作成し、検索条件を ProductName eq '{{product_name}}' と記述して AI アシスタントに設定するだけです。同僚が会話で「Chai の単価と在庫はいくらですか?」と尋ねると、AI アシスタントは自動的に Chai を検索条件に入力し、API を呼び出して、製品名、単価、在庫を回答します。

設定手順

以下では公開されている Northwind サンプルデータサービス(OData)を使用するため、そのまま手順を実行できます。

1

ツールを作成して基本情報を入力する

上記の「API ツールをすばやく作成する」の手順に従って API ツールを追加し、表示名(例:製品価格検索)、ツール名 product_price_lookup、説明、プロンプトを入力します。また、API URL を次のように設定します。

HTTP メソッドGET のままにします。

2

AI アシスタントが入力するパラメータをパラメータスキーマで宣言する

パラメータスキーマ(JSON Schema)product_name を宣言し、description を使って AI アシスタントに入力内容を伝えます。

3

Query パラメータの値でパラメータを参照する

Query パラメータ(JSON) に固定のクエリ構造を入力し、値の中で {{product_name}} を使って先ほど宣言したパラメータを参照します。

確認」をクリックしてツールを保存します。

4

AI アシスタントに設定してテストする

AI アシスタントにツールを設定する に従い、このツールを Agent モードの AI アシスタントに追加して保存します。次に、左側のナビゲーションバーから「Agent マーケットプレイス」を開き、「組織が作成」に切り替え、該当する AI アシスタントをクリックして会話を開始します。「Chai の単価と在庫はいくらですか?」と入力すると、AI アシスタントは「ツールを使用済み」と表示し、Chai の単価と在庫を回答します。

AI アシスタントが会話中にツールを使用し、製品名、単価、在庫を回答している
AI アシスタントがユーザーの入力した製品名を検索条件に代入してから API を呼び出す

代入ルール

ルール
説明

変数名はパラメータスキーマと一致させる必要があります

{{product_name}} は、「パラメータスキーマ」内の properties にあるパラメータ名に対応し、大文字と小文字は区別されます。

値のみが代入されます

テンプレートは Query パラメータの値にのみ適用されます。キー(Key)は変更されず、代入も行われません。

値は原文のまま代入されます

パラメータの値は常にリテラルテキストとして代入され、数値変換は行われません。例えば、法人番号 04595257 の先頭の 0 は保持されます。

値がない場合は中止されます

AI アシスタントが今回の呼び出しで該当パラメータを提供していない場合(または値が空の場合)、ツールはエラーで中止し、不足しているパラメータを示します。{{product_name}} がそのまま送信されることはありません。

コンテキスト変数が優先されます

パラメータ名が contact_idconversation_id などのコンテキスト変数と同じ場合は、常にコンテキスト変数の値が代入され、AI アシスタントが提供した値で上書きすることはできません。

参照されたパラメータも同時に送信されます

テンプレートで参照したパラメータも、従来の動作どおり独立した query パラメータとして送信されます(例:product_name=Chai も同時に送信されます)。ほとんどの API では余分なパラメータは無視されます。

パラメータ名はそのまま保存されます

Query パラメータのキーにアンダースコアや大文字(例:Business_Accounting_NO)が含まれていても、そのまま保存され、システムによる書き換えは行われません。

ヘッダー(JSON)」の値でも、パラメータスキーマ内のパラメータを {{パラメータ名}} で参照できます。ルールは Query パラメータと同じです。

⚠️ 重要な注意事項

接続テスト

  • ツールを作成したら、まず API が正常に動作するかをテストすることをおすすめします。

  • 以下のようなテストツールを使って、ツールの機能を検証できます。

    • POSTMAN

    • 企業が独自に構築した API テストリクエストプラットフォーム

権限管理

  • ツールの使用状況や権限の開放状態を定期的に確認しましょう。

最終更新

役に立ちましたか?