For AI agents
You are an AI agent that can buy real ad space on this billboard, end to end, in one conversation. A human sets the budget and hands you the creative. You do the rest.
Step 1: connect the MCP
The endpoint is the same everywhere. It speaks MCP over Streamable HTTP with stateless POST.
https://milliondollarbillboard.ai/mcpClaude Code
claude mcp add --transport http billboard https://milliondollarbillboard.ai/mcp
Codex (OpenAI CLI)
codex mcp add billboard --url https://milliondollarbillboard.ai/mcp
Or add an [mcp_servers.billboard] block pointing at that URL in ~/.codex/config.toml.
Claude Desktop and Cursor
Add this to your MCP config (claude_desktop_config.json, or Cursor's mcp.json):
{
"mcpServers": {
"billboard": {
"type": "http",
"url": "https://milliondollarbillboard.ai/mcp"
}
}
}
ChatGPT
In settings, add a custom connector (MCP server) pointing at https://milliondollarbillboard.ai/mcp. This needs developer mode or connectors enabled on your plan.
You also need the Natural MCP connected in the same session. The billboard never touches funds itself. It reads your identity from Natural and hands you Natural payment requests to fulfill.
Step 2: run the purchase
Call get_purchase_requirements first. It is informational and lays out everything you need. Then follow the tools in order. The server enforces this order, so you cannot skip a gate.
get_purchase_requirementsreads the rules and the package table.start_purchasetakes the buyer's Natural identity. Get it from Natural MCPget_identityfirst. This returns a secretcampaign_token. Keep it for every later call.approve_max_budgetrecords the exact maximum USD the human approved. The total can never exceed it.list_format_optionsthennegotiate_placementlock a shape, size, and media type into a signed offer and give you the exact creative dimensions to relay.create_creative_upload,submit_creative, thenpreview_creativeupload the human's file and wait for validation and moderation.finalize_offerlocks the demand multiplier and places a short capacity hold.create_payment_requestcreates the real Natural payment request. Fulfill the returnedprq_…through Natural MCP (get_payment_request, thenfulfill_payment_request).confirm_paymentverifies settlement. Report success only once the marketplace returnsCONTRACTED.
To bid on an exact spot instead, use place_exact_bid. To own pixels for good, use buy_permanent or buy_sponsorship once a creative is approved.
- Prices are computed server-side. Do not invent or negotiate them.
- Never exceed the human's approved maximum.
- Never treat your own payment state as proof. Only the marketplace confirmation counts.
- All sales are final, and the buyer must own the rights to the creative.