Dine-Discover-AI MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Dine-Discover-AI MCP ServerRecommend a cozy Italian restaurant in Los Angeles."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Dine-Discover-AI
Dine-Discover-AI is a conversational ReAct agent designed to act as an expert AI guide to California's vibrant restaurant scene. Built with the Model Context Protocol (MCP), it enables intelligent exploration of structured restaurant details, vibe-based recommendations, and detailed user reviews.
The project is built to be completely LLM-agnostic. It uses the universal OpenAI API format, which means you can plug in any open-source or local model (via Ollama, LMStudio, vLLM) or use popular cloud providers (like OpenAI, Groq, TogetherAI, etc.).
Features
Conversational Interface: Chat directly with the AI via a Gradio web interface.
Vibe-Based Recommendations: Look for restaurants using descriptive keywords like "moody," "romantic," or "zen."
Structured Data Retrieval: Instantly pull details like rating, price range, and signature dishes for specific spots.
Detailed Reviews: Access full user reviews and image descriptions for a deeper understanding of the dining experience.
Agentic Architecture: Powered by Langchain and MCP for modular tool use, allowing the AI to call functions and query data intelligently.
Related MCP server: Agentic Commerce MCP Demo
Architecture
Browser ──► Gradio UI (src/app.py) ── MCP host + ReAct loop
│
├──► LLM (OpenAI-compatible API) — decides which tool to call
│
└──► MCP server (src/server.py, stdio subprocess)
├─ tool: get_restaurant_info → structured_restaurant_data.json
├─ tool: recommend_by_vibe → JSON + raw culinary map text
├─ tool: get_review → augmented_user_review.json (joined on itemId)
└─ resource: culinary-map://californiaProject Structure
Dine-Discover-AI/
├── .env # Environment variables (copy from .env.example)
├── requirements.txt # Python dependencies
├── src/ # Source code
│ ├── app.py # Main Gradio application & ReAct Agent (MCP host)
│ ├── server.py # MCP Server exposing tools and resources
│ ├── client.py # MCP Client demo/utility (no LLM required)
│ └── restaurant_data_management.py # Utility to manage structured JSON data
└── data/ # Application data
├── raw/ # Original text and image data
└── processed/ # Extracted & structured JSON databasesSetup & Installation
Clone the repository:
git clone https://github.com/FenilKaneria/Dine-Discover-AI.git cd Dine-Discover-AICreate a virtual environment (recommended — keeps Gradio's pins away from your other projects):
python -m venv .venv .venv\Scripts\activate # Windows source .venv/bin/activate # macOS / LinuxInstall dependencies:
pip install -r requirements.txtConfigure Environment Variables:
cp .env.example .envThen open
.envand set your LLM configuration. See below.
LLM Configuration
Because this project uses the standard OpenAI SDK and Langchain-OpenAI, you can run it with any model.
Using OpenAI (Default):
OPENAI_API_KEY=sk-your-openai-key
MODEL_NAME=gpt-4o-miniUsing Local/Open-Source Models (Ollama, LMStudio, etc):
OPENAI_API_KEY=ollama # some local servers require a dummy key
OPENAI_API_BASE=http://localhost:11434/v1
MODEL_NAME=llama3Important: do not wrap values in quotes, and never leave a quote unterminated —
python-dotenvsilently skips a malformed line and the line after it, which makes the key look absent.python src/app.pyprints a warning at startup if the key is missing or too short to be real.
Usage
Run the Gradio Application:
python src/app.pyOpen the printed local URL (default http://127.0.0.1:7860) to start chatting.
Optional environment overrides:
Variable | Default | Effect |
|
| Set to |
|
| Set to |
|
| Model id passed to the OpenAI-compatible endpoint. |
Testing the MCP Server/Client (no API key needed):
python src/client.pyThis starts the server over stdio, verifies the 3 tools and 1 resource are discoverable, and runs one live call against each tool. Use it to prove the data layer works independently of the LLM.
Managing the restaurant database:
python src/restaurant_data_management.py # interactive CRUD menu (add uses the LLM)
python src/restaurant_data_management.py --test # offline unit tests, no network callsData Notes
structured_restaurant_data.json— 210 restaurant records withname,location,type,food_style,rating,price_range,signatures,vibe,environment,shortcomings,itemId.augmented_user_review.json— 10 reviews, linked to restaurants byitemId(not by name). Only the first 10 restaurants currently have reviews;get_reviewreports which ones do when a lookup misses.augmented_food_recipe.jsonanddata/raw/synthetic_recipe_images/are present in the repo but are not yet used by any MCP tool.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityFmaintenanceAn AI-powered server that helps users discover and book restaurants based on location, cuisine preferences, mood, and event type, with integration to Google Maps Places API for accurate recommendations.516MIT
- Alicense-qualityDmaintenanceEnables interactive restaurant discovery and ordering through a synthetic commerce flow with rich HTML UI. Demonstrates agentic commerce UX with tools to find restaurants, view menus, place mock orders, and generate receipts.4MIT
- Flicense-quality-maintenanceAn AI-native restaurant discovery service that enables searching and receiving natural language recommendations for over 2,200 restaurants across 15+ US cities. It provides tools for accessing detailed restaurant info, curated lists, and cuisine-specific searches through the Model Context Protocol.
- FlicenseDqualityDmaintenanceEnables interaction with a restaurant FastAPI backend for menu management, order processing, customer management, and analytics through natural language.241
Related MCP Connectors
AI-native restaurant discovery: verified/menu-indexed/discovered tiers + signed allergy-safety data.
Agent-native registry: 168k+ real restaurants in LA, Hong Kong & Tokyo. Unranked, honest signals.
Owner-verified local business data for AI agents: profiles, hours, prices, with provenance.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/FenilKaneria/Dine-Discover-AI'
If you have feedback or need assistance with the MCP directory API, please join our Discord server