# QRdx MCP server

> MCP (Model Context Protocol) is the open standard that lets AI assistants use outside tools. Connect QRdx once, ask for a QR code in plain words, and get the image back in the chat.

- Endpoint: `https://mcp.qrdx.dev/mcp` (Streamable HTTP)
- No account or API key; the tools are read-only and keep no data.
- Connect page: https://qrdx.dev/mcp
- Docs: https://qrdx.dev/docs/developers/mcp
- Server card: https://mcp.qrdx.dev/mcp/server-card

## How it works

1. **Add the server.** One command or a few lines of config in Claude, Cursor, VS Code or any other MCP app. No account or API key.
2. **Ask your assistant.** In plain words: the link or details to encode, colors and shape. It picks the right QRdx tool.
3. **Get a QR code back.** A PNG image in the chat, plus SVG, PNG and EPS links ready for Markdown, HTML or print.

## Connect your app

### Claude (claude.ai and Claude Desktop)

Open [Add custom connector with QRdx filled in](https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=QRdx&connectorUrl=https%3A%2F%2Fmcp.qrdx.dev%2Fmcp), or go to Customize → Connectors → Add custom connector, name it QRdx and paste `https://mcp.qrdx.dev/mcp`. Leave the OAuth fields empty, click Add, then turn QRdx on from a chat's tools menu. Free plans can add one custom connector; on Team and Enterprise plans an owner adds it.

### Claude Code

```bash
claude mcp add --transport http qrdx https://mcp.qrdx.dev/mcp
```

### Cursor

[Add to Cursor](cursor://anysphere.cursor-deeplink/mcp/install?name=qrdx&config=eyJ1cmwiOiJodHRwczovL21jcC5xcmR4LmRldi9tY3AifQ%3D%3D) (opens Cursor's install prompt), or add this to `~/.cursor/mcp.json`:

```json
{
  "mcpServers": {
    "qrdx": {
      "url": "https://mcp.qrdx.dev/mcp"
    }
  }
}
```

### VS Code (GitHub Copilot)

[Install in VS Code](https://insiders.vscode.dev/redirect/mcp/install?name=qrdx&config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.qrdx.dev%2Fmcp%22%7D), or add this to `.vscode/mcp.json`, then use Copilot Chat in agent mode:

```json
{
  "servers": {
    "qrdx": {
      "type": "http",
      "url": "https://mcp.qrdx.dev/mcp"
    }
  }
}
```

### ChatGPT

At https://chatgpt.com/plugins, click + and choose Add custom MCP server. Name it QRdx, enter `https://mcp.qrdx.dev/mcp` as the URL, choose no authentication, accept the warning and create it. Then type @ in a new chat and pick QRdx. Your ChatGPT plan and workspace settings decide whether custom MCP servers are allowed.

### Devin Desktop (formerly Windsurf)

Add this to `~/.config/devin/mcp_config.json`, then refresh the MCP servers:

```json
{
  "mcpServers": {
    "qrdx": {
      "url": "https://mcp.qrdx.dev/mcp"
    }
  }
}
```

### Any other MCP app

Add a remote server with the URL `https://mcp.qrdx.dev/mcp` (Streamable HTTP, no authentication). Apps that only run local servers can bridge it with mcp-remote (needs Node.js):

```json
{
  "mcpServers": {
    "qrdx": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://mcp.qrdx.dev/mcp"
      ]
    }
  }
}
```

## Tools

- `generate_qr_code` (Generate a QR code): Renders the code and returns a PNG image plus public SVG, PNG and EPS image URLs ready for Markdown or HTML. Takes the image API options: colors, body, eye and dot shapes, error correction, margin and frame. Set include_svg for the SVG markup.
- `list_qr_styles` (List styles): Body patterns, corner eye and eye dot shapes, frame templates, error correction levels, defaults and limits.
- `qr_payload_wifi` (Wi-Fi network): A WIFI: payload (WPA, WEP or open, optionally hidden) with special characters escaped.
- `qr_payload_vcard` (Contact card): A vCard 3.0 contact: name, organization, title, phones, email, website, address and note.
- `qr_payload_email` (Email): A mailto: link with optional cc, bcc, subject and body.
- `qr_payload_sms` (Text message): An sms: link with an optional message, or the older SMSTO: form.
- `qr_payload_geo` (Map location): A geo: location from latitude and longitude.

## FAQ

### Do I need an account or an API key?

No. The QRdx MCP server is public and free. It needs no account or API key and keeps no session state.

### Which AI tools does it work with?

Any MCP app that supports remote servers over Streamable HTTP, such as Claude, ChatGPT (as a custom MCP server, where your plan allows it), Claude Code, Cursor, VS Code, Devin Desktop (formerly Windsurf), Gemini CLI and Codex. Apps that only run local stdio servers can connect through the mcp-remote bridge.

### Can it add logos or gradients?

No. Like the image API, the MCP server renders solid colors only. For logos and gradients, design the code in the QRdx playground or render it with the qrdx React library.

### Can it create dynamic QR codes?

No. The MCP tools render static QR codes and format payloads. Dynamic codes, whose destination you can change later, are created in the QRdx dashboard or with the REST API.

### Does QRdx store the codes I generate?

No. The tools only render images and format text. They don't read or change any QRdx account data, and the server doesn't save the codes. The image URLs it returns contain the encoded data, so don't share them if the data is private, such as a Wi-Fi password.

### Are there limits?

Requests are limited to 120 per minute per IP address. Very long data may not fit in a QR code; the tool then returns an error suggesting a lower error correction level.

### Can I run it myself?

Yes. The MCP server is part of the QRdx web app, so a self-hosted instance serves it at /api/mcp on your own domain.
