NYCfoodie
Structured editorial NYC restaurant recommendations for AI agents — 5,767 venues, 929 ranked guides, 381 tags from The Infatuation, queryable over MCP.
Hosted MCP Server
npx add-mcp 'https://nycfoodie-production.up.railway.app/mcp'Installs into Claude Code, Codex, Cursor and more
Documentation
NYCfoodie
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
- Scaffold (done) — repo, packages, migration runner, stub MCP tools.
- Map The Infatuation's data surface — Next.js pages + GraphQL endpoints →
docs/infatuation-data-surface.md. - Database schema proposal — shown for approval before any crawler code is written.
- Crawler — only after schema sign-off.
Conventions
- British English in docs and user-facing text.
- Migrations: numbered
NNN_name.sql, applied once in order; seedb/migrations/README.mdfor the Postgres-compatibility rules. - Never commit
*.dbfiles or credentials.