fortfi-treasury-mcp
Subscription-gated MCP treasury for AI agents Subscribe: POST /api/mcp/onboard with x402 USDC on Base ($49 personal / $499 startup) → receive frtfiag API key…
What it can do
- Get Mcp Guide: FortFi MCP capability guide: onboarding paths, pricing, limits, workflows, and full tool catalog. Call first when unsure which tool to use (e.g. market research → discover_tokens, not t
- List Wallets: List FortFi wallets for this account: chain, address, nickname, metadata tags, and default flag. Optional metadataKey/metadataValue filter (exact match).
- List Recipients: List all allowlisted recipients. Includes cooldown status: `cooldownActive: true` means the recipient cannot yet receive funds (24-hour gate).
What data it sees
Do you need an account
An API key from the service settings is required
Subscription-gated MCP treasury for AI agents
Subscribe: POST /api/mcp/onboard with x402 USDC on Base ($49 personal / $499 startup) → receive frtfi_ag_* API key
Connect: POST /api/mcp JSON-RPC with Authorization: Bearer
50+ policy-gated tools: multi-chain balances, allowlisted transfers, cross-chain swaps & bridges, yield markets, token discovery, payment requests, co-sign governance, audit log
- Docs: https://fortfiapp.com/agents
- REST API: https://fortfiapp.com/developers/rest-api
- x402 listing: https://tryponcho.com/m/fortfiapp.com
How to connect
How to connect fortfi-treasury-mcp to Claude
The server address to paste into Claude settings:
https://fortfi-treasury-mcp--danslam711.run.tools
- Open Claude (claude.ai or the desktop app).
- Go to Settings → Connectors.
- Click Add custom connector.
- Paste the server address copied below into Remote MCP server URL and click Add.
- In a chat, click + → Connectors and switch the new connector on.
Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.
Authorization
After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.
How to connect fortfi-treasury-mcp to ChatGPT
The server address to paste into ChatGPT settings:
https://fortfi-treasury-mcp--danslam711.run.tools
- Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
- Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
- Open Settings → Connectors and click Create.
- Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
- Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
- In a new chat open + → Apps/Connectors and enable the connector.
OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.
Authorization
On first use ChatGPT opens the service's sign-in window. Sign in and approve access.
How to connect fortfi-treasury-mcp to Cursor
The server address to paste into Cursor settings:
https://fortfi-treasury-mcp--danslam711.run.tools
Fastest: click Open in Cursor below and confirm the prompt.
Manually:
- In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
- Paste the JSON copied below into
~/.cursor/mcp.json(per project:.cursor/mcp.jsonin the repo root). - Save the file. The server appears in the MCP list; authorize it there if asked.
Authorization
If the service needs sign-in, an authorize button appears next to the server in the MCP list.
Server tool list (50)
Raw names from tools/list. Only developers need these.
| get_mcp_guide | FortFi MCP capability guide: onboarding paths, pricing, limits, workflows, and full tool catalog. Call first when unsure which tool to use (e.g. market research → discover_tokens, not the Explore UI REST route). |
| list_wallets | List FortFi wallets for this account: chain, address, nickname, metadata tags, and default flag. Optional metadataKey/metadataValue filter (exact match). |
| list_recipients | List all allowlisted recipients. Includes cooldown status: `cooldownActive: true` means the recipient cannot yet receive funds (24-hour gate). |
| list_audit_log | Recent account activity: transfers, swaps, security events. |
| get_policy_limits | Current policy limits: per-tx/daily/monthly caps (USDC smallest units). Agent accounts include billingPlan (personal|startup), billingPlanName, maxWallets, tier, and subscription expiry. |
| resend_claim_link | Resend the dashboard claim email to contactEmail (MCP agent API key only; keys:manage scope). Use when the original link expired (72h) or was lost. Rate limit: 3/hour. |
| list_funding_wallet_agents | List all FortFi agent accounts funded by the same payment wallet as this agent. Use to discover agentLabel / userId when renewing or spawning siblings (treasury multi-agent setups). |
| list_cosigner_memberships | Active co-signers on this account. |
| get_cosigner_rules | Amount-banded cosigner quorum rules for sends and swaps. Below-band amounts auto-execute; matching bands require N cosigner votes. |
| update_cosigner_rules | Set cosigner quorum rules (send + swap USD bands). Tightening rules works with the agent key alone. WEAKENING them (lower required cosigners / raise the amount floor) is a GOVERN action: sign a challenge with your funding wallet (challengeId + walletSignature); applies immediately once signed (same as passkey in the UI). Amounts use USDC micro-units (1 USDC = 1000000). |
| list_pending_cosigner_approvals | Pending actions that require this account's co-signer approval. Use when this agent is a co-signer on another account. |
| add_recipient | Add a new payout address to the allowlist. GOVERN action: when called with an agent API key, you must sign a challenge with your funding wallet (call once to get the challenge, sign it, call again with challengeId + walletSignature). Once signed the recipient is approved immediately (no cooldown). |
| approve_recipient | Approve a recipient still in cooldown (early release). A distinct active cosigner may approve directly; owner self-approval via an agent key is a GOVERN action requiring a funding-wallet signature (challengeId + walletSignature). |
| propose_transfer | Transfer USDC to an allowlisted recipient. The recipient must be approved (no active cooldown). Rejected with POLICY_LIMIT_EXCEEDED if above tier limits. Rejected with RECIPIENT_NOT_APPROVED if in cooldown. |
| invite_agent_cosigner | Add another FortFi agent (by their userId) as a co-signer on your account. GOVERN action: when called with an agent API key, sign a challenge with your funding wallet (challengeId + walletSignature). Use this to create multi-agent treasury approval workflows. |
| approve_cosigner_action | Approve a pending action as co-signer. Use with list_pending_cosigner_approvals. |
| reject_cosigner_action | Reject a pending action as co-signer. |
| get_portfolio | Full portfolio summary across all wallets: token balances with USD values, 24h change, and total net worth. |
| get_account_holdings | Token holdings for a specific wallet, with USD values and 24h change. |
| discover_tokens | Market-wide token discovery on a FortFi chain (USD). Use for trending/gainers/volume/mcap — NOT the browser Explore REST route. Sorts: gainers_1d, gainers_30d, gainers_90d, market_cap, volume_1d. Returns contract addresses for propose_swap / propose_bridge. |
| get_swap_routing_guide | Returns which swap/bridge tool to use for a given from→to chain pair, with notes on protocols supported. |
| list_token_spender_grants | List active ERC-20 token approvals (spender grants) on this account. Useful before proposing a swap to confirm the CoW vault is approved. |
| list_incoming_cosigner_invites | List pending co-signer invites sent TO this account (where this account is the invitee). Use to discover accounts you can become a co-signer for. |
| accept_cosigner_invite | Accept a pending co-signer invite. After accepting, you will be able to approve/reject pending actions for that account. |
| remove_cosigner | Remove an active co-signer from this account. GOVERN action (it shrinks the approver set): via an agent key, sign a challenge with your funding wallet (challengeId + walletSignature); applies immediately once signed. |
| register_backup_governance_wallet | Register (or replace) a single backup governance wallet — the agentic equivalent of a backup passkey. Either the funding wallet or this backup can authorize future governance. GOVERN action: sign the challenge with your CURRENT funding wallet (challengeId + walletSignature); applies immediately once signed. Max one backup. |
| remove_backup_governance_wallet | Remove the registered backup governance wallet. GOVERN action: sign with your funding wallet (challengeId + walletSignature); applies immediately once signed. After removal, only the funding wallet may authorize governance. |
| list_governance_requests | List open governance requests on this account: pending (awaiting signature) and legacy scheduled rows. Use to monitor for unexpected loosening attempts. |
| cancel_governance_change | Veto/cancel a pending governance challenge before it is signed and applied. Cancelling TIGHTENS security, so it needs only the agent key (no signature). Also cancels legacy scheduled rows from before immediate-apply parity. |
| revoke_cosigner_invite | Revoke a pending outbound co-signer invite before it is accepted. |
| cancel_pending_action | Cancel a pending approval that you (the account owner) initiated. |
| propose_rename_account | Rename a wallet (account nickname). Confirm via POST /api/mcp/confirm with the returned proposalId. |
| propose_create_account | Create a new wallet on a supported chain. Optional metadata tags (e.g. customer_id). Confirm via POST /api/mcp/confirm. Agent accounts execute server-side when no cosigners are configured. |
| update_wallet_metadata | Set metadata tags on a wallet (flat string key/value pairs; replaces existing tags). Not a money-moving action. |
| preview_swap_quote | Optional advanced step: fetch a same-chain swap quote (CoW on EVM, Jupiter on Solana) and return previewQuoteId. Omit previewQuoteId on propose_* to bundle quote+proposal in one call. Does not execute or move funds. |
| preview_bridge_quote | Optional advanced step: fetch a cross-chain bridge quote (Fusion+ or deBridge) and return previewQuoteId. Omit previewQuoteId on propose_bridge to bundle quote+proposal in one call. |
| check_trade_allowance | Check ERC-20 allowance for an upcoming CoW swap (cow_swap) or Fusion bridge (fusion_bridge). Call before propose_swap / propose_bridge; if insufficient, use propose_token_approve then confirm. |
| propose_token_approve | Propose max ERC-20 approval for CoW or Fusion spenders. Returns proposalId — confirm via POST /api/mcp/confirm before swap/bridge. |
| propose_swap | Propose an EVM CoW swap. Autonomous agents: fetches and binds a quote inline (default), or pass previewQuoteId from preview_swap_quote for a two-step review. confirm always signs the bound quote — same principle as FortFi Assist. Human session MCP: confirm requires passkey in the app. |
| propose_solana_swap | Propose a Solana Jupiter swap. Autonomous agents: inline quote by default, or previewQuoteId for two-step review. confirm signs the bound quote. |
| propose_bridge | Propose a Fusion+ or deBridge transfer. Autonomous agents: inline quote by default, or previewQuoteId from preview_bridge_quote for two-step review. |
| list_yield_markets | Morpho yield vaults by chain — APY, TVL. Use before propose_yield_deposit. |
| list_yield_positions | User's Morpho yield positions from FortFi history. |
| propose_yield_deposit | Propose Morpho vault deposit (real on-chain tx after confirm + passkey). Use list_yield_markets for vaultAddress. |
| propose_yield_withdraw | Propose Morpho vault withdraw (confirm + passkey). Use list_yield_positions for vaultAddress. |
| create_payment_request | Create a shareable payment request for a vault. Returns pid, paymentUrl, and qrPayload for humans or agents. |
| get_payment_request | Get a payment request by internal id or public pid, including settlement attempts. |
| list_payment_requests | List payment requests for the authenticated account. |
| cancel_payment_request | Cancel an open payment request with no verified settlement. |
| extend_payment_request | Extend an open payment request expiry (default extension window in days). |