# Finmo — MCP server on mcp.ai > Connect your Finmo account and use 19 tools for payment processing straight from your AI agent. Connect with your own API key. Finmo provides payment collection, payouts, wallets, foreign exchange, virtual accounts, and transaction management for businesses. By: mcp.ai · official Page: https://mcp.ai/finmo ## Connect (MCP protocol) Remote MCP endpoint (HTTP, streamable): https://api.mcp.ai/p_finmo?ms=1787293500000 Add it as a custom/remote MCP connector, then authenticate when prompted. ## REST API (no MCP client required) Every tool is also a REST endpoint, authed with a workspace API key. Discover: GET https://api.mcp.ai/api/finmo/_endpoints # public; lists every endpoint Call: POST https://api.mcp.ai/api/finmo/ Authorization: Bearer sk_live_… # create one at https://mcp.ai/settings/api-keys Content-Type: application/json Body: { …args } → { "ok": true, "tool": "", "result": { … } } ## Developer docs How to use (MCP or REST), markdown: https://mcp.ai/finmo/skill.md Postman collection (v2.1): https://mcp.ai/finmo/postman.json ## Tools - finmo_create_customer(type: string, company?: object, metadata?: object, individual?: object, description?: string, idempotency_key: string, account_usage_purpose: string, organization_reference_id?: string) — 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, bu - finmo_create_payin(amount: integer, currency: string, metadata?: object, expire_at?: integer, payin_type?: string, customer_id?: string, description?: string, webhook_url?: string, redirect_url?: string, receipt_email?: string, fees_wallet_id?: string, idempotency_key: string, credit_wallet_id?: string, payin_method_name: string, payin_method_param: object, advanced_redirect_url?: object, organization_reference_id?: string) — 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 - finmo_create_payout(metadata?: object, fx_rate_id?: string, description?: string, webhook_url?: string, purpose_code?: string, receipt_email?: string, sender_amount?: integer, fees_wallet_id?: string, sender_country?: string, debit_wallet_id: string, idempotency_key: string, payout_controls?: object, sender_currency?: string, payout_reference?: string, payout_sender_id?: string, beneficiary_amount?: integer, payout_method_name: string, payout_method_param?: object, payout_sender_param?: object, beneficiary_currency: string, payout_beneficiary_id?: string, payout_beneficiary_param?: object, organization_reference_id?: string) — 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, verif - finmo_create_payout_beneficiary(type: string, company?: object, metadata?: object, individual?: object, description?: string, destination: object, idempotency_key: string, beneficiary_name: string, organization_reference_id?: string, payout_beneficiary_controls?: object) — 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 - finmo_create_refund(payin_id: string, idempotency_key: string) — 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 p - finmo_get_payin_method_requirements(payin_method_name: string) — 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(payment_id: string, payment_type: string) — 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(payout_method_name: string) — 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(wallet_id: string) — Get one wallet and its currency accounts, including actual and available balances. Reading balances is sensitive but does not move funds. - finmo_list_customers(type?: string, limit?: integer, end_time?: integer, created_at?: string, start_time?: integer, next_cursor?: string, include_deleted?: boolean) — 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(limit?: integer, country: string, currency: string, next_cursor?: string, is_va_allowed?: boolean) — 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 r - finmo_list_payins(limit?: integer, status?: string, end_time?: integer, created_at?: string, start_time?: integer, customer_id?: string, next_cursor?: string, credit_wallet_id?: string, payin_method_name?: string) — List inbound payment attempts with status, method, customer, wallet, and time filters. Returns one page and a continuation cursor. - finmo_list_payout_beneficiaries(type?: string, limit?: integer, end_time?: integer, created_at?: string, start_time?: integer, next_cursor?: string) — 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(limit?: integer, next_cursor?: string, sender_country?: string, sender_currency?: string, beneficiary_country?: string, payout_method_class?: string, beneficiary_currency?: string) — 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_PAY - finmo_list_payouts(limit?: integer, status?: string, end_time?: integer, created_at?: string, start_time?: integer, next_cursor?: string, payout_method_name?: string) — 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(limit?: integer, amount?: integer, status?: string, end_time?: integer, payin_id?: string, created_at?: string, start_time?: integer, next_cursor?: string) — 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(limit?: integer, end_time?: integer, created_at?: string, event_type?: string, is_settled?: boolean, start_time?: integer, customer_id?: string, next_cursor?: string, is_reconciled?: boolean) — 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(limit?: integer, category?: string, end_time?: integer, created_at?: string, start_time?: integer, customer_id?: string, next_cursor?: string) — 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 fo - finmo_transfer_wallet_funds(amount: integer|number, currency: string, metadata?: object, description?: string, webhook_url?: string, debit_wallet_id: string, idempotency_key: string, credit_wallet_id: string, credit_wallet_alias_id?: string, organization_reference_id?: string) — 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, ## Example prompts - "What can I do in Finmo?" - "Show me a summary of my Finmo account" ## Links Docs: https://mcp.ai/docs/mcps/finmo Website: https://mcp.ai/mcps/finmo