Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Beschreibung vom Entwickler (englisches Original)
AI food ordering across Canada — 17,000+ restaurants, 89 cities, real UberEats + DoorDash.
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
AuthorizationAls geheim markierte Werte sind Schlüssel zu deinem Konto. Gib sie nie weiter und füge sie nie in einen Chat ein.
Du brauchst
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Diese Adresse braucht einen Schlüssel in einem Header der Anfrage, und das Menü zum Hinzufügen von Connectors kann ihn nicht setzen. Nutze stattdessen Claude Code, Cursor oder VS Code.
Führe das in deinem Terminal aus
claude mcp add --transport http canuckeats https://mcp.canuckeats.com/mcp --header 'Authorization: your-value'Trag die leeren Werte ein, bevor du ihn startest.
In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"canuckeats": {
"url": "https://mcp.canuckeats.com/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"canuckeats": {
"type": "http",
"url": "https://mcp.canuckeats.com/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
Diese Adresse braucht einen Schlüssel in einem Header der Anfrage, und das Menü zum Hinzufügen von Connectors kann ihn nicht setzen. Nutze stattdessen Claude Code, Cursor oder VS Code.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
Authorization geheim erforderlich HTTP headerDiese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Die Tool-Liste dieses Servers haben wir noch nicht gelesen; wir prüfen die Endpunkte reihum.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 6. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto canuckeats bestätigt, dem das Repo gehört
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Noch nicht geprüft; wir prüfen die Endpunkte reihum
Noch nicht geprüft; wir prüfen die Endpunkte reihum
Noch nicht geprüft; wir lesen die Tool-Liste, wenn wir den Endpunkt prüfen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Das musst du eintragen: Authorization
Er läuft in der Cloud des Entwicklers. Du verbindest dich übers Internet, ohne etwas zu installieren, aber was du sendest, läuft über die Server des Entwicklers.
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (1.0.0) kam vor 6 Monaten in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Er verbindet sich per URL, also funktionieren auch Apps, die Remote-MCP-Server akzeptieren, zum Beispiel ChatGPT im Entwicklermodus.
In derselben Kategorie: Spec Driven Development, Remote Desktop Commander, HotCodePush
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Manage over-the-air (OTA) updates for React Native, Expo, Capacitor and Cordova apps.
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
Order UberEats and DoorDash in Canada through AI agents. Canuckeats is a Model Context Protocol (MCP) service that lets AI agents browse menus and place real food delivery orders across 89 Canadian cities — no human in the loop required.
Endpoint:
https://mcp.canuckeats.com/mcp
Registration:
POST https://mcp.canuckeats.com/register— free, instant, no email confirmation
Protocol: MCP 2024-11-05 — Streamable HTTP
Coverage: 17,000+ restaurants · 89 cities · Canada only · UberEats + DoorDash
Canadian residents who want AI assistants to handle their food delivery face a gap: UberEats and DoorDash don't offer agent-accessible APIs. Canuckeats bridges that gap. An agent given a task like *"order me sushi for dinner"* can:
Every order dispatches through real UberEats or DoorDash accounts — the same food, same drivers, same cities.
No waiting, no approval queue. Register your agent and start making calls in under 30 seconds:
POST https://mcp.canuckeats.com/register
Content-Type: application/json
{ "agent_name": "MyFoodAgent", "email": "you@yourproject.com", "description": "AI assistant that orders lunch for remote teams" }
Response:
{
"api_key": "your-api-key-shown-once", "key_id": "uuid", "scopes": ["catalog:read", "orders:write"], "medusa_customer_id": "cus_...", "mcp_endpoint": "https://mcp.canuckeats.com/mcp", "docs": "https://github.com/canuckeats/MCP", "message": "Registration successful. Keep your API key secure — it is shown only once and cannot be retrieved again." }
The key is shown once. Save it immediately. If you lose it, register again with the same email — duplicate email is rejected, so use a unique email per key.
Registration limits: Up to 5 registrations per IP per 24 hours. One key per email address. Disposable email addresses are not accepted.
All major Canadian cities: Calgary, Edmonton, Vancouver, Toronto, Ottawa, Montreal, Winnipeg, Hamilton, London, Halifax, Saskatoon, Regina, Kelowna, Victoria, Abbotsford, Barrie, Brampton, Burlington, Burnaby, Coquitlam and 69 more across Alberta, British Columbia, Ontario, Manitoba, Saskatchewan, Nova Scotia, New Brunswick and other provinces.
Use list_cities to get the current full list with restaurant counts.
| Tool | Auth | Description |
|---|---|---|
list_cities | API key | List all 89 cities with restaurant counts |
search_restaurants | API key | Search by city, cuisine, name, or price range |
get_restaurant | API key | Full restaurant details |
get_menu | API key | Complete menu with sections, prices, and modifier options |
validate_order | API key | Preview exact total — no charge, no order created |
create_order | API key | Create order + Stripe PaymentIntent (no charge yet) |
confirm_payment | API key | Charge card and dispatch order to platform |
get_order_status | API key | Live status, tracking URL, and ETA |
mcp SDK)import asyncio, json
from mcp import ClientSession from mcp.client.streamable_http import streamablehttp_client
async def main(): async with streamablehttp_client( "https://mcp.canuckeats.com/mcp", headers={"Authorization": "Bearer YOUR_API_KEY"} ) as (read, write, _): async with ClientSession(read, write) as session: await session.initialize()
result = await session.call_tool("search_restaurants", { "city_slug": "vancouver-bc", "query": "sushi", "limit": 5 }) restaurants = json.loads(result.content[0].text) print(f"Found {restaurants['total']} sushi spots in Vancouver")
asyncio.run(main())
import { Client } from "@modelcontextprotocol/sdk/client/index.js"
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"
const client = new Client({ name: "my-agent", version: "1.0" }, { capabilities: {} }) await client.connect(new StreamableHTTPClientTransport( new URL("https://mcp.canuckeats.com/mcp"), { requestInit: { headers: { Authorization: "Bearer YOUR_API_KEY" } } } ))
const result = await client.callTool({ name: "list_cities", arguments: {} }) const cities = JSON.parse(result.content[0].text) console.log(${cities.length} cities available)
Add to your Claude Desktop MCP config (claude_desktop_config.json):
{
"mcpServers": { "canuckeats": { "type": "streamable-http", "url": "https://mcp.canuckeats.com/mcp", "headers": { "Authorization": "Bearer YOUR_API_KEY" } } } }
Then ask Claude: *"Order me a pepperoni pizza from anywhere in Calgary to 400 4 Ave SW, Calgary AB T2P 0J4."*
list_cities → get city slug (e.g. "calgary-ab")
↓ search_restaurants → get restaurant id ↓ get_menu → get menu_item_id + modifier options ↓ validate_order → confirm total (no charge) ↓ create_order → get order_id + stripe_payment_intent_id ↓ confirm_payment → charge pm_... and dispatch ↓ get_order_status (poll) → track until delivered
See docs/examples/order-flow.md for a narrated walkthrough with real request/response examples.
| Endpoint | Limit |
|---|---|
/register | 5 registrations per IP per 24 hours |
| All tools (general) | 60 requests / minute per key |
create_order, confirm_payment | 10 requests / minute per key |
Response headers X-RateLimit-Limit and X-RateLimit-Remaining are included on every MCP response.
AB, BC, ON, QC, MB, SK, NS, NB, NL, PE, NT, YT, NU.confirm_payment accepts a Stripe pm_* payment method ID. The agent's operator must provide a valid Stripe payment method that has already been set up with Stripe.confirm_payment succeeds, orders are forwarded to UberEats or DoorDash within 2–5 minutes. Use get_order_status to track.menu_item_id (the integer id field) when calling create_order.modifier_groups[].min_selections to know which are required.scheduled_for ISO 8601 field on create_order. Use ASAP delivery by omitting this field.| Platform | Coverage |
|---|---|
| UberEats | All 89 cities |
| DoorDash | All 89 cities |
Orders are placed on whichever platform has the requested restaurant. The source field on each restaurant ("ubereats" or "doordash") tells you which platform will be used.
Alberta · British Columbia · Manitoba · New Brunswick · Newfoundland · Nova Scotia · Ontario · Prince Edward Island · Quebec · Saskatchewan
Use list_cities for the live list. Notable cities include:
Alberta: Calgary, Edmonton, Red Deer, Lethbridge, Airdrie, Medicine Hat, Grande Prairie, Fort McMurray BC: Vancouver, Surrey, Burnaby, Richmond, Kelowna, Abbotsford, Victoria, Coquitlam, Langley Ontario: Toronto, Ottawa, Hamilton, London, Brampton, Mississauga, Barrie, Windsor, Kitchener, Ajax, Aurora Quebec: Montreal (selected areas) Prairie & Atlantic: Saskatoon, Regina, Winnipeg, Halifax, Moncton, Fredericton
order_id