Bridge MCP Server
# Bridge MCP Server
An MCP (Model Context Protocol) server that wraps the [Bridge.xyz](https://bridge.xyz) stablecoin infrastructure API, enabling AI assistants to interact with Bridge's payment and stablecoin services.
## Features
- **Customer Management**: Create and manage individual/business customers with KYC/KYB
- **Wallet Operations**: Create custodial wallets on Solana, Ethereum, Polygon, and Base
- **Virtual Accounts**: Set up fiat deposit addresses that auto-convert to stablecoins
- **Transfers**: Move money between fiat and crypto (on-ramp, off-ramp, crypto-to-crypto)
- **External Accounts**: Link bank accounts for payouts
- **Webhooks**: Subscribe to Bridge events
- **Exchange Rates**: Get current conversion rates
## Installation
```bash
npm install @lnflash/bridge-mcp
```
Or clone and build from source:
```bash
git clone https://github.com/lnflash/bridge-mcp.git
cd bridge-mcp
npm install
npm run build
```
## Configuration
Set your Bridge API key as an environment variable:
```bash
export BRIDGE_API_KEY="your-api-key-here"
# Optional: Use sandbox environment
export BRIDGE_BASE_URL="https://api.sandbox.bridge.xyz/v0"
```
## Usage with Claude Desktop
Add to your Claude Desktop configuration (`~/Library/Application Support/Claude/claude_desktop_config.json`):
```json
{
"mcpServers": {
"bridge": {
"command": "npx",
"args": ["@lnflash/bridge-mcp"],
"env": {
"BRIDGE_API_KEY": "your-api-key-here"
}
}
}
}
```
Or if installed locally:
```json
{
"mcpServers": {
"bridge": {
"command": "node",
"args": ["/path/to/bridge-mcp/dist/index.js"],
"env": {
"BRIDGE_API_KEY": "your-api-key-here"
}
}
}
}
```
## Available Tools
### Customer Operations
| Tool | Description |
|------|-------------|
| `bridge_create_customer` | Create a new individual or business customer |
| `bridge_get_customer` | Get customer details by ID |
| `bridge_list_customers` | List all customers with pagination |
### Wallet Operations
| Tool | Description |
|------|-------------|
| `bridge_create_wallet` | Create a custodial wallet on a blockchain |
| `bridge_get_wallet` | Get wallet details |
| `bridge_list_wallets` | List all wallets for a customer |
### Virtual Account Operations
| Tool | Description |
|------|-------------|
| `bridge_create_virtual_account` | Create a fiat deposit address that auto-converts to stablecoins |
| `bridge_get_virtual_account` | Get virtual account details |
| `bridge_list_virtual_accounts` | List all virtual accounts for a customer |
### Transfer Operations
| Tool | Description |
|------|-------------|
| `bridge_create_transfer` | Create a transfer (fiat↔crypto, crypto↔crypto) |
| `bridge_get_transfer` | Get transfer status |
| `bridge_list_transfers` | List transfers with optional filtering |
### External Account Operations
| Tool | Description |
|------|-------------|
| `bridge_create_external_account` | Link a bank account for payouts |
| `bridge_get_external_account` | Get external account details |
| `bridge_list_external_accounts` | List all external accounts for a customer |
### Webhook Operations
| Tool | Description |
|------|-------------|
| `bridge_create_webhook` | Create a webhook endpoint |
| `bridge_list_webhooks` | List all webhook endpoints |
### Utility
| Tool | Description |
|------|-------------|
| `bridge_get_exchange_rates` | Get current exchange rates |
## Example Workflows
### On-ramp: Fiat to Stablecoin
1. Create a customer: `bridge_create_customer`
2. Create a wallet: `bridge_create_wallet` (e.g., Solana)
3. Create a virtual account: `bridge_create_virtual_account` (USD → USDC)
4. Share the bank details with the customer to deposit fiat
5. Bridge auto-converts and sends USDC to the wallet
### Off-ramp: Stablecoin to Fiat
1. Create external account: `bridge_create_external_account` (link bank)
2. Create transfer: `bridge_create_transfer` (bridge_wallet → ach)
3. Monitor status: `bridge_get_transfer`
## Supported Currencies
### Fiat
- USD (ACH, Wire)
- EUR (SEPA)
- MXN (SPEI)
- BRL (PIX)
- GBP
### Stablecoins
- USDC
- USDB (Bridge's native stablecoin)
- EURC
### Blockchains
- Ethereum
- Polygon
- Solana
- Base
## Development
```bash
# Watch mode
npm run dev
# Build
npm run build
# Run
npm start
```
## License
MIT
## Links
- [Bridge.xyz](https://bridge.xyz)
- [Bridge API Docs](https://apidocs.bridge.xyz)
- [MCP Protocol](https://modelcontextprotocol.io)
TDQS
Scored across 18 tools
Each tool targets a distinct resource and action (create/get/list per entity). There is no overlap between customers, wallets, virtual accounts, transfers, external accounts, webhooks, and exchange rates, making selection unambiguous.
All tools follow a consistent bridge_verb_noun pattern. Verbs are limited to create, get, and list, and nouns are consistently singular for get/create and plural for list operations, except for exchange_rates which is naturally plural.
With 18 tools, the server is slightly above the typical 3-15 range but each tool corresponds to a necessary operation across seven distinct resource types. The count is justified for a payment-focused API, though it feels a bit heavy.
Core create/get/list operations are covered for most resources, but update and delete actions are missing across the board. Notably, webhooks only have create and list, lacking get and delete. These gaps could hinder full lifecycle management for an agent.