{
  "markdown": "<div align=\"center\">\n  <img src=\"logo.png\" alt=\"POS.DO MCP Server\" width=\"200\" height=\"200\"/>\n\n  # PosDO MCP Server\n\n  **Discovery of 356K+ restaurants across 20 countries via the Model Context Protocol.**\n\n  [![License](https://img.shields.io/badge/license-Apache_2.0-blue.svg)](LICENSE)\n  [![MCP](https://img.shields.io/badge/MCP-2024--11--05-8b5cf6.svg)](https://modelcontextprotocol.io)\n  [![Endpoint](https://img.shields.io/badge/endpoint-pos.do%2Fmcp-3b82f6.svg)](https://pos.do/mcp)\n</div>\n\n---\n\nPOS.DO is a discovery platform with global coverage of restaurants — names, addresses, reviews, photos, opening hours, cuisines, neighbourhoods, cultural context, and real-time availability with time-based offers. This MCP server exposes that catalogue to AI agents over the Model Context Protocol.\n\n## What this server provides\n\n- **356,780 restaurants** in **20 countries** (US, ES, IT, MX, FR, CO, DE, GB, DO, PR, AU, CA, PT, JP, BE, CH, HK, VE, NZ, PY)\n- **7 languages** of content (ES, EN, IT, FR, DE, PT, CA)\n- **14.1M+ user reviews** with author, rating, text, language, photos\n- **Cultural context** — nearby monuments, museums, parks, and heritage sites from Wikidata, per restaurant\n- **Flow time-based offers** — off-peak discounts at participating restaurants, with real seat availability\n- **Reservation booking** with idempotent semantics (safe retries via `Idempotency-Key` header)\n\nThis is a **proxy repository**. The MCP endpoint runs at `https://pos.do/mcp` and is operated by EZZYPUSH SL. No local installation of the server is required — agents just point at the URL.\n\n## Quick start\n\n### Claude Desktop\n\nAdd to `claude_desktop_config.json`:\n\n```jsonc\n{\n  \"mcpServers\": {\n    \"pos-do\": {\n      \"url\": \"https://pos.do/mcp\"\n    }\n  }\n}\n```\n\nRestart Claude Desktop. The 7 tools below become available.\n\n### Cursor / Cline / Continue\n\nMost MCP clients accept a remote HTTP server entry of the same shape. For Cursor:\n\n```json\n{\n  \"mcp.servers\": {\n    \"pos-do\": {\n      \"url\": \"https://pos.do/mcp\",\n      \"transport\": \"http\"\n    }\n  }\n}\n```\n\n### Generic MCP client (raw JSON-RPC over HTTP)\n\n```bash\ncurl -sS -X POST https://pos.do/mcp \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/list\"}'\n```\n\n## Tools\n\n| Tool | Purpose | Docs |\n|---|---|---|\n| `search_restaurants` | Search restaurants in a city, with cuisine/price/feature filters | [docs](docs/tools/search_restaurants.md) |\n| `get_restaurant_details` | Full profile for a restaurant by slug | [docs](docs/tools/get_restaurant_details.md) |\n| `get_restaurant_reviews` | Paginated reviews with star and date filters | [docs](docs/tools/get_restaurant_reviews.md) |\n| `get_flow_offers` | Today's time-based discount slots for a restaurant | [docs](docs/tools/get_flow_offers.md) |\n| `book_flow_reservation` | Reserve a seat at a Flow-discounted slot | [docs](docs/tools/book_flow_reservation.md) |\n| `find_restaurants_near_landmark` | Restaurants within walking distance of a famous landmark | [docs](docs/tools/find_restaurants_near_landmark.md) |\n| `get_cultural_context_around_restaurant` | Monuments, museums, parks near a restaurant (Wikidata) | [docs](docs/tools/get_cultural_context_around_restaurant.md) |\n\nFull tool inventory with `inputSchema` is served live at [`/.well-known/mcp.json`](https://pos.do/.well-known/mcp.json).\n\n## Endpoint and transport\n\n- **Production URL**: `https://pos.do/mcp`\n- **Protocol**: MCP 2024-11-05\n- **Transport**: HTTP POST (JSON-RPC 2.0), Streamable HTTP compatible\n- **Discovery manifests**:\n  - `https://pos.do/.well-known/mcp.json` — official MCP discovery (full `tools[]` with `inputSchema`)\n  - `https://pos.do/.well-known/webmcp.json` — webmcp.link manifest\n  - `https://pos.do/.well-known/mcp/server-card.json` — Smithery-style server card\n  - `https://pos.do/mcp/manifest.json` — alias\n\n## Authentication and rate limits\n\nThe server runs in **anonymous tier** by default. No API key required.\n\n| Tier | Per minute | Per day |\n|---|---|---|\n| Anonymous (default) | 60 req/min per IP | 10,000 req/day per IP |\n| Reservation attempts | 10/min per IP | 5/day per email |\n\nHigher-rate API keys are available on request — open an issue.\n\nFor idempotent reservations, send an `Idempotency-Key` HTTP header (any UUID or stable client-side key). Replays within 24 h return the original reservation instead of creating a duplicate.\n\n## Coverage and data sources\n\nSee [`docs/data-coverage.md`](docs/data-coverage.md) for per-country counts and source attributions.\n\n## Examples\n\n- [Python](examples/python/search_example.py)\n- [Node](examples/node/search_example.js)\n- [curl](examples/curl/search_example.sh)\n\n## Status\n\nStable. Backwards-compatible changes only at this point. Breaking changes will be announced via [CHANGELOG.md](CHANGELOG.md) and bumped to `2.x`.\n\n## License\n\nApache License 2.0 — see [LICENSE](LICENSE).\n\n## Contact\n\n- **Issues / feature requests**: [github.com/posdo-io/mcp-server/issues](https://github.com/posdo-io/mcp-server/issues)\n- **Operator**: EZZYPUSH SL (Spain)\n- **Website**: [pos.do](https://pos.do)\n",
  "bytes": 5085,
  "sha": "a66f565794c3791ada50c70ecf35f9cd7aec7f7c15486c3fa25a10fee5b6af52",
  "repo_slug": "posdo-io/mcp-server",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_posdo_io_mcp_server_9a544b91/readme"
}