@ramp-kit/mcp
MCP (Model Context Protocol) server for the
LATAM Ramp Kit: lets AI
agents (Claude Code, Claude Desktop, Cursor, or any MCP client) explore,
explain and operate LATAM fiat ramps on Stellar.
Works with zero configuration (mock provider) and comes alive with an
Etherfuse sandbox key — agents can then fetch real quotes, create sandbox
orders, simulate PIX/SPEI deposits and watch them settle on Stellar Testnet.
Listed in the official MCP Registry
as io.github.armandocodecr/ramp-kit. Pairs with the kit's
agent skill
(npx skills add …/skills/ramp-kit): the skill provides integration
knowledge, this server provides the hands.
Setup
Claude Code:
claude mcp add ramp-kit -e ETHERFUSE_API_KEY=api_sand_… -- npx -y @ramp-kit/mcp
Any MCP client (mcpServers config):
{
"mcpServers": {
"ramp-kit": {
"command": "npx",
"args": ["-y", "@ramp-kit/mcp"],
"env": { "ETHERFUSE_API_KEY": "api_sand_…" }
}
}
}
Environment variables (all optional):
ETHERFUSE_API_KEY | Enables live Etherfuse tools (sandbox key: sandbox.etherfuse.com) |
MANTECA_API_KEY | Enables the Manteca provider in routing/comparison |
RAMPKIT_ENV | sandbox (default) or production |
Tools
get_documentation | Built-in docs: overview, quickstart, sandbox-setup, architecture, production, troubleshooting |
list_providers | Configured providers + capabilities (countries, rails, networks) |
list_assets | Tradable assets (environment-specific identifiers) |
get_quote | Live quote with rate, fees and expiry countdown |
compare_quotes | Same request fanned out to every eligible provider |
create_order | Quote → order, returns PIX/SPEI deposit instructions |
get_order | Normalized order status until settled/failed |
simulate_deposit | Sandbox-only: simulate the incoming fiat payment |
get_wallet_state | Stellar account existence, balances, pending claimable balances |
Safety
- Never handles secret keys — signing stays in the user's wallet
(
claimPendingBalances in @ramp-kit/core takes a signing callback).
simulate_deposit refuses to run when RAMPKIT_ENV=production.
- Quotes are session-scoped; orders only execute against the environment the
server was configured for.
Example agent session
"Quote 100 BRL to USDC on Stellar and walk me through what happens"
The agent calls list_assets → get_quote → explains the rate/fees/expiry,
then optionally create_order → simulate_deposit → get_order until
settled, and get_wallet_state to show the delivered tokens.
MIT © Armando Cruz ·
Repository