mcpField
N
NYCfoodie

NYCfoodie

Remote
github.comMaps & Travel0Updated 3w ago

About NYCfoodie

NYCfoodie provides AI agents with structured, editorial restaurant recommendations, normalising curated guides and reviews into a queryable dataset. Its current MVP focuses on New York, while the city is designed to be configurable.

Key features

  1. 01Search restaurant recommendations
  2. 02Retrieve restaurant details
  3. 03Compare restaurants
  4. 04Find guides and similar venues
  5. 05View guide consensus and top ratings
  6. 06Submit feedback

Use cases

  1. 01Find restaurants matching a request
  2. 02Compare options for a meal
  3. 03Explore editorial dining guides
  4. 04Review consensus or highly rated venues

MCP support

NYCfoodie exposes restaurant search, details, comparisons, guides, similarity, ratings, and feedback tools over MCP. Clients can connect to its hosted Streamable HTTP endpoint or run the stdio server locally.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://nycfoodie-production.up.railway.app/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Tools

8
ParameterTypeRequiredDescription
latnumberNoLatitude for proximity search. Must be given together with lng; radius_km defaults to 5 km when omitted. A location outside the NYC coverage area is rejected with an error.
lngnumberNoLongitude for proximity search. Must be given together with lat; radius_km defaults to 5 km when omitted.
citystringYesCity slug, always required. Currently 'new-york', covering the five boroughs plus the immediate metro (within 30 km of Manhattan).
sortenumNoSort by rating (default) or guide appearancesrating | guides
limitintegerNoMax results (default 10)
querystringNoFree text, e.g. 'date-night Italian'
cuisinestringNoe.g. 'Italian', 'ramen'
occasionstringNoOccasion tag. Allowed: 'Date Nights', 'Happy Hours', 'Pre-Theater', 'See & Be Seen', 'Serious Takeout Operation', 'Unique Dining Experiences', 'Wasting Your Time & Money'. Hyphens, spaces and underscores are flexible ('date-night' works); unambiguous prefixes resolve to the full value. Unknown or ambiguous values are rejected with an error.
radius_kmnumberNoSearch radius in kilometres (default 5 when lat/lng are given without it). Requires lat and lng.
min_ratingnumberNoMinimum Infatuation rating
price_tierintegerNo1 ($) to 4 ($$$$)
neighborhoodstringNoe.g. 'West Village', or a borough like 'Brooklyn'
include_closedbooleanNoInclude known-closed venues (default false)

Details

From the project README

NYCfoodie

NYCfoodie MCP connector – tool definition quality and endpoint health on Glama

The data layer for restaurant taste: structured, editorial restaurant recommendations served to AI agents over MCP. Not another review scraper — curated guides and reviews normalised into one schema, queryable by tools.

MVP city: New York. The city is a parameter everywhere; nothing NYC-specific is hardcoded.

Use it

Hosted endpoint (Streamable HTTP): https://nycfoodie-production.up.railway.app/mcp

  • Cursor — one-click install
  • Claude Code — claude mcp add --transport http nycfoodie https://nycfoodie-production.up.railway.app/mcp
  • Windsurf / Cline / Roo Code / Zed / VS Code — add to your MCP config:
{
  "mcpServers": {
    "nycfoodie": {
      "url": "https://nycfoodie-production.up.railway.app/mcp"
    }
  }
}
  • Claude (app) — Settings → Connectors → Add custom connector → paste the URL.
  • Any MCP client — add the URL above as a remote server (Streamable HTTP). No auth, no install.
Tools

search_restaurants · get_restaurant · compare_restaurants · find_guides · find_similar · guide_consensus · top_rated · submit_feedback

Layout

  • db/ — SQLite storage (better-sqlite3) with numbered SQL migrations written in Postgres-compatible DDL. The migration runner is dialect-agnostic by convention, so a Postgres adapter can replace better-sqlite3 later without touching the migrations.
  • crawler/ — source adapters (starting with The Infatuation) that normalise into the db schema. Endpoint/field mapping: docs/infatuation-data-surface.md (step 2).
  • mcp/ — stdio MCP server (@modelcontextprotocol/sdk) exposing search, detail, comparison and guide tools.

Quickstart

npm install
npm run typecheck
npm run build
node db/dist/migrate.js ./nycfoodie.db   # creates/opens the SQLite db, applies migrations
node mcp/dist/index.js                   # starts the MCP server on stdio

Roadmap

  1. Scaffold (done) — repo, packages, migration runner, stub MCP tools.
  2. Map The Infatuation's data surface — Next.js pages + GraphQL endpoints → docs/infatuation-data-surface.md.
  3. Database schema proposal — shown for approval before any crawler code is written.
  4. Crawler — only after schema sign-off.

Conventions

  • British English in docs and user-facing text.
  • Migrations: numbered NNN_name.sql, applied once in order; see db/migrations/README.md for the Postgres-compatibility rules.
  • Never commit *.db files or credentials.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.