Skip to main content

Fin Agent API: MCP Server

What the Fin Agent API MCP Server is and how to use it.

Written by Chris Dalley

The Fin Agent API exposes a remote Model Context Protocol (MCP) server that lets external AI agents call Fin as a tool. Instead of rebuilding support logic in your own agent, you can plug in Fin’s knowledge base, procedures, and multi-turn conversation capabilities directly from within any MCP-compatible client, including Claude, Claude Code, Cursor, or your own agent framework.

Looking to set up or configure your workspace from Claude Code? This MCP server lets an agent use Fin (ask questions, hold conversations and run procedures). It doesn't change your Intercom or Fin configuration. To create, configure or manage your workspace from Claude Code or another AI coding agent (for example procedures, guidance, audiences, data connectors, workflows, the Messenger or Help Center articles), use the Fin CLI instead.


Use cases

The Fin Agent API MCP server is designed for multi-agent scenarios where your own agent needs access to Fin’s capabilities:

  • Embedded support in product agents. Give your product’s AI assistant the ability to answer support questions using your configured Fin knowledge, without duplicating your knowledge base or content.

  • Procedure automation. Let an orchestrating agent trigger Fin procedures (refunds, upgrades, cancellations) on behalf of users and handle multi-turn interactions programmatically.

  • Capability-driven routing. Use list_fin_capabilities to determine what actions are available for a given user, then route to the right tool in your agent’s decision logic.

  • Developer tooling. Surface your Fin knowledge inside developer tools like Claude Code or Cursor, so internal users can query your support content from their existing workflow. To configure Fin or your workspace from these tools, use the Fin CLI.

Prerequisites

Your Fin workspace must have the Fin Agent API key generated and available.


Endpoint

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

Use this when a trusted backend service is calling Fin on behalf of a user. The caller authenticates with the Fin Agent API key for the workspace. The end-user identity is supplied in the request body by the calling service. This model is appropriate for server-to-server integrations where your backend controls who is making the request.


Authentication

Pass your Fin Agent API api key as a Bearer token in the Authorization header:

Authorization: Bearer YOUR_FIN_AGENT_API_KEY


Connecting from Claude

Claude Desktop

Add the following to your 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"


Tools

Once connected, the MCP server exposes five tools to the client.

list_fin_capabilities

Returns the Fin Agent API capabilities available for a given user: the audience-matched procedures the user can trigger, plus the static actions available to all users (ask a question, reply to a conversation).

Call this first to discover what Fin can do for a specific user before calling other tools. Procedure access is audience-matched — not every user has access to every procedure.

Input: user_id — the external ID of the user.

Returns: A JSON document listing available capabilities, each with its type, ID, and name.

ask_fin

Sends a one-shot question to Fin and returns an answer. Fin searches your configured knowledge sources and returns a direct response without starting a persistent conversation.

Use this for informational lookups where you want a direct answer and do not need multi-turn flow.

Inputs: user_id, message (the question to ask).

get_fin_response

Polls for Fin’s reply to an in-progress conversation or procedure flow. Use this after starting a conversation or procedure to retrieve Fin’s latest response.

Input: conversation_id.

reply_to_fin_conversation

Sends a follow-up message in an existing Fin conversation. Use this to continue a multi-turn interaction — for example, providing additional information that Fin requested during a procedure.

Inputs: conversation_id, message.

run_fin_procedure

Triggers a specific Fin procedure for a user. A procedure is a configured multi-step workflow — for example, processing a refund or updating a subscription. Fin will start the procedure, may ask for additional information, and will drive the interaction to completion.

Use list_fin_capabilities first to find the procedure ID for the action you want to run.

Inputs: procedure_id, user_id.


💡Tip

Need more help? Get support from our Community Forum
Find answers and get help from Intercom Support and Community Experts


Did this answer your question?