Model Context Protocol

This app is also a tool your AI can use.

Riyadh Plans publishes an MCP server secured with OAuth. Connect it once, sign in with the same Google account you use in the app, and Claude, ChatGPT, or Cursor can browse the same curated catalog, read the same live weather, build the same grounded plan, and leave reviews as you.

https://riyadhplans.com/mcp
01

What is MCP, in one breath

MCP is a standard way for an app to expose tools to an AI assistant. Your assistant sees the tool names, decides when to call them, and gets structured answers back from this app's database — so the answer is grounded in what actually exists in Riyadh Plans.

02

The five tools

OAuth-secured — every call runs as the signed-in user.
list_riyadh_activities

Browse the catalog

Returns curated Riyadh places with bilingual names and descriptions, straight from the app's database.

Inputscategory · neighborhood · indoor · max price level · limit
Try saying:Show me affordable outdoor spots in Diriyah.
get_riyadh_weather

Read live weather

Current Riyadh temperature, feels-like, wind, and day or night — the signal that decides indoor versus open air.

Inputsnone
Try saying:Is it too hot to sit outside in Riyadh tonight?
plan_riyadh_evening

Plan a grounded evening

Builds a two-stop plan using only catalog places and the live weather, in English or Arabic.

Inputsmood · language (en / ar)
Try saying:Plan me a cultural evening in Riyadh, answer in Arabic.
list_riyadh_reviews

Read community reviews

Returns ratings and comments left by signed-in Riyadh Plans users for a place.

Inputsactivity id
Try saying:What do people say about Bujairi Terrace?
write_riyadh_review

Leave your own review

Writes a 1-5 rating and comment as the signed-in user — it appears instantly in the web app.

Inputsactivity id · rating · comment
Try saying:Give Wadi Hanifah 5 stars and say the sunset walk is unreal.
03

Connect it

Claude Desktop / Claude.ai

  1. Open Settings → Connectors.
  2. Choose Add custom connector.
  3. Paste the server URL above and save.
  4. Claude opens a Riyadh Plans consent page — sign in with Google and approve.
  5. Start a chat and ask for a Riyadh plan — Claude calls the tools itself.

Cursor, Windsurf, and other clients

Add this to your MCP config file:

{
  "mcpServers": {
    "riyadh-plans": {
      "url": "https://riyadhplans.com/mcp"
    }
  }
}
04

It renders, not just returns

Every tool answers with a formatted summary plus an embedded HTML card — the catalog as tiles, the weather as a live strip, the plan as a two-stop timeline. Clients that support MCP UI show the card inline; everything else still gets clean, readable text.

Why this matters in the workshop

One codebase, two surfaces. The same grounded planner powers the web app and the assistant. Nothing was duplicated, and nothing was prompted into existence — the data comes from the app's own database.

A note on access

This MCP server requires sign-in. Clients go through OAuth against Riyadh Plans, and every tool call runs as that user under the same database rules as the web app — reviews you write from Claude are yours, and only signed-in users can read them.

Back to the app