# NYCfoodie

**Category:** 💻 Developer Tools  
**Repository:** https://github.com/tireniajilore/nycfoodie  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/nycfoodie

## Description
Editorial NYC restaurant recommendations for AI agents: search, compare, guides, ratings.

## Claude Desktop Quick Installation
Heuristic fallback — verify the package name and runner against the repository README before running it. Uses `npx` (confidence: low):

```json
"mcpServers": {
  "nycfoodie": {
    "command": "npx",
    "args": ["-y","nycfoodie"]
  }
}
```

## Documentation & README

# NYCfoodie

[![NYCfoodie MCP connector – tool definition quality and endpoint health on Glama](https://glama.ai/mcp/connectors/app.railway.up.nycfoodie-production/nycfoodie/badges/score.svg)](https://glama.ai/mcp/connectors/app.railway.up.nycfoodie-production/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](https://github.com/tireniajilore/nycfoodie/blob/HEAD/cursor://anysphere.cursor-deeplink/mcp/install?name=nycfoodie&config=eyJ1cmwiOiAiaHR0cHM6Ly9ueWNmb29kaWUtcHJvZHVjdGlvbi51cC5yYWlsd2F5LmFwcC9tY3AifQ==)
- **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:

```json
{
  "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

```bash
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.

