stargate-bridge-mcp

kukapay/stargate-bridge-mcp

3.2

If you are the rightful owner of stargate-bridge-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

An MCP server that enables cross-chain token transfers via the Stargate protocol.

Tools
4
Resources
0
Prompts
0

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.
ToolDescriptionKey Parameters
list_chainsLists supported chains in a sorted Markdown table.None
list_bridgeable_tokensLists bridgeable destinations for a source token.src_chain_key, src_token
get_quotesFetches 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_transferExecutes 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 .env file with your Ethereum-compatible private key (e.g., PRIVATE_KEY=0x...). Never commit this file!

Installation

  1. Clone the repo:

    git clone https://github.com/kukapay/stargate-bridge-mcp.git
    cd stargate-bridge-mcp
    
  2. Install dependencies with uv:

    uv sync  # Or uv add requests web3 python-dotenv "mcp[cli]"
    
  3. Install to Claude Desktop:

    Install the server as a Claude Desktop application:

    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 for details.