fortfi-treasury-mcp
FortFi: казначейство для AI-агентов — балансы, переводы и своп-маршруты по подписке
Что умеет
- Смотреть балансы и портфель по кошелькам и сетям
- Добавлять и подтверждать получателей с задержкой перед первым переводом
- Предлагать и совместно подписывать переводы через ко-подписантов
- Искать токены и маршруты для кросс-чейн свопов
- Вести журнал аудита операций аккаунта
Какие данные видит
Доступ по API-ключу к казначейству конкретного аккаунта; переводы ограничены политиками лимитов и белым списком получателей.
Нужен ли аккаунт
Нужен API-ключ из настроек сервиса
MCP-сервер даёт агенту доступ к мультичейн-казначейству FortFi с более чем 50 инструментами, ограниченными политиками — балансы, переводы по белому списку получателей, кросс-чейн своп и мосты, доходные рынки, платёжные запросы и совместное подписание операций. Подключение платное через x402 в USDC на Base ($49 личный тариф, $499 стартап-тариф), после оплаты выдаётся API-ключ.
Как подключить
Как подключить fortfi-treasury-mcp к Claude
Адрес сервера, который нужно вставить в настройках Claude:
https://fortfi-treasury-mcp--danslam711.run.tools
- Откройте Claude (сайт claude.ai или приложение для компьютера).
- Перейдите в Настройки → Коннекторы (в английском интерфейсе: Settings → Connectors).
- Нажмите Добавить пользовательский коннектор (Add custom connector).
- Вставьте адрес сервера, скопированный ниже, в поле URL удалённого MCP-сервера и нажмите Добавить.
- В чате нажмите + → Коннекторы и включите новый коннектор.
Пользовательские коннекторы доступны на тарифах Free, Pro, Max, Team и Enterprise. На Free можно добавить только один. В Team и Enterprise коннектор сначала добавляет владелец организации в Настройки организации → Коннекторы.
Авторизация
После нажатия Добавить откроется окно входа в сервис. Войдите под своим аккаунтом и подтвердите доступ. Пароль Claude не видит.
Как подключить fortfi-treasury-mcp к ChatGPT
Адрес сервера, который нужно вставить в настройках ChatGPT:
https://fortfi-treasury-mcp--danslam711.run.tools
- Откройте ChatGPT в браузере (chatgpt.com). Нужен тариф Plus, Pro, Business, Enterprise или Edu.
- Один раз включите режим разработчика: Настройки → Приложения → Дополнительные настройки → Режим разработчика (Settings → Apps → Advanced settings → Developer mode).
- Откройте Настройки → Коннекторы и нажмите Создать (Create).
- Заполните форму: Название (любое), Описание (одна фраза, что делает сервис), URL MCP-сервера (скопируйте ниже).
- В поле Аутентификация выберите OAuth, если сервис требует вход, иначе Нет. Нажмите Создать.
- В новом чате откройте + → Приложения/Коннекторы и включите коннектор.
Название раздела у OpenAI менялось (Connectors → Apps/Plugins). Если пункт называется иначе, ищите «режим разработчика» в настройках. В рабочих пространствах Business/Enterprise администратор должен разрешить пользовательские коннекторы.
Авторизация
При первом использовании ChatGPT откроет окно входа в сервис. Войдите и подтвердите доступ.
Как подключить fortfi-treasury-mcp к Cursor
Адрес сервера, который нужно вставить в настройках Cursor:
https://fortfi-treasury-mcp--danslam711.run.tools
Быстрый способ: нажмите кнопку Открыть в Cursor ниже, Cursor сам предложит добавить сервер.
Вручную:
- В Cursor откройте Settings → Cursor Settings → MCP и нажмите Add new global MCP server.
- Вставьте JSON, скопированный ниже, в открывшийся файл
~/.cursor/mcp.json(для одного проекта:.cursor/mcp.jsonв корне проекта). - Сохраните файл. Сервер появится в списке MCP; при необходимости пройдите авторизацию по кнопке рядом с ним.
Авторизация
Если сервис требует вход, рядом с сервером в списке MCP появится кнопка авторизации.
Список инструментов сервера (50)
Технические названия из tools/list. Нужны только разработчикам.
| 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). |