メインコンテンツにスキップ

Fin Agent API: MCPサーバー

Fin Agent API MCPサーバーとは何か、その使い方。

対応者:Chris Dalley

Fin Agent APIはリモートのModel Context Protocol (MCP)サーバーを公開し、外部のAIエージェントがツールとしてFinを呼び出せるようにします。独自のエージェントでサポートロジックを再構築する代わりに、Claude、Claude Code、Cursor、または独自のエージェントフレームワークなど、MCP対応クライアントから直接Finのknowledge base、手順、マルチターン会話機能を利用できます。

Claude Codeからワークスペースを設定または構成したいですか? このMCPサーバーはエージェントがFinを使用(質問、会話、手順の実行)できるようにします。IntercomやFinの設定は変更しません。Claude Codeや他のAIコーディングエージェントからワークスペースを作成、構成、管理するには(手順、ガイダンス、audiences、データコネクター、workflows、MessengerやHelp Centerの記事など)、代わりにFin CLIを使用してください。


ユースケース

Fin Agent API MCPサーバーは、独自のエージェントがFinの機能にアクセスする必要があるマルチエージェントシナリオ向けに設計されています。

  • 製品エージェントへの組み込みサポート。 知識ベースやコンテンツを重複させることなく、設定済みのFin knowledgeを使って製品のAIアシスタントにサポート質問に答える能力を持たせます。

  • 手順の自動化。 オーケストレーションエージェントがユーザーに代わってFinの手順(返金、アップグレード、キャンセル)をトリガーし、マルチターンのやり取りをプログラム的に処理できるようにします。

  • 機能駆動のルーティング。 list_fin_capabilitiesを使って特定のユーザーに利用可能なアクションを判別し、エージェントの意思決定ロジックで適切なツールにルーティングします。

  • 開発者向けツール。 Claude CodeやCursorなどの開発者ツール内にFin knowledgeを表示し、内部のusersが既存のworkflowからサポートコンテンツを問い合わせられるようにします。これらのツールからFinやワークスペースを構成するにはFin CLIを使用してください。

前提条件

Fin workspaceにはFin Agent APIキーが生成されて利用可能である必要があります。


エンドポイント

https://api.intercom.io/fin/mcp

信頼できるバックエンドサービスがユーザーに代わってFinを呼び出す場合に使用します。呼び出し元はworkspaceのFin Agent APIキーで認証します。エンドユーザーのIDは呼び出しサービスがリクエストボディで提供します。このモデルはバックエンドがリクエストの発信者を制御するサーバー間統合に適しています。


認証

Fin Agent API apiキーをAuthorizationヘッダーのBearerトークンとして渡します:

Authorization: Bearer YOUR_FIN_AGENT_API_KEY


Claudeからの接続

Claude Desktop

claude_desktop_config.jsonに以下を追加してください:

{
"mcpServers": {
"fin": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.intercom.io/fin/mcp",
"--header",
"Authorization: Bearer {YOUR_FIN_AGENT_API_KEY}"
}
}
}
}

Claude Code (CLI)

claude mcp add intercom-fin \
--transport http \
https://api.intercom.io/fin/mcp \
--header "Authorization: Bearer YOUR_FIN_AGENT_API_KEY"


ツール

接続後、MCPサーバーはクライアントに5つのツールを公開します。

list_fin_capabilities

特定のユーザーに利用可能なFin Agent APIの機能を返します:ユーザーがトリガーできるaudience-matched手順と、すべてのusersが利用可能な静的アクション(質問する、会話に返信する)。

他のツールを呼び出す前に、特定のユーザーに対してFinが何をできるかを発見するために最初に呼び出してください。手順へのアクセスはaudience-matchedで、すべてのユーザーがすべての手順にアクセスできるわけではありません。

入力: user_id — ユーザーの外部ID。

返却: 利用可能な機能をタイプ、ID、名前付きで一覧にしたJSONドキュメント。

ask_fin

Finに一度きりの質問を送り、回答を返します。Finは設定済みのknowledge sourceを検索し、持続的な会話を開始せずに直接回答を返します。

直接的な回答が欲しい情報検索に使用し、マルチターンのフローは不要な場合に適しています。

入力: user_id、message(質問内容)。

get_fin_response

進行中の会話や手順フローに対するFinの返信をポーリングします。会話や手順を開始した後にFinの最新の回答を取得するために使用します。

入力: conversation_id。

reply_to_fin_conversation

既存のFin会話にフォローアップメッセージを送信します。マルチターンのやり取りを続けるために使用します。例えば、手順中にFinが要求した追加情報を提供する場合など。

入力: conversation_id、message。

run_fin_procedure

特定のユーザーに対してFinの特定の手順をトリガーします。手順とは、返金処理やサブスクリプション更新などの設定された複数ステップのworkflowです。Finは手順を開始し、追加情報を求めることがあり、やり取りを完了まで進めます。

実行したいアクションの手順IDを見つけるために、まずlist_fin_capabilitiesを使用してください。

入力: procedure_id、user_id。

こちらの回答で解決しましたか?