# SPUR for AI Agents - MCP server, REST API, offers.json and Markdown - SPUR Innovation Centre

Source: https://spuric.com/en/agents.html (Markdown twin, generated 2026-10-08). Machine-readable offers: https://spuric.com/offers.json

For AI agents - updated 2026-10-08

# SPUR for AI agents.

Everything an agent needs to answer questions about SPUR, quote NVIDIA B300 compute or data centre capacity in USD, and file a reservation request, without scraping and without an API key. Same numbers as the human pages, served as JSON, Markdown and MCP tools.

[OpenAPI](https://spuric.com/.well-known/openapi.json)
[offers.json](https://spuric.com/offers.json)
[llms-full.txt](https://spuric.com/llms-full.txt)

Quick start

## Three ways in.

1. MCP (Claude, Cursor, ChatGPT, any client)
### https://spuric.com/mcp
Streamable HTTP, no auth. Paste this into your client's MCP config:

```
{
"mcpServers": {
"spur": {
"type": "http",
"url": "https://spuric.com/mcp"
}
}
}
```

2. REST (any HTTP client)
### JSON in, JSON out

```
curl -X POST https://spuric.com/api/agent/quote \
-H 'Content-Type: application/json' \
-d '{"gpus": 16, "term_months": 12}'

curl -X POST https://spuric.com/api/ask \
-H 'Content-Type: application/json' \
-d '{"question": "Does SPUR have 100 MW available?"}'
```

3. Files (crawlers, RAG, spreadsheets)
### Read, do not scrape
[offers.json](https://spuric.com/offers.json) (schema.org OfferCatalog), [llms.txt](https://spuric.com/llms.txt) (facts + index), [llms-full.txt](https://spuric.com/llms-full.txt) (key pages as Markdown), and every key page has a .md twin, e.g. [/en/capacity.md](https://spuric.com/en/capacity.md).

MCP tools

## Seven tools, one server.

| Tool | Arguments | Returns |

| ask_spur | question | Grounded answer about SPUR (refreshed daily from spuric.com) |

| get_spur_pricing | service: capacity | colocation | gpu_compute | ai_solutions | all | Rate card text + structured pricing (USD) |

| get_capacity_availability | none | 100 MW program: MW available, US$200/kW-month, sites, inclusions, how to reserve |

| quote_b300_block | nodes or gpus, term_months | Indicative quote: US$12/GPU-hour x 8-GPU nodes x 730 h; monthly + term totals, quote_id |

| quote_capacity | kw, term_months, optional nodes/gpus | Indicative quote: US$200/kW-month, plus B300 line if requested |

| list_spur_events | limit | Upcoming SPUR events with RSVP links |

| request_contract | company, name, email (required); kw, gpu_count, quote_id, use_case, timeline, message, agent, sandbox | Files a real reservation request; reference id; human reply within one business day. sandbox: true validates and echoes the request without filing it |

REST endpoints

## Same tools over HTTP.

| Endpoint | Body / query | Notes |

| POST /api/ask (or GET ?q=) | {"question": "..."} | 30 requests/min per IP |

| GET /api/agent/capacity | none | Cached 1 h |

| GET /api/agent/pricing | none | Rate card, USD |

| POST /api/agent/quote | {"gpus"|"nodes", "kw", "term_months"} | Returns quote_id, monthly_usd, term_total_usd, line_items, text |

| POST /api/agent/request | {"company","name","email", ..., "sandbox": false} | 10/min per IP; creates a lead; 429 when rate limited. Dry run: "sandbox": true or header X-Spur-Sandbox: true (60/min, nothing filed) |

| POST /mcp | JSON-RPC 2.0 (initialize, tools/list, tools/call) | 60/min per IP |

Discovery: [/.well-known/agent.json](https://spuric.com/.well-known/agent.json) (A2A agent card), [/.well-known/ai-plugin.json](https://spuric.com/.well-known/ai-plugin.json), [/.well-known/openapi.json](https://spuric.com/.well-known/openapi.json), [/robots.txt](https://spuric.com/robots.txt) (AI crawlers allowed), [/sitemap.xml](https://spuric.com/sitemap.xml).

What to expect

## Ground rules.

- All prices are USD. Capacity US$200 per kW per month (100 MW program, early contract). NVIDIA B300 US$12 per GPU-hour (early contract, 8-GPU node blocks). Retail colocation US$225 per kW per month. Source of truth: offers.json.

- Quotes are indicative and come straight from the published rate card; they bind only on a signed contract. A quote_id lets a human pick up exactly what the agent computed.

- request_contract creates a real lead. Call it only when the user wants SPUR to contact them. SPUR replies by email within one business day. No payment is taken.

- Test with the sandbox. Pass sandbox: true (MCP argument or REST body) or the header X-Spur-Sandbox: true: the request is validated and echoed back with status validated_not_filed, a SPUR-S- reference and the exact payload that would have been filed, but no lead is created and nobody is contacted. Emails at example.com, example.org, example.net, .test or .invalid are always sandboxed. A live response carries "sandbox": false and a SPUR-R- reference.

- Answers are grounded on spuric.com and refreshed daily. If the ask tool does not know, it says so and points to contact.

- Hosting: everything runs in Canada under PIPEDA with no US CLOUD Act exposure. Hardware specifics for the GPU rental product are published (B300); inference hosting is described as "hosted in Canada".

- No auth, no keys, CORS-open for reads and quotes. Abusive traffic is rate limited per IP.

Changelog

- 2026-10-08 MCP server 1.2.1: sandbox flag on request_contract / POST /api/agent/request (dry run, no lead); reserved example/test email domains always sandboxed.

- 2026-10-08 MCP server 1.2.0: get_capacity_availability, quote_b300_block, quote_capacity, request_contract; REST /api/agent/*; Markdown twins of key pages + llms-full.txt; this page.

- 2026-10-06 Capacity and pricing page, offers.json, llms.txt rewrite, AI crawlers allowed, all prices USD.

## Building an agent that buys compute?

Tell us what your agent needs: more tools, webhooks, or test data. We answer same-day.

[Talk to SPUR ->](https://spuric.com/en/contact.html?topic=agents)
[Capacity & pricing](https://spuric.com/en/capacity.html)
