# ZendIQ

Lets an agent screen a Solana token and get a swap verdict before signing. Useful when a bot trades on mainnet and has to filter risky mints.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 1
- Author: ZendIQ
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/ZendIQ/ZendIQ-Agent-API
- Updated: 2026-10-12
- HTML: https://affpapa.org/en/nevibecode/mcp/zendiq

## What it does

The server exposes three tools: `zendiq_screen_token` for a free mint screen, `zendiq_triage_swap` for a $0.01 swap verdict, and `zendiq_optimize_swap` for a $0.02 unsigned swap build. Scoring runs on ZendIQ's hosted API at `https://api.zendiq.ai` — there is no local mode, every score comes over the network.

Node.js 22.5 or newer is required. Paid calls need a Solana keypair you control, funded with mainnet USDC; SOL is not needed because the x402 facilitator covers the payment's network fee. The key sits at `runtime/payer-mainnet.key.json`, and `npm run budget:init` writes a spend ledger capped at $1.00. On mainnet nothing is paid without that ceiling, so keep the wallet dedicated — the ledger only bounds what goes through this code.

Payments go over x402, and settlement delays can hold a response for up to 90 seconds. Set your agent's timeout to at least 120 seconds; plenty of MCP hosts cut a tool call off sooner. A `402` with `settlement_pending` means you can retry once with the same payment header.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `ZENDIQ_AGENT_NETWORK`, `AGENT_STATE_DIR`, `ZENDIQ_AGENT_BUDGET_FILE`, `ZENDIQ_AGENT_KEYPAIR` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env ZENDIQ_AGENT_NETWORK=<ZENDIQ_AGENT_NETWORK> --env AGENT_STATE_DIR=<AGENT_STATE_DIR> --env ZENDIQ_AGENT_BUDGET_FILE=<ZENDIQ_AGENT_BUDGET_FILE> --env ZENDIQ_AGENT_KEYPAIR=<ZENDIQ_AGENT_KEYPAIR> --transport stdio zendiq -- npx -y @zendiq/mcp
```
Replace <…> with your own values

### Codex

**Platform CLI**
```bash
codex mcp add zendiq --env ZENDIQ_AGENT_NETWORK=<ZENDIQ_AGENT_NETWORK> --env AGENT_STATE_DIR=<AGENT_STATE_DIR> --env ZENDIQ_AGENT_BUDGET_FILE=<ZENDIQ_AGENT_BUDGET_FILE> --env ZENDIQ_AGENT_KEYPAIR=<ZENDIQ_AGENT_KEYPAIR> -- npx -y @zendiq/mcp
```
Replace <…> with your own values

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "zendiq": {
            "command": "npx",
            "args": [
                "-y",
                "@zendiq/mcp"
            ],
            "env": {
                "ZENDIQ_AGENT_NETWORK": "<ZENDIQ_AGENT_NETWORK>",
                "AGENT_STATE_DIR": "<AGENT_STATE_DIR>",
                "ZENDIQ_AGENT_BUDGET_FILE": "<ZENDIQ_AGENT_BUDGET_FILE>",
                "ZENDIQ_AGENT_KEYPAIR": "<ZENDIQ_AGENT_KEYPAIR>"
            }
        }
    }
}
```
Replace <…> with your own values

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "zendiq": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@zendiq/mcp"
            ],
            "env": {
                "ZENDIQ_AGENT_NETWORK": "<ZENDIQ_AGENT_NETWORK>",
                "AGENT_STATE_DIR": "<AGENT_STATE_DIR>",
                "ZENDIQ_AGENT_BUDGET_FILE": "<ZENDIQ_AGENT_BUDGET_FILE>",
                "ZENDIQ_AGENT_KEYPAIR": "<ZENDIQ_AGENT_KEYPAIR>"
            }
        }
    }
}
```
Replace <…> with your own values

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e ZENDIQ_AGENT_NETWORK=<ZENDIQ_AGENT_NETWORK> -e AGENT_STATE_DIR=<AGENT_STATE_DIR> -e ZENDIQ_AGENT_BUDGET_FILE=<ZENDIQ_AGENT_BUDGET_FILE> -e ZENDIQ_AGENT_KEYPAIR=<ZENDIQ_AGENT_KEYPAIR> zendiq npx -y @zendiq/mcp
```
Replace <…> with your own values

## When to use it
- filter out a mint flagged as a serial deployer before signing
- read individual risk signals instead of just the headline score
- build an unsigned swap transaction for a given taker
- cap an agent's USDC spending with a local ledger
- run swap triage straight from an MCP host

## Example prompts
- Screen the mint `JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN` and list the risk signals
- Triage this swap and tell me whether it is safe to sign
- Build a 0.003 SOL swap for the taker address via `zendiq_optimize_swap`

## Similar
- [x402 Wallet](https://affpapa.org/en/nevibecode/mcp/x402-wallet.md) — MCP server · ★ 250
- [x402 Universal Payer](https://affpapa.org/en/nevibecode/mcp/x402-universal-payer.md) — MCP server · ★ 250
- [mcp-x402](https://affpapa.org/en/nevibecode/mcp/mcp-x402.md) — MCP server · ★ 274
- [pumpdata](https://affpapa.org/en/nevibecode/mcp/pumpdata.md) — MCP server
- [SendCheck — EVM address verification (x402)](https://affpapa.org/en/nevibecode/mcp/sendcheck-evm-address-verification-x402.md) — MCP server
- [Palmyr](https://affpapa.org/en/nevibecode/mcp/palmyr.md) — MCP server · ★ 6

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
