Stargate Bridge MCP
An MCP server that enables cross-chain token transfers via the Stargate protocol.
!GitHub License !Python Version !Status
Features
- Chain Discovery: List all supported blockchains with key details.
- Token Discovery: Find bridgeable tokens across chains.
- Quote Fetching: Get real-time bridge quotes with fees, estimates, and transaction steps.
- Automated Bridging: Execute transfers with automatic signing and broadcasting using your private key.
- MCP Integration: Fully compliant with MCP spec for easy use in Claude, Cursor, or other MCP clients.
| Tool | Description | Key Parameters | |------|-------------|----------------| | list_chains | Lists supported chains in a sorted Markdown table. | None | | list_bridgeable_tokens | Lists bridgeable destinations for a source token. | src_chain_key, src_token | | get_quotes | Fetches detailed quotes for a bridge route. | src_chain_key, dst_chain_key, src_token, dst_token, src_amount, dst_amount_min (optional: src_address, dst_address) | | bridge_transfer | Executes a bridge transfer (uses first quote). | src_chain_key, dst_chain_key, src_token, dst_token, src_amount, dst_amount_min (optional: dst_address) |
Known Limitations
Currently supports cross-chain bridging only between EVM-compatible chains (e.g., Ethereum, Polygon, Arbitrum). Non-EVM chains like Solana are planned for future support.
Quick Start
Prerequisites
- Python 3.10+
- uv for dependency management (recommended; fallback to pip)
- A
.envfile with your Ethereum-compatible private key (e.g.,PRIVATE_KEY=0x...). Never commit this file!
Installation
- Clone the repo:
git clone https://github.com/kukapay/stargate-bridge-mcp.git
cd stargate-bridge-mcp
- Install dependencies with uv:
uv sync # Or uv add requests web3 python-dotenv "mcp[cli]"
- Install to Claude Desktop:
Install the server as a Claude Desktop application: ``bash uv run mcp install main.py --name "Stargate Bridge" ``
Configuration file as a reference:
{
"mcpServers": {
"Stargate Bridge": {
"command": "uv",
"args": [ "--directory", "/path/to/stargate-bridge-mcp", "run", "main.py" ],
"env": { "PRIVATE_KEY": "your_private_key"}
}
}
}
Replace /path/to/stargate-bridge-mcp with your actual installation path, and replace your_private_key with your wallet private key.
Usage Examples
These examples simulate interactions in an MCP client like Claude Desktop. Each includes a natural language prompt, the tool call, and sample output.
1. List Supported Chains
Prompt: "Show me all the chains supported by Stargate for bridging."
Tool Call: list_chains()
Sample Output (Markdown table, sorted by chainKey): `` | chainKey | Name | Chain Type | Chain ID | Native Symbol | |----------|------|------------|----------|---------------| | arbitrum | Arbitrum One | evm | 42161 | ETH | | avalanche | Avalanche C-Chain | evm | 43114 | AVAX | | base | Base | evm | 8453 | ETH | | bnbchain | BNB Smart Chain | evm | 56 | BNB | | ethereum | Ethereum | evm | 1 | ETH | | ... (additional chains) ``
2. List Bridgeable Tokens
Prompt: "What tokens can I bridge USDC from Ethereum to other chains?"
Tool Call: list_bridgeable_tokens("ethereum", "0xA0b86a33E641b9E649bEe6b2D5D7b5b4D8f3a0a") (USDC on Ethereum)
Sample Output (Markdown table, sorted by Chain Key): `` | Chain Key | Symbol | Address | |-----------|--------|---------| | arbitrum | USDC | 0xA0b86a33E641b9E649bEe6b2D5D7b5b4D8f3a0a | | avalanche | USDC | 0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E | | polygon | USDC | 0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174 | | ... (additional destinations) ``
3. Get Bridge Quotes
Prompt: "Get quotes for bridging 10 USDC from Ethereum to Polygon with 1% slippage."
Tool Call: get_quotes("ethereum", "polygon", "0xA0b86a33E641b9E649bEe6b2D5D7b5b4D8f3a0a", "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174", 10.0, 9.9)
Sample Output (Concise Markdown): ```
Stargate Bridge Quotes
Src: ETHEREUM USDC 10.0 → Dst: POLYGON USDC
Quote 1 (stargate/v2/taxi)
- Expected Receive: 9.98 USDC
- Min Receive: 9.90 USDC
- Est. Time: 180s
- Fees:
- 0.000050 ETH on ethereum (message)
Steps
- Step 1 (bridge): To 0x77b204... | Value: 0.0100 ETH | Data: 0xc7c7f5b3...
Note: Use bridge_transfer to execute (uses first quote). ```
4. Execute Bridge Transfer
Prompt: "Execute the bridge for 10 USDC from Ethereum to Polygon."
Tool Call: bridge_transfer("ethereum", "polygon", "0xA0b86a33E641b9E649bEe6b2D5D7b5b4D8f3a0a", "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174", 10.0, 9.9)
Sample Output (On success; Markdown): ```
Bridge Transfer Successful
Transaction hashes:
- Step 1: 0x1234abcd...efgh5678
**Note**: If it fails (e.g., insufficient gas), returns an error like `# Error\nStep 1 failed (reverted).`
## License
MIT License - see [LICENSE](LICENSE) for details.











