# Finmo

```json
{
  "name": "Finmo",
  "slug": "finmo",
  "url": "https://composio.dev/toolkits/finmo",
  "markdown_url": "https://composio.dev/toolkits/finmo.md",
  "logo_url": "https://logos.composio.dev/api/finmo",
  "categories": [
    "finance & accounting"
  ],
  "is_composio_managed": false,
  "updated_at": "2026-10-05T05:46:09.498Z"
}
```

![Finmo logo](https://logos.composio.dev/api/finmo)

## Description

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Finmo MCP or direct API to review transactions, manage payouts, track wallet balances, and monitor virtual accounts through natural language.

## Summary

Finmo is a business payments platform for collections, payouts, wallets, FX, virtual accounts, and transaction management.
It helps teams move money faster while managing multi-currency operations in one place.

## Categories

- finance & accounting

## Toolkit Details

- Tools: 19

## Images

- Logo: https://logos.composio.dev/api/finmo

## Authentication

- **Api Key**
  - Type: `api_key`
  - Description: Api Key authentication for Finmo.
  - Setup:
    - Configure Api Key credentials for Finmo.
    - Use the credentials when creating an auth config in Composio.

## Suggested Prompts

- List recent Finmo payment transactions
- Create payout to approved vendor
- Check wallet balances by currency

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `FINMO_CREATE_CUSTOMER` | Create Customer | Create a real production Finmo customer profile containing personal or company identity data. This stores PII, mutates production, and may start identity-verification or other compliance workflows, but does not itself move money. Confirm that the customer has authorized this processing and supply the organization-specific documented fields. Use a unique idempotency_key and reuse it only for an identical retry. |
| `FINMO_CREATE_PAYIN` | Create Payin | Create a real production payin that can collect money from a customer and credit a customer or merchant wallet. This has real financial effects. First call FINMO_LIST_PAYIN_METHODS and FINMO_GET_PAYIN_METHOD_REQUIREMENTS, then supply exactly the selected method's required parameters. Reuse the same idempotency_key only for an identical retry within 8 days. A 499 or 504 may mean Finmo already processed the payment: do not blindly retry; check the payin or transaction state with the same merchant reference, or contact Finmo. |
| `FINMO_CREATE_PAYOUT` | Create Payout | Send real production funds from a Finmo wallet to a beneficiary. This reserves and can irreversibly transfer money. First call FINMO_LIST_PAYOUT_METHODS and FINMO_GET_PAYOUT_METHOD_REQUIREMENTS, verify the beneficiary and available wallet balance, and obtain approval for the exact destination and amount. Use a unique idempotency_key and reuse it only for an identical retry within 8 days. Supply either stored tokens or the documented inline sender and beneficiary data. Cross-currency payouts require a matching Finmo fx_rate_id. A 499 or 504 may mean Finmo already processed the payout: never retry blindly; check payout or transaction state using the merchant reference, or contact Finmo. |
| `FINMO_CREATE_PAYOUT_BENEFICIARY` | Create Payout Beneficiary | Create a real payout beneficiary in the connected Finmo production account. This does not move money, but Finmo stores the supplied sensitive bank, proxy, identity, and contact data and the record can enable later payouts. First call FINMO_LIST_PAYOUT_METHODS and FINMO_GET_PAYOUT_METHOD_REQUIREMENTS, then provide only the selected method's required destination and identity fields. A newly created beneficiary may take 24 hours to activate. Reuse idempotency_key only for an identical retry. |
| `FINMO_CREATE_REFUND` | Create Refund | Issue a real production full refund for a completed Finmo payin. This moves real money, debits or holds funds in the payin wallet, may incur fees, and may be irreversible. Before calling, verify the payin is refundable and that the full refund is intended. Use a unique idempotency_key and reuse it only for an identical retry within 8 days. |
| `FINMO_GET_PAYIN_METHOD_REQUIREMENTS` | Get Payin Method Requirements | Return the dynamic required fields, validation regexes, limits, instructions, and capabilities for one Finmo payin method. Call this immediately before constructing a payin request. |
| `FINMO_GET_PAYMENT` | Get Payment | Get one payin, payout, or refund by its Finmo reference ID. Use this after an ambiguous timeout before retrying a money-moving request with the same idempotency key. |
| `FINMO_GET_PAYOUT_METHOD_REQUIREMENTS` | Get Payout Method Requirements | Return the dynamic payout, beneficiary, and sender field requirements for one Finmo payout method. Use it before creating a beneficiary or moving money. |
| `FINMO_GET_WALLET` | Get Wallet | Get one wallet and its currency accounts, including actual and available balances. Reading balances is sensitive but does not move funds. |
| `FINMO_LIST_CUSTOMERS` | List Customers | List one page of individual or company customer profiles and wallet-readiness state. Returns a continuation cursor when more customers are available. |
| `FINMO_LIST_PAYIN_METHODS` | List Payin Methods | List one page of enabled ways to collect money for a country and currency, with a continuation cursor when more results exist. Use FINMO_GET_PAYIN_METHOD_REQUIREMENTS before creating a payin because required fields vary by method. |
| `FINMO_LIST_PAYINS` | List Payins | List inbound payment attempts with status, method, customer, wallet, and time filters. Returns one page and a continuation cursor. |
| `FINMO_LIST_PAYOUT_BENEFICIARIES` | List Payout Beneficiaries | List one page of stored payout beneficiaries and their destination details. Returns a continuation cursor when more beneficiaries are available; use payout method discovery to assess rail suitability. |
| `FINMO_LIST_PAYOUT_METHODS` | List Payout Methods | List one page of enabled payout rails for a sender and beneficiary country/currency pair. Results may use wildcard sender values. Inspect the returned beneficiary requirements, then call FINMO_GET_PAYOUT_METHOD_REQUIREMENTS for current beneficiary and sender fields before creating a payout or beneficiary. Returns a continuation cursor when more methods are available. |
| `FINMO_LIST_PAYOUTS` | List Payouts | List one page of outbound payments with status, payout method, and time filters. Returns a continuation cursor when more payouts are available. |
| `FINMO_LIST_REFUNDS` | List Refunds | List one page of refunds with status, originating payin, amount, and time filters. Returns a continuation cursor when more refunds are available. |
| `FINMO_LIST_TRANSACTIONS` | List Transactions | List organization-level financial transactions for reconciliation, filtered by customer, event type, settlement, reconciliation, or time. Returns one page and a continuation cursor. |
| `FINMO_LIST_WALLETS` | List Wallets | List one page of Finmo wallets available to the connected organization or a customer. Returns a continuation cursor when more wallets are available. Summaries exclude balances; use FINMO_GET_WALLET for wallet accounts and balances. |
| `FINMO_TRANSFER_WALLET_FUNDS` | Transfer Wallet Funds | Move real production funds immediately between two Finmo wallets. This money-moving operation may be irreversible. Before calling, use FINMO_GET_WALLET on both wallets to verify the exact destination, active currency accounts, and sufficient source available balance for the amount and currency. Use a unique idempotency_key and reuse it only for an identical retry within 8 days. After an ambiguous failure, check transfer and transaction state before retrying. |

## Supported Triggers

None listed.

## Installation and MCP Setup

### Path 1: SDK Installation

#### Path 1, Step 1: Install Composio

Install the Composio SDK, the OpenAI provider, and the OpenAI SDK
```python
pip install composio composio_openai openai
```

```typescript
npm install @composio/core @composio/openai openai
```

#### Path 1, Step 2: Create a Composio session

Initialize Composio with the OpenAI Responses provider and create a session scoped to Finmo
```python
import json
from openai import OpenAI
from composio import Composio
from composio_openai import OpenAIResponsesProvider

composio = Composio(provider=OpenAIResponsesProvider())
client = OpenAI()

session = composio.create(user_id="your-user-id", toolkits=["finmo"])
tools = session.tools()
```

```typescript
import OpenAI from "openai";
import { Composio } from "@composio/core";
import { OpenAIResponsesProvider } from "@composio/openai";

const composio = new Composio({ provider: new OpenAIResponsesProvider() });
const client = new OpenAI();

const session = await composio.create("your-user-id", { toolkits: ["finmo"] });
const tools = await session.tools();
```

#### Path 1, Step 3: Run Finmo tools with your agent

Send a request, execute the Finmo tool calls through the session, and print the final answer
```python
response = client.responses.create(
    model="gpt-5.6-sol",
    tools=tools,
    input=[{"role": "user", "content": "List recent Finmo transactions from the last 7 days and summarize totals by currency"}],
)

while True:
    tool_calls = [o for o in response.output if o.type == "function_call"]
    if not tool_calls:
        break
    results = composio.provider.handle_tool_calls(response=response, session=session)
    response = client.responses.create(
        model="gpt-5.6-sol",
        tools=tools,
        previous_response_id=response.id,
        input=[
            {"type": "function_call_output", "call_id": call.call_id, "output": json.dumps(results[i])}
            for i, call in enumerate(tool_calls)
        ],
    )

print(response.output_text)
```

```typescript
let response = await client.responses.create({
  model: "gpt-5.6-sol",
  tools,
  input: [{ role: "user", content: "List recent Finmo transactions from the last 7 days and summarize totals by currency" }],
});

while (response.output.some((o) => o.type === "function_call")) {
  const outputs = await composio.provider.handleToolCalls(session, response.output);
  response = await client.responses.create({
    model: "gpt-5.6-sol",
    tools,
    previous_response_id: response.id,
    input: outputs,
  });
}

console.log(response.output_text);
```

### Path 2: MCP Server Setup

#### Path 2, Step 1: Install Composio

Install the Composio SDK and your agent framework
```python
pip install composio claude-agent-sdk
```

```typescript
npm install @composio/core ai @ai-sdk/mcp @ai-sdk/openai
```

#### Path 2, Step 2: Create a session with MCP enabled

Create a session scoped to Finmo and read its MCP URL and headers
```python
from composio import Composio

composio = Composio()
session = composio.create(user_id="your-user-id", toolkits=["finmo"], mcp=True)
```

```typescript
import { Composio } from "@composio/core";

const composio = new Composio();
const { mcp } = await composio.create("your-user-id", {
  toolkits: ["finmo"],
  mcp: true,
});
```

#### Path 2, Step 3: Connect your agent to the MCP server

Pass the session's MCP URL and headers to your agent and run a Finmo request
```python
import asyncio
from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions, AssistantMessage, TextBlock

options = ClaudeAgentOptions(
    mcp_servers={
        "composio": {
            "type": "http",
            "url": session.mcp.url,
            "headers": session.mcp.headers,
        }
    },
    system_prompt="You are a helpful assistant with access to Finmo tools.",
    tools=[],
    allowed_tools=["mcp__composio__*"],
)

async def main():
    async with ClaudeSDKClient(options=options) as client:
        await client.query("List recent Finmo transactions from the last 7 days and summarize totals by currency")
        async for message in client.receive_response():
            if isinstance(message, AssistantMessage):
                for block in message.content:
                    if isinstance(block, TextBlock):
                        print(block.text)

asyncio.run(main())
```

```typescript
import { createMCPClient } from "@ai-sdk/mcp";
import { openai } from "@ai-sdk/openai";
import { generateText, stepCountIs } from "ai";

const client = await createMCPClient({
  transport: { type: "http", url: mcp.url, headers: mcp.headers },
});

const { text } = await generateText({
  model: openai("gpt-5.6-sol"),
  tools: await client.tools(),
  prompt: "List recent Finmo transactions from the last 7 days and summarize totals by currency",
  stopWhen: stepCountIs(10),
});

console.log(text);
await client.close();
```

## Why Use Composio?

### 1. AI Native Finmo Integration

- Supports both Finmo MCP and direct API based integrations
- Structured, LLM-friendly schemas for reliable payment and transaction workflows
- Rich coverage for querying Finmo transactions, payouts, wallets, FX, and virtual accounts

### 2. Managed Auth

- Securely store Finmo API keys outside your agent code
- Central place to manage, scope, and revoke Finmo access
- Per user and per environment credentials instead of hard-coded keys

### 3. Agent Optimized Design

- Tools are tuned using real error and success rates to improve reliability over time
- Comprehensive execution logs so you always know what ran, when, and on whose behalf
- Clear tool schemas help agents handle Finmo payment data without guesswork

### 4. Enterprise Grade Security

- Fine-grained RBAC so you control which agents and users can access Finmo
- Scoped, least privilege access to Finmo payment and account resources
- Full audit trail of agent actions to support finance reviews and compliance checks

## Use Finmo with any AI Agent Framework

Choose a framework you want to connect Finmo with:

None listed.

## Related Toolkits

- [Stripe](https://composio.dev/toolkits/stripe) - Stripe is a global online payments platform offering APIs for managing payments, customers, and subscriptions. Trusted by businesses for secure, efficient, and scalable payment processing worldwide.
- [44API](https://composio.dev/toolkits/44api) - 44API is an API service for validating VAT and tax identifiers and returning company details. Use it to verify business tax data and manage account IP whitelists quickly.
- [Airwallex](https://composio.dev/toolkits/airwallex) - Airwallex is a global financial platform providing business accounts, payments, payouts, FX, and cards. Built to simplify cross-border payments and streamline financial operations for businesses.
- [Aiwyn Tax MCP](https://composio.dev/toolkits/aiwyn_tax_mcp) - Aiwyn Tax MCP is a tax estimation service powered by Aiwyn's federal and state tax engine. It helps teams estimate tax outcomes without building tax calculation logic from scratch.
- [Alpaca](https://composio.dev/toolkits/alpaca) - Alpaca is a stock and crypto trading platform for commission-free trading, real-time market data, and algorithmic strategies. Use it to build brokerage apps, trading bots, and portfolio workflows with market connectivity.
- [Alpha vantage](https://composio.dev/toolkits/alpha_vantage) - Alpha Vantage is a financial data platform offering real-time and historical stock market APIs. Get instant, reliable access to equities, forex, and technical analysis data for smarter trading decisions.
- [Altoviz](https://composio.dev/toolkits/altoviz) - Altoviz is a cloud-based billing and invoicing platform for businesses. It streamlines online payments, expense tracking, and customizable invoice management.
- [Benzinga](https://composio.dev/toolkits/benzinga) - Benzinga provides real-time financial news and data APIs for market coverage. It helps you track breaking news and actionable market insights instantly.
- [Bigdata.com MCP](https://composio.dev/toolkits/bigdata_com_mcp) - Bigdata.com MCP provides grounded access to financial news, transcripts, filings, and entity intelligence. Ideal for building research workflows and generating timely market insights.
- [Billsby](https://composio.dev/toolkits/billsby) - Billsby is a subscription billing platform for managing customers, subscriptions, invoices, products, plans, usage counters, add-ons, and allowances. It helps SaaS and subscription teams automate billing operations without building complex billing logic from scratch.
- [Brex](https://composio.dev/toolkits/brex) - Brex provides corporate credit cards and spend management tailored for startups and tech businesses. It helps optimize company cash flow, streamline accounting, and accelerate business growth.
- [Cashfree](https://composio.dev/toolkits/cashfree_payments_mcp) - Cashfree is a merchant payments platform that handles collection, payouts, subscriptions, settlements, refunds, and identity verification. Simplifies merchant money lifecycle management with unified, API-driven workflows.
- [Chaser](https://composio.dev/toolkits/chaser) - Chaser is accounts receivable automation software that sends invoice reminders and helps businesses get paid faster. It streamlines the collections process to save time and improve cash flow.
- [Clarity AI MCP](https://composio.dev/toolkits/clarity_ai_mcp) - Clarity AI MCP is an MCP toolkit for simulating SFDR 2.0 fund classifications from a fund name, ISIN, or CUSIP. Use it to tap Clarity AI disclosure data and modeling without building custom sustainability-data workflows.
- [Clientary](https://composio.dev/toolkits/clientary) - Clientary is a platform for managing clients, invoices, projects, proposals, and more. It streamlines client work and saves you serious admin time.
- [Coinbase](https://composio.dev/toolkits/coinbase) - Coinbase is a platform for buying, selling, and storing cryptocurrency. It makes exchanging and managing crypto simple and secure for everyone.
- [Coinbase Agents MCP](https://composio.dev/toolkits/coinbase_agents_mcp) - Coinbase Agents MCP is Coinbase's managed toolkit exposing accounts, portfolios, orders, fills, and market data. Use it to let authorized agents inspect holdings, execute trades, perform transfers, and handle payments.
- [Coinbase Wallet MCP](https://composio.dev/toolkits/coinbase_wallet_mcp) - Coinbase Wallet MCP is Coinbase's wallet service for interacting with onchain accounts. Use it to give agents secure, structured access to inspect wallets and request onchain actions.
- [Coinranking](https://composio.dev/toolkits/coinranking) - Coinranking is a comprehensive cryptocurrency market data platform offering access to real-time coin prices, market caps, and historical data. Get accurate, up-to-date stats for thousands of digital assets in one place.
- [Coupa](https://composio.dev/toolkits/coupa) - Coupa is a business spend management platform for procurement, invoicing, and expenses. It helps organizations streamline purchasing, control costs, and gain complete visibility over financial operations.

## Frequently Asked Questions

### Do I need my own developer credentials to use Finmo with Composio?

Yes, Finmo requires you to configure your own API key. Once set up, Composio handles secure credential storage and API request handling for you.

### Can I use multiple toolkits together?

Yes! Composio's Tool Router enables agents to use multiple toolkits. [Learn more](https://docs.composio.dev/tool-router/overview).

### Is Composio secure?

Composio is SOC 2 and ISO 27001 compliant with all data encrypted in transit and at rest. [Learn more](https://trust.composio.dev).

### What if the API changes?

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
