XentFi MCP Server
OfficialEnables wallet creation, balance checks, and payments on the BNB Chain network through the XentFi platform.
Allows managing wallets, checking balances, and executing payments on the Ethereum blockchain via XentFi.
Supports wallet operations and payments on the Optimism blockchain through XentFi.
Provides wallet management and payment capabilities on the Polygon network via XentFi.
Facilitates wallet creation, balance inquiries, and payments on the Solana blockchain through XentFi.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@XentFi MCP ServerCreate a new Bitcoin deposit address for my main wallet."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@xentfi/mcp-sdk
Official Model Context Protocol (MCP) server and SDK for XentFi — enterprise wallet-as-a-service, agentic payments, and treasury infrastructure powered by stablecoins.
Drop this into any MCP-compatible client — Claude Desktop, Claude Code, Cursor, VS Code, ChatGPT (custom connectors), ElizaOS, CrewAI, OpenAI Codex/Agents, or your own agent runtime — and your agent instantly gets policy-governed tools to check its wallet balance, look up token prices, and move money.
npm install @xentfi/mcp-sdk🔑 One header, fully wired — pass your XentFi agent key and every tool call is authenticated automatically.
🛡️ Server-side guardrails — every payment is evaluated against the agent's XentFi spend Policy (per‑tx / daily / weekly / monthly limits, recipient allowlists, allowed hours) before it executes.
🔌 Two transports —
xentfi-mcp(stdio, for local desktop clients) andxentfi-mcp-http(Streamable HTTP, for remote / multi‑tenant / ChatGPT deployments).🧩 Programmatic SDK — import
createXentfiMcpServer()or the rawXentfiClientto embed XentFi tools in your own MCP server or agent framework.📦 Zero-config CLI —
npx @xentfi/mcp-sdkjust works onceXENTFI_AGENT_KEYis set.
Table of contents
Related MCP server: PayPls MCP Server
Quickstart
Every MCP client ultimately just needs to run one command with one environment variable set:
XENTFI_AGENT_KEY="sk_agent_xxx" npx -y @xentfi/mcp-sdkThat's it — this starts the stdio MCP server and exposes all XentFi tools (see below) to whatever spawned it.
Most people never run this by hand; instead you point your MCP client's config at it. Jump to your client:
Client | Guide |
Claude Desktop / Claude Code | |
Cursor | |
VS Code (Copilot / MCP) | |
ChatGPT (custom connector) | |
ElizaOS | |
CrewAI | |
OpenAI Codex / Agents SDK | |
Any other MCP client | |
Remote / hosted / multi-tenant |
Getting an agent key
Sign in to the XentFi dashboard (or use the XentFi API to create an agent programmatically).
Create (or select) an Agent — this is the identity your AI agent will act as.
Generate an Agent key for it, and attach a spend Policy (limits, allowlists, allowed hours) from the Policies section — this is what keeps an autonomous agent from overspending or paying the wrong address.
Copy the key. It's shown once — store it in a secrets manager, not in source control.
Full docs: docs.xentfi.com/authentication.
Available tools
All tools are prefixed xentfi_ so they don't collide with tools from other MCP servers.
Agent & wallets
Tool | Description |
| Identity/status of the authenticated agent. Call first to sanity-check the agent key. |
| List wallets linked to this agent (paginated, filterable). |
| Generate a brand-new on-chain wallet on a given blockchain and link it. |
| Link an existing child wallet (by |
| Token balances + live USD value for one of the agent's wallets. |
Policy
Tool | Description |
| The agent's effective spend policy (limits, allowlists, hours) and current spend counters. |
Payments
Tool | Description |
| Move funds to a recipient ( |
| List past/pending payments (filterable by status/date, paginated). |
| Full detail + policy-evaluation trace for one payment. |
Market data (assets)
Tool | Description |
| Supported blockchains (Ethereum, Base, Polygon, Arbitrum, Optimism, BNB Chain, Solana, …). |
| Detail for one blockchain by ID/slug. |
| Supported tokens, filterable by chain/network/symbol. |
| Detail for one token by ID/symbol. |
| Current USD price for one symbol. |
| Current USD prices for up to 100 symbols in one call. |
xentfi_list_blockchains,xentfi_get_blockchain,xentfi_list_tokens,xentfi_get_token, and the price tools require anorgIdin addition to the agent key (per the XentFi API'sOrgIdAuthrequirement on those routes). SetXENTFI_ORG_IDif you plan to use them.
Client integration guides
Each guide below has copy-pasteable config. The short version for any stdio-based client is always the same JSON shape:
{
"mcpServers": {
"xentfi": {
"command": "npx",
"args": ["-y", "@xentfi/mcp-sdk"],
"env": {
"XENTFI_AGENT_KEY": "sk_agent_xxx",
"XENTFI_ORG_ID": "org_xxx"
}
}
}
}See the per-client docs for exact file locations and quirks:
Using the SDK programmatically
You don't have to use the CLI — the same tools can be mounted inside your own MCP server or Node process:
import { createXentfiMcpServer } from "@xentfi/mcp-sdk";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
const server = createXentfiMcpServer({
agentKey: process.env.XENTFI_AGENT_KEY,
orgId: process.env.XENTFI_ORG_ID, // optional, needed only for asset/price tools
});
await server.connect(new StdioServerTransport());Or use the raw REST client directly (e.g. inside a CrewAI tool, a LangChain tool, or your own backend) without any MCP machinery at all:
import { XentfiClient } from "@xentfi/mcp-sdk";
const xentfi = new XentfiClient({ agentKey: process.env.XENTFI_AGENT_KEY });
const { data: agent } = await xentfi.get("/agent-self");
const { data: wallets } = await xentfi.get("/agent-self/wallets");
const { data: tx } = await xentfi.post("/agent-self/payments", {
body: {
agentWalletId: wallets[0].id,
assetId: "usdc-asset-id",
recipient: "0x...",
amount: "25.00",
idempotencyKey: crypto.randomUUID(),
},
});XentfiClient also accepts per-call credential overrides — handy for a backend serving multiple agents from one process:
await xentfi.get("/agent-self", { agentKey: perTenantAgentKey });Remote / multi-tenant HTTP deployment
For ChatGPT custom connectors, shared team deployments, or any client that speaks MCP over HTTP instead of spawning a local process, run:
npx @xentfi/mcp-sdk-http # alias: node node_modules/.bin/xentfi-mcp-httpThis starts a stateless, multi-tenant Streamable HTTP server on POST /mcp. It does not read a fixed agent key from the environment by default — every HTTP request must carry its own agent credentials:
x-agent-key: sk_agent_xxx
x-xentfi-org-id: org_xxx # optionalSee docs/HTTP_TRANSPORT.md for deployment recipes (Docker, behind a reverse proxy, on Fly.io/Render/Railway) and the ChatGPT connector guide for wiring it into ChatGPT.
Configuration reference
Variable | Required | Used by | Description |
| ✅ (stdio) |
| Agent key, sent as the |
| optional |
| Organization ID, sent as the |
| optional | both | Override the API base URL. Defaults to |
| optional |
| Port for the HTTP transport. Defaults to |
| optional |
| HTTP path for the MCP endpoint. Defaults to |
XentfiClientConfig (programmatic use) additionally supports timeoutMs, defaultHeaders, and fetchImpl — see src/types.ts.
Error handling
Tool calls never throw raw exceptions back to the MCP client. Failures are returned as a structured tool result with isError: true and a JSON body like:
{
"error": true,
"status": 409,
"code": "POLICY_DENIED",
"message": "Transaction exceeds daily limit of $500.00",
"requestId": "req_123e4567",
"hint": "The agent's spend policy blocked this transaction ... Call xentfi_get_policy to inspect current limits and spend."
}This is deliberate: agents reason much better over a structured, explained failure than an opaque protocol error, and it lets the agent decide to check xentfi_get_policy and retry with different parameters instead of just failing silently.
If you use XentfiClient directly (outside of tool handlers), failures raise XentfiApiError (with .status, .code, .requestId, .isAuthError, .isPolicyDenied) or XentfiConfigError for missing credentials.
Security notes
Never hardcode
XENTFI_AGENT_KEYin source control. Use your MCP client's secret/env storage, or a secrets manager in production.xentfi_create_paymentrequires an explicitconfirm: trueargument — this gives the calling agent (and any human-in-the-loop review layer above it) a natural point to double-check the recipient and amount before funds move. XentFi additionally enforces the agent's Policy limits server-side regardless of what the client does.Prefer scoping each agent to its own narrowly-permissioned agent key and Policy rather than sharing one key across many agents.
When running the HTTP transport publicly, put it behind TLS and treat the
x-agent-keyheader exactly like any other bearer credential (don't log it, rotate it, rate-limit the endpoint).
Development
git clone https://github.com/xentfi/xentfi-mcp-sdk.git
cd xentfi-mcp-sdk
npm install
npm run build
# Run against the MCP Inspector for interactive debugging:
XENTFI_AGENT_KEY=sk_agent_xxx npm run inspectorSupport
Docs: docs.xentfi.com
Email: support@xentfi.com
Discord: discord.gg/xentfi
License
MIT © XentFi
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-quality-maintenanceEnables AI applications to interact with the Base Network blockchain and Coinbase API for onchain operations including wallet management, fund transfers, smart contract deployment, NFT handling, DeFi lending through Morpho vaults, and crypto onramping.43
- AlicenseAqualityDmaintenanceEnables AI agents to manage Bitcoin and USDC payments by checking balances, sending funds, and generating receive addresses through the PayPls platform. It facilitates secure financial automation with features like transaction tracking and configurable human approval limits.6MIT

@chainpayto/mcp-serverofficial
AlicenseAqualityDmaintenanceEnables AI agents to directly operate ChainPay cryptocurrency payment system, including order creation, balance checks, and withdrawals.610MIT- AlicenseCqualityDmaintenanceEnables AI applications to interact with the Bitcoin Network, manage wallets, check balances, convert prices, and send transactions.4396MIT
Related MCP Connectors
Let AI agents add Yolfi crypto checkout, paylinks, webhooks, and status checks.
Connect AI agents to bank accounts, transactions, balances, and investments.
KYC, KYB, AML, wallet screening, transaction monitoring, and fraud workflows for AI agents.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Xentfi/xentfi-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server