An MCP server that exposes curated Interswitch API operations to AI assistants for payments, transfers, bill payments, VAS, cardless paycodes, transaction search, Card 360, lending, payouts, agency banking, and card-processing tasks. It supports both sandbox and production environments and includes read-only and confirmation safety gates for write actions.
From the registry: MCP server for Interswitch APIs: payments, transfers, Verve cards, airtime, and paycodes.
Please install the `interswitch-mcp-server` MCP server into my current AI client (that's you).
Required prerequisites (do these first if not already done):
- **Install Node.js v18+** — Node.js version 18 or later is required to run the MCP server via npm/npx.
- **Install npm or yarn** — A JavaScript package manager is required to run or install the server.
- **Obtain Interswitch API credentials** — You need Interswitch API credentials for the domains you plan to use. Core OAuth2 credentials are needed for payments, transfers, VAS, cardless, lending, transfer service, and payouts. Additional domain-specific credentials may be required depending on which tools you use. (https://docs.interswitchgroup.com/docs/home)
- **Obtain required Interswitch identifiers** — Depending on your use case, you may need merchant, payable, initiating entity, terminal, agency, or other domain-specific identifiers before the server can successfully call certain APIs. (https://docs.interswitchgroup.com/docs/home)
Canonical MCP server config (stdio transport):
- command: `npx`
- args: ["-y","interswitch-mcp-server"]
- required environment variables:
- `INTERSWITCH_CLIENT_ID`: Core OAuth2 client ID for payments, transfers, VAS, cardless, lending, transfer service, and payouts. (example: `<your-client-id>`)
- `INTERSWITCH_CLIENT_SECRET`: Core OAuth2 client secret. (example: `<your-client-secret>`)
- optional environment variables:
- `INTERSWITCH_ENV`: API environment. Use sandbox or production. Defaults to sandbox. (example: `<sandbox-or-production>`)
- `INTERSWITCH_READ_ONLY`: Set to true to block write tools before any API call. Defaults to false. Recommended for first-time setup and safer production rollout. (example: `<true-or-false>`)
- `INTERSWITCH_REQUIRE_CONFIRMATION`: Compatibility setting. Tool confirmation is enforced by tool mode and risk. (example: `<true-or-false>`)
- `INTERSWITCH_MERCHANT_CODE`: Merchant code for payment operations that require it. (example: `<your-merchant-code>`)
- `INTERSWITCH_PAYABLE_CODE`: Payable code for payment operations that require it. (example: `<your-payable-code>`)
- `INTERSWITCH_INITIATING_ENTITY_CODE`: Initiating entity code for transfer operations. (example: `<your-initiating-entity-code>`)
- `INTERSWITCH_TERMINAL_ID`: Terminal ID for operations that require terminal identification. (example: `<your-terminal-id>`)
- `CARD360_CLIENT_ID`: Separate Card 360 client ID for Card 360 tools. (example: `<your-card360-client-id>`)
- `CARD360_CLIENT_SECRET`: Separate Card 360 client secret for Card 360 tools. (example: `<your-card360-client-secret>`)
- `CARD360_RSA_PUBLIC_KEY`: RSA public key used to encrypt Card 360 PIN payloads locally. Needed for PIN-related Card 360 operations. (example: `<your-card360-rsa-public-key>`)
- `TRANSACTION_SEARCH_CLIENT_ID`: Separate Transaction Search client ID for Transaction Search APIs. (example: `<your-transaction-search-client-id>`)
- `TRANSACTION_SEARCH_CLIENT_SECRET`: Separate Transaction Search client secret for Transaction Search APIs. (example: `<your-transaction-search-client-secret>`)
- `INTERSWITCH_AGENCY_MERCHANT_ID`: Agency Banking merchant identifier. (example: `<your-agency-merchant-id>`)
- `INTERSWITCH_AGENCY_TERMINAL_ID`: Agency Banking terminal identifier. (example: `<your-agency-terminal-id>`)
- `INTERSWITCH_LEGACY_AUTH_ENABLED`: Enables legacy InterswitchAuth-backed flows where supported. (example: `<true-or-false>`)
- `DEBUG`: Enables debug logging. Avoid using this in production. (example: `<debug-setting>`)
Note: Preferred install path is via npx. The server supports many API domains, so only some environment variables are required for a given workflow. Core OAuth2 credentials are required for the default/core payment and transfer-related domains. Additional domain-specific credentials and identifiers are required only when using the corresponding tools. The README recommends starting with INTERSWITCH_READ_ONLY=true for safer initial setup.
Add this MCP server to my current client's config in the correct format for you. If you need secrets or credentials I haven't provided, ASK me — do not invent values or leave raw placeholders. After adding it, tell me how to verify the server is connected.INTERSWITCH_CLIENT_IDrequiredCore OAuth2 client ID for payments, transfers, VAS, cardless, lending, transfer service, and payoutsINTERSWITCH_CLIENT_SECRETrequiredCore OAuth2 client secretCARD360_CLIENT_IDrequiredSeparate Card 360 client IDCARD360_CLIENT_SECRETrequiredSeparate Card 360 client secretTRANSACTION_SEARCH_CLIENT_IDrequiredSeparate Transaction Search client IDTRANSACTION_SEARCH_CLIENT_SECRETrequiredSeparate Transaction Search client secretMeta Ads MCP (Facebook + Instagram) - analyze performance, manage budgets, pause campaigns.