MCP Server

The Xental MCP server lets any Model Context Protocol-capable agent (Claude Desktop, Claude Code, and others) operate a Xental account through typed tools — provision virtual accounts, watch reconciled transactions, run payouts, and drive the sandbox, all in natural language. Instead of an agent scraping the dashboard, it talks to Xental over the same public API you use.

The server is open-source: github.com/XENTAL-PayLibre/xental-mcp.

Tools

  • get_agent_guide — read the orientation doc (llms.txt): auth, core flow, differentiators.
  • list_virtual_accounts / get_virtual_account — list or fetch NUBANs with balance + reconciliation state.
  • create_virtual_account — provision a NUBAN for a customer (a sandbox account on test-mode keys).
  • delete_virtual_account — remove an account with no activity.
  • list_transactions / get_transaction / transactions_summary — reconciled inflows/outflows and totals.
  • list_banks / lookup_bank_account — payout bank list and account-name enquiry.
  • initiate_transfer / list_transfers — send a payout (idempotent) or list payouts.
  • simulate_deposit — sandbox only: drive a real reconciliation with no bank movement.

All money is integer kobo (₦1 = 100 kobo). Money-moving calls are idempotent on a caller-supplied reference.

Install

Clone the public repo and build it once:

bash
git clone https://github.com/XENTAL-PayLibre/xental-mcp.git
cd xental-mcp
npm install
npm run build

Configure

You need an API key from the dashboard (Settings → Developers) — copy the client id and client secret (the secret is shown once). Start with a test-mode key: it works immediately and moves zero real money.

Add the server to your agent. For Claude Desktop, edit claude_desktop_config.json:

json
{
  "mcpServers": {
    "xental": {
      "command": "node",
      "args": ["/absolute/path/to/xental-mcp/build/index.js"],
      "env": {
        "XENTAL_API_BASE": "https://api.xental.online",
        "XENTAL_CLIENT_ID": "your-client-id",
        "XENTAL_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}

Restart your agent, then try: "Create a test virtual account for Ada, simulate a ₦5,000 deposit, and show me the reconciliation."

Auth

The server exchanges your client credentials at POST /api/v1/auth/token for a short-lived bearer token, caches it, and refreshes automatically on expiry or a 401. Your secret never leaves the machine the server runs on.

Related