Expense Reporting MCPサーバー
Expense Reporting MCPサーバー MCPサーバーは、自然な会話を通じて、領収書から送信までの経費精算ワークフローでLLMがCoupaと連携できるようにします。このサーバーは、経費精算申請をフルに処理する決定論的なインテイクアプリと、呼び出し元のCoupaプロファイルの解決、領収書からの構造化データの抽出、経費精算レポートの下書きの作成と確認、Coupa独自の承認ルーティングを通じた送信および解決された承認者へのSlack通知を、Coupaインターフェースを直接操作することなく行うためのツールを提供します。
用途
Expense Reporting MCPサーバー MCPサーバーを使用して、次のアクションを実行します:
- Expense Reporting MCPアプリを開いて領収書を添付し、カテゴリ対応の明細行をレビューして、承認に送信します
- スタンドアロンのルックアップとして、部門とコストセンターを含む呼び出し元のCoupaプロファイルを解決します
- Coupaで有効な経費カテゴリを確認し、出席者が必要なカテゴリにフラグを付けます
- すでに開いているレポートの特定の行を、フルのインテイクアプリを再度開くことなく修正または削除します
- 完成したドラフトをCoupa独自の承認ルーティングに送信し、解決された承認者にSlackで通知します
- 領収書のビジネス目的を、呼び出し元のカレンダーと突き合わせて確認します
- 下書きと、送信済みだが未承認のレポートを一覧表示します
プロンプト例
次のプロンプト例を使用して、Expense Reporting MCPサーバー MCPサーバーツールを呼び出します:
この領収書を経費として登録して。登録したい領収書があります。出張に使える有効な経費カテゴリは何ですか。1行目の金額を$42.50に変更して。下書きから2行目を削除して。この領収書は実際にはドルではなくユーロです。このレポートは送信前に出席者が必要ですか。カレンダーを確認して、このディナーのビジネス目的を確かめて。経費レポートを送信して。まだ承認待ちの経費レポートはどれですか。
Expense Reporting MCPサーバーツール
Expense Reporting MCPサーバー MCPサーバーは次のツールを提供します:
| ツール | 説明 |
|---|---|
| open_expense_intake | ファイル、レビュー、送信までのフルワークフローのためにExpense Reporting MCPアプリを開きます。 |
| get_employee_profile | 呼び出し元のCoupaプロファイルを解決し、部門とコストセンターを含めて取得します。 |
| get_valid_categories | 有効な経費カテゴリを返し、出席者が必要なカテゴリにフラグを付けます。 |
| extract_receipt_data | 添付された領収書から、構造化された明細データを抽出します。 |
| create_expense_report | 新しい経費レポートの下書きを作成します。 |
| add_expense_line | 抽出データまたは呼び出し元が指定したデータから経費行を準備し、カテゴリと通貨を検証して、承認用のプレビューを提示し、その後追加します。 |
| amend_expense_line | 既存の経費行の下書きを検索し、変更内容のプレビューを承認用に提示してから更新します。 |
| remove_expense_line | 既存の経費行の下書きを検索し、承認用のプレビューを提示してから削除します。 |
| check_calendar_context | ビジネス目的を裏付けるために、呼び出し元のカレンダーを確認します。 |
| submit_expense_report | 完全なドラフトを検索し、承認用のプレビューを提示してから送信し、割り当てられた承認者を解決して、解決後にSlackで通知します。 |
| list_pending_reports | 送信済みだが未承認の下書きおよびレポートを一覧表示します。 |
Expense Reporting MCPサーバーのインストール
構築済みMCPサーバーをプロジェクトにインストールするには、次の手順を完了します:
Workatoアカウントにサインインします。
AI Hub > Enterprise MCP > Custom servers に移動します。
+ Create MCP serverをクリックします。
接続済みアプリを使用して構築済みMCPサーバーを開始するセクションに移動し、使用する構築済みMCPサーバーを選択します。
Use this serverをクリックします。
サーバー名フィールドにMCPサーバーの名前を入力します。
場所ドロップダウンメニューを使用して、MCPサーバーのプロジェクトを選択します。
Connectionsセクションに移動し、アプリアカウントに接続します。
MCPサーバーテンプレートで使用するコネクションタイプを選択します。
- User's connection: MCPサーバーツールは、アプリケーションに接続するユーザーのIDと権限に基づいてアクションを実行します。ユーザーは自分の認証情報で認証し、スキルを実行します。
- Your connection: このオプションでは、レシピビルダーによって確立されたコネクションを使用し、通常のアプリコネクションと同じ原則に従います。
コネクションタイプを選択
検証済みユーザーアクセスの認証要件
OAuth 2.0認可コードグラントを使用するアプリコネクションのみが、ユーザーのコネクションで利用できます。詳細については、検証済みユーザーアクセスを参照してください。
次のセクションで、アプリ固有のコネクション設定手順を完了します。
Expense Reporting接続セットアップ
Expense Reporting接続セットアップ手順を表示
APIバージョン
CoupaコネクターはCoupa Core REST APIを使用します。
OAuth 2.0でCoupaに接続する方法
Coupaコネクターは、2022年1月以降、OAuth 2.0ベースのコネクティビティをサポートしています。 OAuthコネクションは、APIキーベースのコネクションよりも安全です。 OAuthでは、Workatoコネクション設定で使用する予定の正確なスコープを指定できます。 Coupaコネクターは、OAuth 2.0 Client CredentialsおよびOAuth 2.0 Authorization Code Grantコネクションをサポートしています。詳細については、OpenID Connect Clientsを参照してください。
OAuthコネクションのセットアップ手順を表示
Coupaインスタンスにサインインします。例:https://[your-instance-name].coupacloud.com/oauth2/clients。
作成をクリックして、新しいOAuthクライアントを作成します。
付与タイプドロップダウンメニューを使用して、認可コードまたはクライアント資格情報を選択します。 Workatoの認証タイプで同じオプションを選択する必要があります。
Nameフィールドに名前を入力します。例:Workato Coupa OAuth connection。
使用予定のリダイレクトURIをリダイレクトURIフィールドに入力します。認可コードを使用する予定の場合は、リンクhttps://www.workato.com/oauth/callbackを追加します。
Workatoに提供する予定のスコープを選択します。 Coupaコネクターで自動化する予定のすべてのオブジェクトおよび機能を含めます。選択するスコープは、Workatoで設定するスコープと一致している必要があります。コネクションを確立するには、少なくともcore.common.readおよびoffline_accessスコープを含める必要があります。
新しいクライアントを作成
保存をクリックします。
Workatoで使用するために、識別子とシークレットをコピーして保存します。
Workatoアカウントに戻り、コネクションを追加する予定のプロジェクトに移動します。
作成 > コネクションをクリックするか、Cを2回押します。
新規コネクションページで、コネクションとしてCoupaを検索して選択します。
コネクション名フィールドに、コネクションの一意の名前を入力します。
ロケーションドロップダウンメニューを使用して、コネクションを保存するプロジェクトを選択します。
認証ドロップダウンを使用して、Coupaで指定した付与タイプを選択します。
クライアントIDとクライアントシークレットを入力します。
インスタンスのCoupa URLをホストフィールドに入力します。たとえば、URLがhttp://acme.coupacloud.comの場合は、acmeと入力します。
スコープドロップダウンメニューを使用して、Coupaで設定したものと同じスコープを選択します。正常に接続するには、必須スコープcore.common.readおよびoffline_accessを含めます。
接続をクリックします。
Coupaロール要件
各ツールの利用可否は、接続済みアカウントに付与された権限によって異なります。アクションは、共有サービスアカウントではなくOAuth 2.0 Authorization Code Grantコネクションを使用し、Verified user accessを通じて認証済みの呼び出し元自身のCoupa権限で実行されます。コネクションがUser、Expense Report、Expense Report Line、Approvalオブジェクトにアクセスできることを確認します。必要な権限がない状態でリクエストを行うと、部分的な結果ではなくpermission_deniedという結果が返されます。
サーバー構成
サーバーの動作を構成するには、プロジェクトのFunctionsフォルダにあるServer Configurationレシピ関数を編集します。
| キー | 説明 |
|---|---|
server_limits.max_lines_per_report | 単一の経費レポートで許可する最大行数を指定します。デフォルトは50です。 |
サーバー構成の手順を表示
Expense Reporting MCPサーバー MCPサーバーを構成するには、次の手順を実行します。
Workatoアカウントにサインインし、プロジェクトに移動します。
MCPサーバーを含むプロジェクトに移動します。
Functionsフォルダを開き、Server Configurationレシピを開きます。
server_limits.max_lines_per_reportステップの値を編集します。たとえば、50から100に引き上げます。
新しい値を反映させるには、レシピを保存して開始します。
Expense Reporting MCPサーバーツールの使用方法
利用可能なツールの詳細については、次のセクションを参照してください:
open_expense_intakeツール
open_expense_intakeツールは、Expense Reporting MCPアプリを開きます。 LLMはこのツールを使用して、経費精算申請を完了したワークフローとして登録、レビュー、送信します。
質問例:
この領収書を経費として登録して。登録したい領収書があります。経費インテイクを開いて。経費レポートを送信して。
get_employee_profileツール
get_employee_profileツールは、部門とコストセンターを含む呼び出し元のCoupaプロファイルを解決します。このツールは、認証済みの呼び出し元自身のIDのみを受け付けます。それ以外のIDの場合は、permission_deniedという結果が返されます。 LLMはこのツールを、レポートの作成前にセッションごとに一度使用するか、または明細行のコストセンター情報が必要なときに使用します。
質問例:
自分の部門とコストセンターは何ですか。レポートを作成する前に、Coupaプロファイルを照会して。自分の部門とコストセンターは登録されていますか。
get_valid_categoriesツール
get_valid_categoriesツールは、有効な経費カテゴリを返し、出席者が必要なカテゴリにフラグを付けます。数値の日当や支出上限データは返しません。 LLMはこのツールを、カテゴリが不確かな経費行を新規作成または修正する前に使用します。
質問例:
出張に使える有効な経費カテゴリは何ですか。"Client Dinner"は有効なカテゴリですか。どのカテゴリに出席者リストが必要ですか。このホテルの請求書はどのカテゴリに当てはまりますか。
extract_receipt_dataツール
extract_receipt_dataツールは、添付された領収書画像またはPDFから、ベンダー、日付、金額、通貨を含む構造化された明細データを抽出し、各フィールドに信頼度スコアを付与します。 LLMはこのツールを、経費行を新規作成または修正する前に使用します。
質問例:
この領収書からベンダーと金額を取得して。この領収書は実際にはドルではなくユーロです。すでにレポート2367を開いています。そのレポート用にこの追加の領収書を抽出して。
create_expense_reportツール
create_expense_reportツールは、新しい経費レポートの下書きを作成します。 LLMは通常、最初の領収書を抽出した直後に、このツールを使用してレポートを開始します。
質問例:
すでに領収書を抽出しました。目的を"Client trip to Chicago."として、その領収書用の下書きレポートを開いてください。別の出張用に、別個の2つ目の下書きレポートを作成して。
add_expense_lineツール
add_expense_lineツールは、抽出データまたは呼び出し元が指定したデータから経費行を準備し、Coupaでカテゴリと通貨を検証し、その行に出席者の追加が必要かどうかを含めてプレビューを提示し、その後行を追加し、利用可能な場合は領収書を添付します。 LLMはこのツールを、Expense Reporting MCPアプリのインテイクフローの一部として、またはすでに開いているレポートに行を追加するよう依頼されたときに直接使用します。
質問例:
レポート2367にホテル料金用の行をもう一つ追加して。カテゴリはLodging。昨日分の$35の食事の行を、すでに開いている下書きに追加して。追加する前に、この行がどのようになるかを表示して。
amend_expense_lineツール
amend_expense_lineツールは、既存の経費行の下書きを検索し、変更内容のプレビューを承認用に提示してから更新します。 LLMはこのツールを、特定の行を修正するために使用します。
質問例:
1行目の金額を$42.50に変更して。2行目のカテゴリをGround Transportationに更新して。ホテルの行の日付を修正して。14日でした。
remove_expense_lineツール
remove_expense_lineツールは、既存の経費行の下書きを検索し、承認用のプレビューを提示してから、その行を完全に削除します。行は削除後に復元できません。 LLMはこのツールを、特定の行を削除するために使用します。
質問例:
下書きから2行目を削除して。このレポートからタクシー料金を削除して。重複しているホテルの行を削除して。
check_calendar_contextツール
check_calendar_contextツールは、ビジネス目的を裏付けるために、呼び出し元のカレンダーを確認します。このツールは、レポートの作成や送信の一部として自動的には呼び出されません。 LLMはこのツールを、ビジネス目的をカレンダーと突き合わせて確認するよう依頼されたときに使用します。
質問例:
カレンダーを確認して、このディナーのビジネス目的を確かめて。その日に本当に会議がありましたか。この経費に、同じ時期のカレンダーイベントを対応付けて。
submit_expense_reportツール
submit_expense_reportツールは、完全なドラフトを検索し、まだ出席者の追加が必要な行を含めて承認用のプレビューを提示してから送信し、Coupa独自のルーティングを通じて割り当てられた承認者を解決し、解決後にSlackで通知します。 LLMはこのツールを、レポートの送信を依頼されたときに使用します。
質問例:
このドラフトを送信して。このレポートは送信前に出席者が必要ですか。はい、送信してください。送信して、それが誰に承認ルーティングされたか教えて。
list_pending_reportsツール
list_pending_reportsツールは、このサーバー自身が管理する下書きと、送信済みだが未承認のレポートを一覧表示します。 Coupaを直接検索するのではなく自身の記録を参照するため、このサーバーの外部で作成されたレポートは表示されません。 LLMはこのツールを、未処理の項目を特定するために使用します。
質問例:
まだ承認待ちの経費レポートはどれですか。自分の下書きレポートを表示して。送信済みで、まだ承認待ちのものは何ですか。
Expense Reporting MCPアプリ
Expense ReportingのMCPアプリは、LLMがopen_expense_intakeを呼び出すと開きます。このアプリは、領収書を添付し、抽出された詳細とカテゴリを確認し、レポートの下書きを作成するためのフォームを提供します。アプリが開いている間、LLMはアプリ内のワークフローには介入しません。完成した下書きの送信は、下書きを確認して承認した後、submit_expense_reportを通じて別途実行されます。
はじめに
Details タブの Tools セクションで MCP サーバーのツールを表示および管理します。ツール管理では、次の機能を利用できます:
ツールを開始する必要があります
LLMは、MCP server connector内のアクティブなツールにのみアクセスできます。
最終更新日: