# Recta MCP server

> Finds cheaper USDC bridge routes across different blockchains for AI agents to minimize transaction costs.

- Repository: https://github.com/RectaBuild/recta
- Page: https://hostedmcp.org/servers/rectabuild/recta
- Transport: stdio, remote
- Stars: 0
- Latest version: 1.3.4

## Install

### Claude Code

```sh
claude mcp add --env 'RECTA_PRIVATE_KEY=<YOUR_RECTA_PRIVATE_KEY>' recta -- npx -y @recta/mcp
```

### Cursor (`~/.cursor/mcp.json`)

```json
{
  "mcpServers": {
    "recta": {
      "command": "npx",
      "args": [
        "-y",
        "@recta/mcp"
      ],
      "env": {
        "RECTA_PRIVATE_KEY": "<YOUR_RECTA_PRIVATE_KEY>"
      }
    }
  }
}
```

### VS Code (`.vscode/mcp.json`)

```json
{
  "servers": {
    "recta": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@recta/mcp"
      ],
      "env": {
        "RECTA_PRIVATE_KEY": "<YOUR_RECTA_PRIVATE_KEY>"
      }
    }
  }
}
```

### VS Code CLI

```sh
code --add-mcp '{"name":"recta","type":"stdio","command":"npx","args":["-y","@recta/mcp"],"env":{"RECTA_PRIVATE_KEY":"<YOUR_RECTA_PRIVATE_KEY>"}}'
```

### Claude Desktop (`claude_desktop_config.json`)

```json
{
  "mcpServers": {
    "recta": {
      "command": "npx",
      "args": [
        "-y",
        "@recta/mcp"
      ],
      "env": {
        "RECTA_PRIVATE_KEY": "<YOUR_RECTA_PRIVATE_KEY>"
      }
    }
  }
}
```

### Codex

```sh
codex mcp add recta --env 'RECTA_PRIVATE_KEY=<YOUR_RECTA_PRIVATE_KEY>' -- npx -y @recta/mcp
```

### Codex config.toml (`~/.codex/config.toml`)

```toml
[mcp_servers.recta]
command = "npx"
args = ["-y", "@recta/mcp"]

[mcp_servers.recta.env]
RECTA_PRIVATE_KEY = "<YOUR_RECTA_PRIVATE_KEY>"
```

### Gemini CLI

```sh
gemini mcp add -s user -e 'RECTA_PRIVATE_KEY=<YOUR_RECTA_PRIVATE_KEY>' recta npx -- -y @recta/mcp
```

### Gemini settings.json (`~/.gemini/settings.json`)

```json
{
  "mcpServers": {
    "recta": {
      "command": "npx",
      "args": [
        "-y",
        "@recta/mcp"
      ],
      "env": {
        "RECTA_PRIVATE_KEY": "<YOUR_RECTA_PRIVATE_KEY>"
      }
    }
  }
}
```

## Environment variables

| Name | Required | Secret | Description |
|---|---|---|---|
| `RECTA_PRIVATE_KEY` | no | yes | The agent wallet's private key (EOA), used only locally to sign and never sent to Recta. Optional: without it the server offers only the free tools recta_fit and recta_trial_evaluation. |
| `RECTA_ADDRESS` | no | no | Without a key: the public address the free trial uses as sender (never a key). |
| `RECTA_ALLOWED_RECIPIENTS` | no | no | Addresses, separated by commas, that may receive a transfer besides the wallet itself. Any other recipient is refused before anything is signed. |
| `RECTA_ALLOW_EXECUTE` | no | no | Set to yes to let the agent sign fee permits and send transactions. Anything else keeps the server read and preview only. |
| `RECTA_MAX_AMOUNT` | no | no | The most one transfer may move, in whole tokens of the source asset (1000 with USDC means 1000 USDC). A larger amount is refused before anything is signed. |
| `RECTA_MAX_FEE_USDC` | no | no | The most one fee permit may authorize, in USDC. |
| `RECTA_MIN_OUTPUT_BPS` | no | no | The route must guarantee the recipient at least this share of the amount sent, in basis points. |

## FAQ

### How much does Recta charge?

The service is free if no cheaper route is found; otherwise, it charges exactly 5% of the verified savings.

### Does Recta hold my private keys or funds?

No, Recta does not hold any keys or funds; the agent is responsible for signing and sending every transaction.

### How does the MCP server handle authentication?

The MCP server uses Streamable HTTP and does not require an API key.
