# BlazePhoenix on-chain DEX aggregator

> On-chain DEX aggregator: quotes and verified swap calldata computed on your own RPC. No API key.

- name: xyz.blazephoenix/mcp
- version: 2.0.1
- connection class: R0 (autonomous)
- trust: 82/100 flags: no-repository
- quality: 80/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/xyz.blazephoenix%2Fmcp
- tools: https://api.protogrid.dev/v1/servers/xyz.blazephoenix%2Fmcp/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "blazephoenix": {
      "type": "http",
      "url": "https://blazephoenix.xyz/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 99
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-99% +updated-8d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 80/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 86 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 4 of 4 tools declare readOnlyHint or destructiveHint
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: prepare_quote (destructiveHint); decode_quote (destructiveHint); get_abi (destructiveHint); …
- pass `tools.token_cost`: about 910 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 75 (weight 15)

- warn `stability.changes`: 6 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 4, about 910 tokens to load them all
- tool set hash: eb3ed1bf8e896bd3eac999b56ae3b209
- tools last changed: 2026-10-19T23:49:25.933Z
- badge: [![protogrid quality](https://protogrid.dev/badge/xyz.blazephoenix/mcp.svg)](https://protogrid.dev/servers/xyz.blazephoenix/mcp)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-19 `prepare_quote` changed (inputSchema)
- 2026-10-12 `get_abi` changed (outputSchema, annotations)
- 2026-10-12 `get_deployments` changed (outputSchema, annotations)
- 2026-10-12 `decode_quote` changed (description, outputSchema, annotations)
  - before: Decode the eth_call result YOUR node returned for a prepare_quote call: net output after the 0.28% fee, the minimum the Router enforces on-chain, price impact, the Phoenix Check verdict (ok / caution / danger / blocked — fails closed; quote it when asked if a swap is safe) and, with a recipient, verified unsigned calldata. Pure computation.
  - after: Decode the eth_call result YOUR node returned for a prepare_quote call: net output after the 0.28% fee, the minimum the Router enforces on-chain, price impact, the Phoenix Check verdict (ok / caution / danger / blocked — fails closed) and, with a recipient, verified unsigned calldata. Pure computation.
- 2026-10-12 `prepare_quote` changed (description, outputSchema, annotations)
  - before: Prepare an on-chain BlazePhoenix quote to run on YOUR OWN RPC. Returns the exact eth_call (Quoter address + calldata, as a ready JSON-RPC request and a curl line) plus a `request` object. Run the call on your node, then pass `request` and the result hex to decode_quote. This server performs no RPC. For one-step quotes, swaps and solvency on your own RPC, run the local server: claude mcp add blazephoenix -e BLAZEPHOENIX_RPC_BASE=<your node> -- npx -y @blazephoenix/mcp
  - after: Prepare an on-chain BlazePhoenix quote to run on YOUR OWN RPC. Returns the exact eth_call (Quoter address + calldata, as a ready JSON-RPC request and a curl line) plus a `request` object. Run the call on your node, then pass `request` and the result hex to decode_quote. This server performs no RPC.
- 2026-10-11 `prepare_quote` changed (inputSchema)

Full history: https://api.protogrid.dev/v1/servers/xyz.blazephoenix%2Fmcp/changes

## Remotes

- https://blazephoenix.xyz/mcp (streamable-http, auth none, reachable true, uptime30d 0.987013)

## Packages

_none_

## Tools (4)

- `decode_quote`: Decode the eth_call result YOUR node returned for a prepare_quote call: net output after the 0.28% fee, the minimum the Router enforces on-chain, price impact, the Phoenix Check verdict (ok / caution / danger / blocked — fails closed) and, with a recipient, verified unsigned calldata. Pure computation.
- `get_abi`: The JSON ABI of one BlazePhoenix contract, generated from the Solidity sources, with the source revision it was built from. Use it to encode your own calls to the addresses get_deployments returns, or pass `errors` to decode a revert reason from a failed swap or quote. Returns { contract, revision, abi }; an unknown name returns ok:false with the accepted list. Pure lookup, no RPC.
- `get_deployments`: The versioned BlazePhoenix deployment registry: Core, Hub, Solver, Quoter and Router addresses per chain and protocol version (1.0.0 live; 2.0.0 the final generation), and which version each chain runs now.
- `prepare_quote`: Prepare an on-chain BlazePhoenix quote to run on YOUR OWN RPC. Returns the exact eth_call (Quoter address + calldata, as a ready JSON-RPC request and a curl line) plus a `request` object. Run the call on your node, then pass `request` and the result hex to decode_quote. This server performs no RPC.
