menami

menami

Personalized restaurant recommendations, table bookings, and delivery via MCP, CLI, or API, learning user taste and acting proactively.

Category
Visit Server

README

<p align="center"> <img src="assets/logo.svg" alt="menami" width="320" /> </p>

<p align="center"> <strong>Your personal food agent.</strong><br> AI-powered restaurant recommendations, table bookings, and delivery — via MCP, CLI, or API. </p>

<p align="center"> <a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-D95A28.svg" alt="License: MIT"></a> <a href="https://getmenami.com"><img src="https://img.shields.io/badge/getmenami.com-D95A28" alt="getmenami.com"></a> </p>


Why Menami?

Most restaurant APIs give you data. Menami gives you an agent that knows you.

  • It learns your taste. Not just "Italian" — it knows you love smoky mole, hate loud restaurants, and your partner is allergic to shellfish.
  • It acts on your behalf. Your anniversary is in 3 weeks? Menami already booked a table at the impossible-to-get restaurant that matches both your taste profiles.
  • It gets better every meal. Every rating, every feedback, every "I tried that place and loved it" makes the next recommendation sharper.
  • It works everywhere. Use it from Claude, from the terminal, from your own app, or just text it on WhatsApp.

Menami covers San Francisco, New York City, and Mexico City with 3,000+ restaurants in the knowledge graph.


Quick Start

I want to... Use this
Use Menami inside Claude Desktop or another AI agent MCP Server
Use Menami from the terminal CLI
Build an app on top of Menami REST API

For AI Agents (MCP)

Menami implements the Model Context Protocol so AI assistants like Claude can call it as a tool.

1. Authenticate

npx @menami/mcp-server connect

This opens a browser OAuth flow and saves credentials to ~/.menami/config.json.

2. Add to Claude Desktop

Edit your Claude Desktop config:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "menami": {
      "command": "npx",
      "args": ["@menami/mcp-server"]
    }
  }
}

Restart Claude Desktop. You'll see Menami tools in the tool panel.

3. Try it

"Find me a good sushi place for a date night in San Francisco. Budget is $80-120 per person."

Claude will call menami_consult_agent and return personalized recommendations from your taste profile.

Available Tools

Tool Description
menami_consult_agent Personalized restaurant recommendations based on taste, location, and occasion
menami_book_table Check availability and book a table
menami_place_order Place a delivery or pickup order
menami_submit_feedback Rate a dining experience — improves future recommendations
menami_get_taste_profile View your taste profile (cuisines, dietary, price range, favorites)
menami_get_restaurant Get restaurant details (menu, hours, reviews, location)
menami_manage_occasions Manage birthdays, anniversaries, and trips for proactive suggestions

Full schema reference: docs/tools.md


For Developers (CLI)

npx @menami/cli login

Commands

# Get personalized recommendations
menami recommend "best ramen for a cold night"
menami recommend --cuisine japanese --occasion date_night
menami recommend                    # interactive mode

# Search the knowledge graph
menami search --city "San Francisco" --cuisine italian
menami search --city "Mexico City" --query "tacos de guisado"

# Get restaurant details
menami restaurant <id>
menami restaurant <id> --json

# View your taste profile
menami profile
menami profile --format full

# Set up your taste profile (interactive wizard)
menami onboard

# Rate a dining experience
menami feedback <restaurant-id> --rating 4 --text "Amazing tonkotsu, but noisy"

# Book a table
menami book <restaurant-id> --date 2026-04-15 --time 19:30 --party 2

# Manage occasions
menami occasions add birthday
menami occasions add anniversary

Global Flags

Flag Description
--json Output raw JSON
--help Show help for any command
--version Show version

For Apps (API)

Base URL: https://api.getmenami.com

All endpoints require a Bearer token. See Authentication.

Recommendations

curl -X POST https://api.getmenami.com/v2/recommendations \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"message": "date night Italian restaurant"}'

Search Restaurants

curl "https://api.getmenami.com/v2/restaurants/search?city=sf&cuisine=japanese" \
  -H "Authorization: Bearer $TOKEN"

Book a Table

curl -X POST https://api.getmenami.com/v2/bookings \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "restaurantId": "rst_abc123",
    "datetime": "2026-04-15T19:30:00",
    "partySize": 2,
    "guest": {"name": "Alice", "email": "alice@example.com"}
  }'

Submit Feedback

curl -X POST https://api.getmenami.com/v2/feedback \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"restaurantId": "rst_abc123", "overallRating": 5, "feedbackText": "Perfect omakase"}'

Get Taste Profile

curl https://api.getmenami.com/v2/profile \
  -H "Authorization: Bearer $TOKEN"

Full endpoint reference: docs/api-reference.md


Authentication

Menami uses OAuth 2.0 with PKCE — no client secrets needed. Safe for CLIs, native apps, and AI agents.

1. Generate code_verifier + code_challenge (SHA-256)
2. Open browser → /oauth/authorize?code_challenge=...
3. User authenticates
4. Receive auth code at localhost callback
5. Exchange code + verifier for access_token + refresh_token
6. Use Bearer token for all API calls
7. Refresh when expired via POST /v2/auth/refresh

Tokens are stored at ~/.menami/config.json.

Full details: docs/authentication.md


Configuration

Variable Default Description
MENAMI_API_URL https://api.getmenami.com Override API base URL

Repository Structure

menami/
├── packages/
│   ├── mcp-server/        # @menami/mcp-server — for AI agents
│   │   └── src/
│   │       ├── cli.ts     # npx entry point (connect + MCP stdio server)
│   │       ├── tools.ts   # 7 MCP tool definitions with JSON Schema
│   │       ├── types.ts   # TypeScript interfaces
│   │       └── auth.ts    # OAuth PKCE flow
│   └── cli/               # menami — terminal CLI
│       └── src/
│           ├── index.ts   # Commander.js (9 commands)
│           ├── commands/  # One file per command
│           ├── client.ts  # HTTP client with auto token refresh
│           └── config.ts  # ~/.menami/config.json persistence
├── docs/
│   ├── api-reference.md   # Full REST API docs
│   ├── authentication.md  # OAuth PKCE details
│   └── tools.md           # MCP tool schemas
└── assets/
    └── logo.svg

Contributing

  1. Fork the repo
  2. Create a feature branch: git checkout -b feat/my-feature
  3. Make your changes and add tests
  4. Run tests: npm test
  5. Open a pull request

Bug reports and feature requests: GitHub Issues


License

MIT — see LICENSE.


<p align="center"> Built by the Menami team. <a href="https://getmenami.com">getmenami.com</a> </p>

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured