Read the 1000x1000 Cellionaire pixel wall and create USDC orders for cells; you pay on-chain.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Price a selection of cells right now and say whether it can be ordered (meets the minimum, not reserved, not in image review). Nothing is reserved or charged. Wraps POST /api/quote. Wall coordinates: x 0..999 (left to right), y 0..999 (top to bottom); cell index = y*1000 + x.
One to 20 non-overlapping areas; colours are optional here.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http wall https://cellionaire.com/mcp
Price a selection of cells right now and say whether it can be ordered (meets the minimum, not reserved, not in image review). Nothing is reserved or charged. Wraps POST /api/quote. Wall coordinates: x 0..999 (left to right), y 0..999 (top to bottom); cell index = y*1000 + x.
| Argument | Type | Description |
|---|---|---|
| areas* | array | One to 20 non-overlapping areas; colours are optional here. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"areas"
],
"properties": {
"areas": {
"type": "array",
"items": {
"type": "object",
"properties": {
"rect": {
"type": "object",
"required": [
"x",
"y",
"w",
"h"
],
"properties": {
"h": {
"type": "integer",
"maximum": 1000,
"minimum": 1
},
"w": {
"type": "integer",
"maximum": 1000,
"minimum": 1
},
"x": {
"type": "integer",
"maximum": 999,
"minimum": 0
},
"y": {
"type": "integer",
"maximum": 999,
"minimum": 0
}
},
"description": "A rectangle of cells: top-left x, y and width w, height h (cells).",
"additionalProperties": false
},
"cells": {
"type": "array",
"items": {
"type": "object",
"required": [
"x",
"y"
],
"properties": {
"x": {
"$ref": "#/properties/areas/items/properties/rect/properties/x"
},
"y": {
"$ref": "#/properties/areas/items/properties/rect/properties/y"
},
"color": {
"$ref": "#/properties/areas/items/properties/color"
}
},
"additionalProperties": false
},
"maxItems": 20000,
"description": "Individual cells, each with its own colour (instead of or in addition to rect + color)."
},
"color": {
"type": "string",
"pattern": "^#?[0-9a-fA-F]{6}$",
"description": "Colour of every cell in \"rect\", \"#RRGGBB\" (optional here)."
}
},
"additionalProperties": false
},
"maxItems": 20,
"minItems": 1,
"description": "One to 20 non-overlapping areas; colours are optional here."
}
},
"additionalProperties": false
}Create an order for cells and return the USDC payment details (recipient wallet, token, amount_units, Solana reference, pay_by, status URL). This tool does not pay: the caller sends the USDC transfer itself before pay_by. Same validation and limits as the website (minimum cells, at most 16 colours (image orders are not supported here), rate limits, unpaid orders per IP). accepted_terms must be true and means you accept the terms at https://cellionaire.com/terms. Wall coordinates: x 0..999 (left to right), y 0..999 (top to bottom); cell index = y*1000 + x.
| Argument | Type | Description |
|---|---|---|
| areas* | array | One to 20 non-overlapping areas, each a rect + color and/or a list of cells with colours. |
| owner | string | Public display name shown on the cells (max 40 characters). Default "anonymous". |
| network* | string | USDC network you will pay on. |
| accepted_terms* | boolean | Must be true: you accept the terms (https://cellionaire.com/terms). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"areas",
"network",
"accepted_terms"
],
"properties": {
"areas": {
"type": "array",
"items": {
"type": "object",
"properties": {
"rect": {
"type": "object",
"required": [
"x",
"y",
"w",
"h"
],
"properties": {
"h": {
"type": "integer",
"maximum": 1000,
"minimum": 1
},
"w": {
"type": "integer",
"maximum": 1000,
"minimum": 1
},
"x": {
"type": "integer",
"maximum": 999,
"minimum": 0
},
"y": {
"type": "integer",
"maximum": 999,
"minimum": 0
}
},
"description": "A rectangle of cells: top-left x, y and width w, height h (cells).",
"additionalProperties": false
},
"cells": {
"type": "array",
"items": {
"type": "object",
"required": [
"x",
"y",
"color"
],
"properties": {
"x": {
"$ref": "#/properties/areas/items/properties/rect/properties/x"
},
"y": {
"$ref": "#/properties/areas/items/properties/rect/properties/y"
},
"color": {
"$ref": "#/properties/areas/items/properties/color"
}
},
"additionalProperties": false
},
"maxItems": 20000,
"description": "Individual cells, each with its own colour (instead of or in addition to rect + color)."
},
"color": {
"type": "string",
"pattern": "^#?[0-9a-fA-F]{6}$",
"description": "Colour of every cell in \"rect\", \"#RRGGBB\" (required with rect)."
}
},
"additionalProperties": false
},
"maxItems": 20,
"minItems": 1,
"description": "One to 20 non-overlapping areas, each a rect + color and/or a list of cells with colours."
},
"owner": {
"type": "string",
"maxLength": 40,
"description": "Public display name shown on the cells (max 40 characters). Default \"anonymous\"."
},
"network": {
"enum": [
"solana",
"base"
],
"type": "string",
"description": "USDC network you will pay on."
},
"accepted_terms": {
"type": "boolean",
"const": true,
"description": "Must be true: you accept the terms (https://cellionaire.com/terms)."
}
},
"additionalProperties": false
}Status of an order and its USDC payment (state, received, remaining, confirmations, refunds). Wraps GET /api/order/{id}. status: pending, processing, paid, pending_review, expired, cancelled, late_paid, refund_pending, refunded, failed.
| Argument | Type | Description |
|---|---|---|
| order_id* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"order_id"
],
"properties": {
"order_id": {
"type": "string",
"pattern": "^[0-9a-f]{16}$"
}
},
"additionalProperties": false
}Rules, prices, size, minimum order, payment networks, terms version and whether purchases are open. Numbers come from the live settings. No input.
No arguments.
{
"type": "object",
"properties": {}
}Pixels and owners of a rectangle (w*h <= 10000). format "json" (default): base64 RGBA pixels plus runs of empty / buyer (with public display name) / house cells. format "png": the rectangle as a PNG image. Wraps GET /api/region. Wall coordinates: x 0..999 (left to right), y 0..999 (top to bottom); cell index = y*1000 + x.
| Argument | Type | Description |
|---|---|---|
| h* | integer | |
| w* | integer | |
| x* | integer | |
| y* | integer | |
| format | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"x",
"y",
"w",
"h"
],
"properties": {
"h": {
"type": "integer",
"maximum": 1000,
"minimum": 1
},
"w": {
"type": "integer",
"maximum": 1000,
"minimum": 1
},
"x": {
"type": "integer",
"maximum": 999,
"minimum": 0
},
"y": {
"type": "integer",
"maximum": 999,
"minimum": 0
},
"format": {
"enum": [
"json",
"png"
],
"type": "string",
"default": "json"
}
},
"additionalProperties": false
}Current wall version, the URL of the full-wall PNG (1 pixel = 1 cell; alpha 0 empty, 255 bought, 254 site-owned house art) and how to read regions. Wraps GET /api/wall. No input.
No arguments.
{
"type": "object",
"properties": {}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 4, 2026.