Skip to main content
Glama
aristochatti

resto-mcp

by aristochatti

resto-mcp ๐Ÿ

MCP server that searches restaurants via Google Places and returns an interactive mcp-ui carousel. Streamable HTTP transport โ€” ready for Mistral Le Chat / Alpic.

Python 3.14 ยท FastMCP ยท uv

Live demo -> https://www.youtube.com/watch?v=2k0QMIKgt1g

Run locally

uv python install 3.14
uv sync --locked
cp .env.example .env   # add your GOOGLE_MAPS_API_KEY
uv run main.py         # POST http://localhost:3000/mcp

Enable Places API (New) on your Google Cloud project for the key.

Test with Mistral Vibe locally

Use ngrok to expose your local server for testing in Mistral Le Chat:

# One-time setup: authenticate ngrok (requires free account)
ngrok config add-authtoken <YOUR_AUTHTOKEN>  # Get it from https://dashboard.ngrok.com/get-started/your-authtoken

# Terminal 1: Start your server
MCP_HTTP_PORT=8001 uv run main.py

# Terminal 2: Expose it via ngrok
ngrok http 8001
# Copy the forwarding URL (e.g., https://abc123.ngrok.io)

In Mistral Le Chat:

  • Connectors โ†’ Add MCP โ†’ paste https://abc123.ngrok.io/mcp

  • Ask: "Where should I eat in Paris?" โ†’ carousel renders

Free ngrok accounts get a new random subdomain each time. Use ngrok http --subdomain=resto-mcp 8001 if you have a paid plan to keep a fixed URL.


Run automated tests

uv run pytest

Deploy on Alpic

  1. Push this repo to GitHub (private is fine).

  2. New project on Alpic โ†’ connect the repo โ†’ select the Python 3.14 runtime.

  3. Install: uv sync --locked ยท Start: uv run main.py (also in alpic.json).

  4. Env var: GOOGLE_MAPS_API_KEY

  5. Alpic gives you a public URL โ†’ your MCP endpoint is https://<that-url>/mcp

Note: MCP_ALLOWED_HOSTS is left unset on purpose. FastMCP ships with DNS-rebinding protection restricted to localhost, which would reject every request once the server sits behind a public domain. See .env.example.

Add to Mistral Le Chat

Connectors โ†’ add MCP โ†’ paste the https://<alpic-url>/mcp endpoint. Then ask: "Where should I eat in Paris 11e?" โ†’ the carousel renders automatically.

Team

  • Danny Antonelli

  • Andrea Gemelli

  • Lorenzo Santolini

  • Giulia Buzzetti

Tool

search_restaurants(location, limit?) โ†’ mcp-ui carousel + text fallback.

-
license - not tested
-
quality - not tested
B
maintenance

Maintenance

โ€“Maintainers
โ€“Response time
โ€“Release cycle
โ€“Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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/aristochatti/restaurant-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server