{"id":"92c22a48-183b-42eb-b6bc-26ab7f5fa1dc","entityType":"agent","slug":"clawhub-chrischall-resy-mcp","name":"Tmp.6swodUvLYL","canonicalUrl":"https://www.xpersona.co/agent/clawhub-chrischall-resy-mcp","canonicalPath":"/agent/clawhub-chrischall-resy-mcp","generatedAt":"2026-10-10T08:44:56.553Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-09T22:35:51.473Z","emptyReason":null},"description":"Manage Resy restaurant reservations via MCP — search venues, book tables, list and cancel reservations, manage favorites, and subscribe to Priority Notify. Triggers on phrases like \"book a table at\", \"find me a reservation\", \"what reservations do I have\", \"cancel my Resy\", \"add to my Resy hit list\", or any request involving restaurant reservations on Resy. Requires resy-mcp installed and the resy server registered (see Setup below). Skill: Tmp.6swodUvLYL Owner: chrischall Summary: Manage Resy restaurant reservations via MCP — search venues, book tables, list and cancel reservations, manage favorites, and subscribe to Priority Notify. Triggers on phrases like \"book a table at\", \"find me a reservation\", \"what reservations do I have\", \"cancel my Resy\", \"add to my Resy hit list\", or any request involving restaurant reservations on Resy. Requires res","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.9K downloads reported by the source. Last updated 10/9/2026.","installCommand":"clawhub skill install s17cjx1a349nz5apaqp02vgz4h85728z:resy-mcp","sourceUrl":"https://clawhub.ai/chrischall/resy-mcp","homepage":"https://clawhub.ai/chrischall/skills/resy-mcp","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/chrischall/resy-mcp","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/chrischall/skills/resy-mcp","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":66,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Manage Resy restaurant reservations via MCP — search venues, book tables, list and cancel reservations, manage favorites, and subscribe to Priority Notify. Trig"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T22:35:51.473Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T22:35:51.473Z","emptyReason":null},"stars":null,"forks":null,"downloads":1933,"packageName":null,"latestVersion":"0.6.3","tractionLabel":"1.9K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T22:35:51.473Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T22:35:51.473Z","lastCrawledAt":"2026-10-09T22:35:51.473Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-10T22:35:51.473Z","lastVerifiedAt":null,"highlights":[{"version":"0.6.3","createdAt":"2026-08-06T00:43:33.407Z","changelog":"- Removed the file skill-card.md. - No changes to features or documentation in SKILL.md.","fileCount":3,"zipByteSize":4055},{"version":"0.6.2","createdAt":"2026-07-30T12:53:06.275Z","changelog":"- Removed the file skill-card.md. - No changes to features or functionality.","fileCount":3,"zipByteSize":4019},{"version":"0.6.1","createdAt":"2026-07-19T12:46:18.571Z","changelog":"- Removed the sample skill card file (skill-card.md). - No changes to code or user-facing functionality.","fileCount":3,"zipByteSize":4021},{"version":"0.5.4","createdAt":"2026-07-07T23:57:46.667Z","changelog":"### resy-mcp v0.5.4 - No changes detected in this version.","fileCount":null,"zipByteSize":null},{"version":"0.5.3","createdAt":"2026-07-05T22:38:44.995Z","changelog":"- Removed the file skill-card.md. - No changes to skill usage, interface, or features.","fileCount":null,"zipByteSize":null},{"version":"0.5.2","createdAt":"2026-06-13T00:55:03.328Z","changelog":"- Removed the file: skill-card.md - No functional or user-facing changes to the skill itself.","fileCount":null,"zipByteSize":null},{"version":"0.5.1","createdAt":"2026-06-04T04:29:44.407Z","changelog":"- Removed the skill-card.md file. - No user-facing or functional changes. This update streamlines project documentation.","fileCount":null,"zipByteSize":null},{"version":"0.5.0","createdAt":"2026-05-29T20:17:43.078Z","changelog":"No changes detected in this version. - Version 0.5.0 contains no updates or modifications.","fileCount":null,"zipByteSize":null}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17cjx1a349nz5apaqp02vgz4h85728z:resy-mcp","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-resy-mcp/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-resy-mcp/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-resy-mcp/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-resy-mcp/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-resy-mcp/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-resy-mcp/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T08:44:56.552Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-resy-mcp/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-resy-mcp/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-resy-mcp/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-resy-mcp/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-09T22:35:51.473Z","emptyReason":null},"readme":"Skill: Tmp.6swodUvLYL\n\nOwner: chrischall\n\nSummary: Manage Resy restaurant reservations via MCP — search venues, book tables, list and cancel reservations, manage favorites, and subscribe to Priority Notify. Triggers on phrases like \"book a table at\", \"find me a reservation\", \"what reservations do I have\", \"cancel my Resy\", \"add to my Resy hit list\", or any request involving restaurant reservations on Resy. Requires resy-mcp installed and the resy server registered (see Setup below).\n\nTags: latest:0.6.3\n\nVersion history:\n\nv0.6.3 | 2026-08-06T00:43:33.407Z | auto\n\n- Removed the file skill-card.md.\n- No changes to features or documentation in SKILL.md.\n\nv0.6.2 | 2026-07-30T12:53:06.275Z | auto\n\n- Removed the file skill-card.md.\n- No changes to features or functionality.\n\nv0.6.1 | 2026-07-19T12:46:18.571Z | auto\n\n- Removed the sample skill card file (skill-card.md).\n- No changes to code or user-facing functionality.\n\nv0.5.4 | 2026-07-07T23:57:46.667Z | auto\n\n### resy-mcp v0.5.4\n\n- No changes detected in this version.\n\nv0.5.3 | 2026-07-05T22:38:44.995Z | auto\n\n- Removed the file skill-card.md.\n- No changes to skill usage, interface, or features.\n\nv0.5.2 | 2026-06-13T00:55:03.328Z | auto\n\n- Removed the file: skill-card.md\n- No functional or user-facing changes to the skill itself.\n\nv0.5.1 | 2026-06-04T04:29:44.407Z | auto\n\n- Removed the skill-card.md file.\n- No user-facing or functional changes. This update streamlines project documentation.\n\nv0.5.0 | 2026-05-29T20:17:43.078Z | auto\n\nNo changes detected in this version.\n\n- Version 0.5.0 contains no updates or modifications.\n\nv0.4.0 | 2026-05-28T16:43:51.255Z | auto\n\n- Removed the outdated sample file skill-card.md.\n- No changes to user-facing tools or functionality.\n\nv0.3.0 | 2026-05-28T01:30:14.019Z | auto\n\n- Removed the file: skill-card.md\n- No changes to functionality or documentation in SKILL.md\n- Maintenance update to clean up unused files\n\nv0.2.4 | 2026-05-26T17:09:49.514Z | auto\n\nNo user-visible changes in this release.\n\n- Version bumped to 0.2.4 with no file or documentation updates detected.\n\nv0.1.5 | 2026-05-21T20:11:30.199Z | auto\n\nVersion 0.1.5\n\n- Removed all source, test, doc, and configuration files (28 files total).\n- This version effectively removes the implementation and documentation from the repository.\n\nv0.1.3 | 2026-04-23T18:28:43.394Z | auto\n\n- Updated dependencies in package.json and package-lock.json.\n- Minor internal source code changes in src/client.ts and src/index.ts.\n- No changes to user-facing features or API.\n- Documentation and manifest files updated for this version.\n\nv0.1.2 | 2026-04-23T18:23:31.577Z | auto\n\n- Initial release of resy-mcp skill.\n- Manage Resy restaurant reservations via MCP: search venues, book/cancel tables, manage favorites, and subscribe to Priority Notify.\n- Supports natural language triggers for booking, searching, viewing, and cancelling reservations.\n- Requires Resy credentials; uses Resy's private web-app API.\n- Includes tools for reservation workflows, favorites, Priority Notify, and payment method management.\n\nArchive index:\n\nArchive v0.6.3: 3 files, 4055 bytes\n\nFiles: skill-card.md (2329b), SKILL.md (5785b), _meta.json (127b)\n\nFile v0.6.3:SKILL.md\n\n---\nname: resy-mcp\ndescription: Manage Resy restaurant reservations via MCP — search venues, book tables, list and cancel reservations, manage favorites, and subscribe to Priority Notify. Triggers on phrases like \"book a table at\", \"find me a reservation\", \"what reservations do I have\", \"cancel my Resy\", \"add to my Resy hit list\", or any request involving restaurant reservations on Resy. Requires resy-mcp installed and the resy server registered (see Setup below).\n---\n\n# resy-mcp\n\nMCP server for Resy — natural-language restaurant reservation management. Uses Resy's private web-app API with email + password auth.\n\n- **npm:** [npmjs.com/package/resy-mcp](https://www.npmjs.com/package/resy-mcp)\n- **Source:** [github.com/chrischall/resy-mcp](https://github.com/chrischall/resy-mcp)\n\n> ⚠️ Resy does not publish an official API. This server uses the same private endpoints the Resy web app calls, with the public web-app `api_key` and user-level auth via email + password. Use at your own discretion.\n\n## Setup\n\n### Option A — npx (recommended)\n\nAdd to `.mcp.json` in your project or `~/.claude/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"resy\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"resy-mcp\"],\n      \"env\": {\n        \"RESY_EMAIL\": \"you@example.com\",\n        \"RESY_PASSWORD\": \"yourpassword\"\n      }\n    }\n  }\n}\n```\n\n### Option B — from source\n\n```bash\ngit clone https://github.com/chrischall/resy-mcp\ncd resy-mcp\nnpm install && npm run build\n```\n\nThen add to `.mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"resy\": {\n      \"command\": \"node\",\n      \"args\": [\"/path/to/resy-mcp/dist/bundle.js\"],\n      \"env\": {\n        \"RESY_EMAIL\": \"you@example.com\",\n        \"RESY_PASSWORD\": \"yourpassword\"\n      }\n    }\n  }\n}\n```\n\nOr place `.env` in the project directory with `RESY_EMAIL=` and `RESY_PASSWORD=`.\n\n## Authentication\n\n- `RESY_EMAIL` + `RESY_PASSWORD` are required. The client logs in lazily on first request via `POST /3/auth/password`, caches the returned token for the process lifetime, and re-logs automatically on 401 / 419 / auth-like 500 responses.\n- `RESY_API_KEY` is optional. If unset, the client uses the public web-app key baked into resy.com's JS bundle. Override only if Resy rotates it.\n\n## Tools\n\n### User\n| Tool | Description |\n|------|-------------|\n| `resy_get_profile` | Current user profile — name, email, phone, booking count, member-since. Payment method IDs are stripped. |\n| `resy_list_payment_methods` | List saved payment methods (`id`, `brand`, `last_four`, `exp_month`, `exp_year`, `is_default`). The `id` feeds `resy_book`'s `payment_method_id`. |\n\n### Venues\n| Tool | Description |\n|------|-------------|\n| `resy_search_venues(date, party_size, query?, lat?, lng?, limit?, radius_meters?)` | Search venues with availability for a date + party size. Defaults to NYC geo. |\n| `resy_find_slots(venue_id, date, party_size, lat?, lng?)` | List bookable slots at a venue — each includes a short-lived `config_token`. |\n| `resy_get_venue(venue_id)` | Full venue details. |\n\n### Reservations\n| Tool | Description |\n|------|-------------|\n| `resy_book(venue_id, date, party_size, desired_time?, lat?, lng?, payment_method_id?)` | Composite: find fresh slot → details → book. `desired_time` is \"HH:MM\" (24h); closest match wins if no exact slot. Uses default payment method unless `payment_method_id` is supplied. |\n| `resy_list_reservations(scope?)` | List reservations. `scope`: `upcoming` (default), `past`, or `all`. Each result includes the `resy_token` needed for cancellation. |\n| `resy_cancel(resy_token)` | Cancel by `resy_token` (`rr://…`). Inspects the response body to set `cancelled: true/false` honestly. |\n\n### Favorites\n| Tool | Description |\n|------|-------------|\n| `resy_list_favorites` | List favorited venues (\"hit list\"). |\n| `resy_add_favorite(venue_id)` | Add a venue to favorites. |\n| `resy_remove_favorite(venue_id)` | Remove from favorites. |\n\n### Priority Notify\n| Tool | Description |\n|------|-------------|\n| `resy_list_notify` | List Priority Notify subscriptions. |\n| `resy_add_notify(venue_id, date, party_size, time_start?, time_end?)` | Subscribe to notifications when slots open. `time_start` / `time_end` are HH:MM (24h); default window 18:00–21:00. |\n| `resy_remove_notify(notify_id)` | Cancel a Priority Notify subscription. |\n\n## Workflows\n\n**Book a specific restaurant at a specific time:**\n```\nresy_search_venues(query: \"carbone\", date: \"2026-05-01\", party_size: 2)\n  → find venue_id\nresy_book(venue_id, date: \"2026-05-01\", party_size: 2, desired_time: \"19:00\")\n```\n\n**See what's available tonight near me:**\n```\nresy_search_venues(date: \"2026-04-20\", party_size: 2, lat: 37.7749, lng: -122.4194)\n  → returns venues with baked-in slot availability\n```\n\n**Cancel a reservation:**\n```\nresy_list_reservations() → find resy_token for the one to cancel\nresy_cancel(resy_token)\n```\n\n**Stalking a hard-to-get table:**\n```\nresy_search_venues(query: \"4 charles prime rib\", ...) → venue_id\nresy_add_notify(venue_id, date: \"2026-05-31\", party_size: 2, time_start: \"19:00\", time_end: \"21:00\")\n# Resy emails you when a slot opens\n```\n\n## Notes\n\n- Slot `config_token`s expire within minutes of being fetched. `resy_book` re-fetches fresh slots internally — don't try to thread a stale token from `resy_find_slots` into a book call manually.\n- `resy_book` requires a payment method on file at resy.com/account. If none exists it throws a clear error.\n- Default geo is NYC (40.7128, -73.9876). Pass `lat`/`lng` for other cities.\n- Favorites and Priority Notify endpoint paths are reverse-engineered. If a call fails with 404, run `npm run smoke` locally against your credentials and adjust the path.\n- `RESY_API_KEY` env var overrides the baked-in public web-app key if Resy ever rotates it.\n\nFile v0.6.3:_meta.json\n\n{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"resy-mcp\",\n  \"version\": \"0.6.3\",\n  \"publishedAt\": 1785977013407\n}\n\nFile v0.6.3:skill-card.md\n\n## Description:\n\nManage Resy restaurant reservations via MCP by searching venues, booking tables, listing and canceling reservations, managing favorites, and subscribing to Priority Notify.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[chrischall](https://clawhub.ai/user/chrischall)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to connect an agent to a Resy MCP server for natural-language restaurant reservation workflows, including finding availability, booking, canceling, favorites, and Priority Notify subscriptions.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill asks users to run an unpinned MCP package with live account access.\n\nMitigation: Prefer a pinned, reviewed local install over npx -y before connecting credentials.\n\nRisk: Resy credentials are required and could be exposed if stored in project files or source control.\n\nMitigation: Store credentials outside shared project files, keep them out of source control, and restrict file permissions.\n\nRisk: The MCP server can make real account changes, including bookings, cancellations, favorites, and Priority Notify subscriptions.\n\nMitigation: Require explicit user confirmation before actions that book, cancel, change favorites, or create notification subscriptions.\n\nRisk: The server uses private Resy web-app endpoints that may change without notice.\n\nMitigation: Review failures carefully and revalidate behavior before relying on affected reservation workflows.\n\n## Reference(s):\n\n- [resy-mcp source repository](https://github.com/chrischall/resy-mcp)\n- [resy-mcp npm package](https://www.npmjs.com/package/resy-mcp)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Shell commands, Configuration, Guidance]\n\n**Output Format:** [Markdown with JSON and bash code blocks]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May initiate live Resy account actions through the configured MCP server.]\n\n## Skill Version(s):\n\n0.6.3 (source: release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v0.6.2: 3 files, 4019 bytes\n\nFiles: skill-card.md (2380b), SKILL.md (5785b), _meta.json (127b)\n\nFile v0.6.2:SKILL.md\n\n---\nname: resy-mcp\ndescription: Manage Resy restaurant reservations via MCP — search venues, book tables, list and cancel reservations, manage favorites, and subscribe to Priority Notify. Triggers on phrases like \"book a table at\", \"find me a reservation\", \"what reservations do I have\", \"cancel my Resy\", \"add to my Resy hit list\", or any request involving restaurant reservations on Resy. Requires resy-mcp installed and the resy server registered (see Setup below).\n---\n\n# resy-mcp\n\nMCP server for Resy — natural-language restaurant reservation management. Uses Resy's private web-app API with email + password auth.\n\n- **npm:** [npmjs.com/package/resy-mcp](https://www.npmjs.com/package/resy-mcp)\n- **Source:** [github.com/chrischall/resy-mcp](https://github.com/chrischall/resy-mcp)\n\n> ⚠️ Resy does not publish an official API. This server uses the same private endpoints the Resy web app calls, with the public web-app `api_key` and user-level auth via email + password. Use at your own discretion.\n\n## Setup\n\n### Option A — npx (recommended)\n\nAdd to `.mcp.json` in your project or `~/.claude/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"resy\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"resy-mcp\"],\n      \"env\": {\n        \"RESY_EMAIL\": \"you@example.com\",\n        \"RESY_PASSWORD\": \"yourpassword\"\n      }\n    }\n  }\n}\n```\n\n### Option B — from source\n\n```bash\ngit clone https://github.com/chrischall/resy-mcp\ncd resy-mcp\nnpm install && npm run build\n```\n\nThen add to `.mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"resy\": {\n      \"command\": \"node\",\n      \"args\": [\"/path/to/resy-mcp/dist/bundle.js\"],\n      \"env\": {\n        \"RESY_EMAIL\": \"you@example.com\",\n        \"RESY_PASSWORD\": \"yourpassword\"\n      }\n    }\n  }\n}\n```\n\nOr place `.env` in the project directory with `RESY_EMAIL=` and `RESY_PASSWORD=`.\n\n## Authentication\n\n- `RESY_EMAIL` + `RESY_PASSWORD` are required. The client logs in lazily on first request via `POST /3/auth/password`, caches the returned token for the process lifetime, and re-logs automatically on 401 / 419 / auth-like 500 responses.\n- `RESY_API_KEY` is optional. If unset, the client uses the public web-app key baked into resy.com's JS bundle. Override only if Resy rotates it.\n\n## Tools\n\n### User\n| Tool | Description |\n|------|-------------|\n| `resy_get_profile` | Current user profile — name, email, phone, booking count, member-since. Payment method IDs are stripped. |\n| `resy_list_payment_methods` | List saved payment methods (`id`, `brand`, `last_four`, `exp_month`, `exp_year`, `is_default`). The `id` feeds `resy_book`'s `payment_method_id`. |\n\n### Venues\n| Tool | Description |\n|------|-------------|\n| `resy_search_venues(date, party_size, query?, lat?, lng?, limit?, radius_meters?)` | Search venues with availability for a date + party size. Defaults to NYC geo. |\n| `resy_find_slots(venue_id, date, party_size, lat?, lng?)` | List bookable slots at a venue — each includes a short-lived `config_token`. |\n| `resy_get_venue(venue_id)` | Full venue details. |\n\n### Reservations\n| Tool | Description |\n|------|-------------|\n| `resy_book(venue_id, date, party_size, desired_time?, lat?, lng?, payment_method_id?)` | Composite: find fresh slot → details → book. `desired_time` is \"HH:MM\" (24h); closest match wins if no exact slot. Uses default payment method unless `payment_method_id` is supplied. |\n| `resy_list_reservations(scope?)` | List reservations. `scope`: `upcoming` (default), `past`, or `all`. Each result includes the `resy_token` needed for cancellation. |\n| `resy_cancel(resy_token)` | Cancel by `resy_token` (`rr://…`). Inspects the response body to set `cancelled: true/false` honestly. |\n\n### Favorites\n| Tool | Description |\n|------|-------------|\n| `resy_list_favorites` | List favorited venues (\"hit list\"). |\n| `resy_add_favorite(venue_id)` | Add a venue to favorites. |\n| `resy_remove_favorite(venue_id)` | Remove from favorites. |\n\n### Priority Notify\n| Tool | Description |\n|------|-------------|\n| `resy_list_notify` | List Priority Notify subscriptions. |\n| `resy_add_notify(venue_id, date, party_size, time_start?, time_end?)` | Subscribe to notifications when slots open. `time_start` / `time_end` are HH:MM (24h); default window 18:00–21:00. |\n| `resy_remove_notify(notify_id)` | Cancel a Priority Notify subscription. |\n\n## Workflows\n\n**Book a specific restaurant at a specific time:**\n```\nresy_search_venues(query: \"carbone\", date: \"2026-05-01\", party_size: 2)\n  → find venue_id\nresy_book(venue_id, date: \"2026-05-01\", party_size: 2, desired_time: \"19:00\")\n```\n\n**See what's available tonight near me:**\n```\nresy_search_venues(date: \"2026-04-20\", party_size: 2, lat: 37.7749, lng: -122.4194)\n  → returns venues with baked-in slot availability\n```\n\n**Cancel a reservation:**\n```\nresy_list_reservations() → find resy_token for the one to cancel\nresy_cancel(resy_token)\n```\n\n**Stalking a hard-to-get table:**\n```\nresy_search_venues(query: \"4 charles prime rib\", ...) → venue_id\nresy_add_notify(venue_id, date: \"2026-05-31\", party_size: 2, time_start: \"19:00\", time_end: \"21:00\")\n# Resy emails you when a slot opens\n```\n\n## Notes\n\n- Slot `config_token`s expire within minutes of being fetched. `resy_book` re-fetches fresh slots internally — don't try to thread a stale token from `resy_find_slots` into a book call manually.\n- `resy_book` requires a payment method on file at resy.com/account. If none exists it throws a clear error.\n- Default geo is NYC (40.7128, -73.9876). Pass `lat`/`lng` for other cities.\n- Favorites and Priority Notify endpoint paths are reverse-engineered. If a call fails with 404, run `npm run smoke` locally against your credentials and adjust the path.\n- `RESY_API_KEY` env var overrides the baked-in public web-app key if Resy ever rotates it.\n\nFile v0.6.2:_meta.json\n\n{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"resy-mcp\",\n  \"version\": \"0.6.2\",\n  \"publishedAt\": 1785415986275\n}\n\nFile v0.6.2:skill-card.md\n\n## Description: <br>\nManage Resy restaurant reservations via MCP: search venues, book tables, list and cancel reservations, manage favorites, and subscribe to Priority Notify. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[chrischall](https://clawhub.ai/user/chrischall) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and developers use this skill to let an agent manage Resy restaurant reservations through an MCP server, including availability search, booking, cancellation, favorites, and Priority Notify subscriptions. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill can book or cancel real restaurant reservations using Resy account credentials. <br>\nMitigation: Require explicit user confirmation before any booking, cancellation, or account-state change, especially when fees or policy consequences may apply. <br>\nRisk: The skill requires Resy email and password credentials in the MCP configuration. <br>\nMitigation: Use only a Resy account the agent is intended to manage and keep credentials scoped to this MCP server configuration. <br>\nRisk: The artifact states that Resy does not publish an official API and that some endpoint paths are reverse-engineered. <br>\nMitigation: Review carefully before installation and verify behavior against the user's account before relying on booking, cancellation, favorites, or Priority Notify actions. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/chrischall/skills/resy-mcp) <br>\n- [npm package](https://www.npmjs.com/package/resy-mcp) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown with JSON configuration examples and shell command examples] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May guide an agent to call MCP tools that search, book, cancel, or modify Resy account state.] <br>\n\n## Skill Version(s): <br>\n0.6.2 (source: server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v0.6.1: 3 files, 4021 bytes\n\nFiles: skill-card.md (2278b), SKILL.md (5785b), _meta.json (127b)\n\nFile v0.6.1:SKILL.md\n\n---\nname: resy-mcp\ndescription: Manage Resy restaurant reservations via MCP — search venues, book tables, list and cancel reservations, manage favorites, and subscribe to Priority Notify. Triggers on phrases like \"book a table at\", \"find me a reservation\", \"what reservations do I have\", \"cancel my Resy\", \"add to my Resy hit list\", or any request involving restaurant reservations on Resy. Requires resy-mcp installed and the resy server registered (see Setup below).\n---\n\n# resy-mcp\n\nMCP server for Resy — natural-language restaurant reservation management. Uses Resy's private web-app API with email + password auth.\n\n- **npm:** [npmjs.com/package/resy-mcp](https://www.npmjs.com/package/resy-mcp)\n- **Source:** [github.com/chrischall/resy-mcp](https://github.com/chrischall/resy-mcp)\n\n> ⚠️ Resy does not publish an official API. This server uses the same private endpoints the Resy web app calls, with the public web-app `api_key` and user-level auth via email + password. Use at your own discretion.\n\n## Setup\n\n### Option A — npx (recommended)\n\nAdd to `.mcp.json` in your project or `~/.claude/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"resy\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"resy-mcp\"],\n      \"env\": {\n        \"RESY_EMAIL\": \"you@example.com\",\n        \"RESY_PASSWORD\": \"yourpassword\"\n      }\n    }\n  }\n}\n```\n\n### Option B — from source\n\n```bash\ngit clone https://github.com/chrischall/resy-mcp\ncd resy-mcp\nnpm install && npm run build\n```\n\nThen add to `.mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"resy\": {\n      \"command\": \"node\",\n      \"args\": [\"/path/to/resy-mcp/dist/bundle.js\"],\n      \"env\": {\n        \"RESY_EMAIL\": \"you@example.com\",\n        \"RESY_PASSWORD\": \"yourpassword\"\n      }\n    }\n  }\n}\n```\n\nOr place `.env` in the project directory with `RESY_EMAIL=` and `RESY_PASSWORD=`.\n\n## Authentication\n\n- `RESY_EMAIL` + `RESY_PASSWORD` are required. The client logs in lazily on first request via `POST /3/auth/password`, caches the returned token for the process lifetime, and re-logs automatically on 401 / 419 / auth-like 500 responses.\n- `RESY_API_KEY` is optional. If unset, the client uses the public web-app key baked into resy.com's JS bundle. Override only if Resy rotates it.\n\n## Tools\n\n### User\n| Tool | Description |\n|------|-------------|\n| `resy_get_profile` | Current user profile — name, email, phone, booking count, member-since. Payment method IDs are stripped. |\n| `resy_list_payment_methods` | List saved payment methods (`id`, `brand`, `last_four`, `exp_month`, `exp_year`, `is_default`). The `id` feeds `resy_book`'s `payment_method_id`. |\n\n### Venues\n| Tool | Description |\n|------|-------------|\n| `resy_search_venues(date, party_size, query?, lat?, lng?, limit?, radius_meters?)` | Search venues with availability for a date + party size. Defaults to NYC geo. |\n| `resy_find_slots(venue_id, date, party_size, lat?, lng?)` | List bookable slots at a venue — each includes a short-lived `config_token`. |\n| `resy_get_venue(venue_id)` | Full venue details. |\n\n### Reservations\n| Tool | Description |\n|------|-------------|\n| `resy_book(venue_id, date, party_size, desired_time?, lat?, lng?, payment_method_id?)` | Composite: find fresh slot → details → book. `desired_time` is \"HH:MM\" (24h); closest match wins if no exact slot. Uses default payment method unless `payment_method_id` is supplied. |\n| `resy_list_reservations(scope?)` | List reservations. `scope`: `upcoming` (default), `past`, or `all`. Each result includes the `resy_token` needed for cancellation. |\n| `resy_cancel(resy_token)` | Cancel by `resy_token` (`rr://…`). Inspects the response body to set `cancelled: true/false` honestly. |\n\n### Favorites\n| Tool | Description |\n|------|-------------|\n| `resy_list_favorites` | List favorited venues (\"hit list\"). |\n| `resy_add_favorite(venue_id)` | Add a venue to favorites. |\n| `resy_remove_favorite(venue_id)` | Remove from favorites. |\n\n### Priority Notify\n| Tool | Description |\n|------|-------------|\n| `resy_list_notify` | List Priority Notify subscriptions. |\n| `resy_add_notify(venue_id, date, party_size, time_start?, time_end?)` | Subscribe to notifications when slots open. `time_start` / `time_end` are HH:MM (24h); default window 18:00–21:00. |\n| `resy_remove_notify(notify_id)` | Cancel a Priority Notify subscription. |\n\n## Workflows\n\n**Book a specific restaurant at a specific time:**\n```\nresy_search_venues(query: \"carbone\", date: \"2026-05-01\", party_size: 2)\n  → find venue_id\nresy_book(venue_id, date: \"2026-05-01\", party_size: 2, desired_time: \"19:00\")\n```\n\n**See what's available tonight near me:**\n```\nresy_search_venues(date: \"2026-04-20\", party_size: 2, lat: 37.7749, lng: -122.4194)\n  → returns venues with baked-in slot availability\n```\n\n**Cancel a reservation:**\n```\nresy_list_reservations() → find resy_token for the one to cancel\nresy_cancel(resy_token)\n```\n\n**Stalking a hard-to-get table:**\n```\nresy_search_venues(query: \"4 charles prime rib\", ...) → venue_id\nresy_add_notify(venue_id, date: \"2026-05-31\", party_size: 2, time_start: \"19:00\", time_end: \"21:00\")\n# Resy emails you when a slot opens\n```\n\n## Notes\n\n- Slot `config_token`s expire within minutes of being fetched. `resy_book` re-fetches fresh slots internally — don't try to thread a stale token from `resy_find_slots` into a book call manually.\n- `resy_book` requires a payment method on file at resy.com/account. If none exists it throws a clear error.\n- Default geo is NYC (40.7128, -73.9876). Pass `lat`/`lng` for other cities.\n- Favorites and Priority Notify endpoint paths are reverse-engineered. If a call fails with 404, run `npm run smoke` locally against your credentials and adjust the path.\n- `RESY_API_KEY` env var overrides the baked-in public web-app key if Resy ever rotates it.\n\nFile v0.6.1:_meta.json\n\n{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"resy-mcp\",\n  \"version\": \"0.6.1\",\n  \"publishedAt\": 1784465178571\n}\n\nFile v0.6.1:skill-card.md\n\n## Description: <br>\nManage Resy restaurant reservations via MCP by searching venues, booking tables, listing and canceling reservations, managing favorites, and subscribing to Priority Notify. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[chrischall](https://clawhub.ai/user/chrischall) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and developers use this skill to let an agent interact with a Resy account for restaurant discovery, booking, cancellation, favorites, payment-method lookup, and Priority Notify management. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill can make live Resy account changes, including booking, cancellation, favorites, and Priority Notify updates. <br>\nMitigation: Confirm the restaurant, date, time, party size, payment or fee details, and intended account action before allowing changes. <br>\nRisk: The skill requires Resy credentials for account access. <br>\nMitigation: Keep RESY_EMAIL and RESY_PASSWORD out of shared project files and use local environment or secret storage. <br>\nRisk: The skill relies on Resy's private web-app API behavior. <br>\nMitigation: Expect endpoint changes or failures and verify actions in Resy before relying on the result. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill listing](https://clawhub.ai/chrischall/skills/resy-mcp) <br>\n- [resy-mcp npm package](https://www.npmjs.com/package/resy-mcp) <br>\n- [resy-mcp repository link declared by the artifact](https://github.com/chrischall/resy-mcp) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [guidance, configuration, shell commands] <br>\n**Output Format:** [Markdown with JSON and shell command snippets] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Includes MCP setup guidance and examples for live Resy reservation workflows.] <br>\n\n## Skill Version(s): <br>\n0.6.1 (source: server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v0.4.0: 3 files, 4079 bytes\n\nFiles: skill-card.md (2507b), SKILL.md (5785b), _meta.json (127b)\n\nFile v0.4.0:SKILL.md\n\n---\nname: resy-mcp\ndescription: Manage Resy restaurant reservations via MCP — search venues, book tables, list and cancel reservations, manage favorites, and subscribe to Priority Notify. Triggers on phrases like \"book a table at\", \"find me a reservation\", \"what reservations do I have\", \"cancel my Resy\", \"add to my Resy hit list\", or any request involving restaurant reservations on Resy. Requires resy-mcp installed and the resy server registered (see Setup below).\n---\n\n# resy-mcp\n\nMCP server for Resy — natural-language restaurant reservation management. Uses Resy's private web-app API with email + password auth.\n\n- **npm:** [npmjs.com/package/resy-mcp](https://www.npmjs.com/package/resy-mcp)\n- **Source:** [github.com/chrischall/resy-mcp](https://github.com/chrischall/resy-mcp)\n\n> ⚠️ Resy does not publish an official API. This server uses the same private endpoints the Resy web app calls, with the public web-app `api_key` and user-level auth via email + password. Use at your own discretion.\n\n## Setup\n\n### Option A — npx (recommended)\n\nAdd to `.mcp.json` in your project or `~/.claude/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"resy\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"resy-mcp\"],\n      \"env\": {\n        \"RESY_EMAIL\": \"you@example.com\",\n        \"RESY_PASSWORD\": \"yourpassword\"\n      }\n    }\n  }\n}\n```\n\n### Option B — from source\n\n```bash\ngit clone https://github.com/chrischall/resy-mcp\ncd resy-mcp\nnpm install && npm run build\n```\n\nThen add to `.mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"resy\": {\n      \"command\": \"node\",\n      \"args\": [\"/path/to/resy-mcp/dist/bundle.js\"],\n      \"env\": {\n        \"RESY_EMAIL\": \"you@example.com\",\n        \"RESY_PASSWORD\": \"yourpassword\"\n      }\n    }\n  }\n}\n```\n\nOr place `.env` in the project directory with `RESY_EMAIL=` and `RESY_PASSWORD=`.\n\n## Authentication\n\n- `RESY_EMAIL` + `RESY_PASSWORD` are required. The client logs in lazily on first request via `POST /3/auth/password`, caches the returned token for the process lifetime, and re-logs automatically on 401 / 419 / auth-like 500 responses.\n- `RESY_API_KEY` is optional. If unset, the client uses the public web-app key baked into resy.com's JS bundle. Override only if Resy rotates it.\n\n## Tools\n\n### User\n| Tool | Description |\n|------|-------------|\n| `resy_get_profile` | Current user profile — name, email, phone, booking count, member-since. Payment method IDs are stripped. |\n| `resy_list_payment_methods` | List saved payment methods (`id`, `brand`, `last_four`, `exp_month`, `exp_year`, `is_default`). The `id` feeds `resy_book`'s `payment_method_id`. |\n\n### Venues\n| Tool | Description |\n|------|-------------|\n| `resy_search_venues(date, party_size, query?, lat?, lng?, limit?, radius_meters?)` | Search venues with availability for a date + party size. Defaults to NYC geo. |\n| `resy_find_slots(venue_id, date, party_size, lat?, lng?)` | List bookable slots at a venue — each includes a short-lived `config_token`. |\n| `resy_get_venue(venue_id)` | Full venue details. |\n\n### Reservations\n| Tool | Description |\n|------|-------------|\n| `resy_book(venue_id, date, party_size, desired_time?, lat?, lng?, payment_method_id?)` | Composite: find fresh slot → details → book. `desired_time` is \"HH:MM\" (24h); closest match wins if no exact slot. Uses default payment method unless `payment_method_id` is supplied. |\n| `resy_list_reservations(scope?)` | List reservations. `scope`: `upcoming` (default), `past`, or `all`. Each result includes the `resy_token` needed for cancellation. |\n| `resy_cancel(resy_token)` | Cancel by `resy_token` (`rr://…`). Inspects the response body to set `cancelled: true/false` honestly. |\n\n### Favorites\n| Tool | Description |\n|------|-------------|\n| `resy_list_favorites` | List favorited venues (\"hit list\"). |\n| `resy_add_favorite(venue_id)` | Add a venue to favorites. |\n| `resy_remove_favorite(venue_id)` | Remove from favorites. |\n\n### Priority Notify\n| Tool | Description |\n|------|-------------|\n| `resy_list_notify` | List Priority Notify subscriptions. |\n| `resy_add_notify(venue_id, date, party_size, time_start?, time_end?)` | Subscribe to notifications when slots open. `time_start` / `time_end` are HH:MM (24h); default window 18:00–21:00. |\n| `resy_remove_notify(notify_id)` | Cancel a Priority Notify subscription. |\n\n## Workflows\n\n**Book a specific restaurant at a specific time:**\n```\nresy_search_venues(query: \"carbone\", date: \"2026-05-01\", party_size: 2)\n  → find venue_id\nresy_book(venue_id, date: \"2026-05-01\", party_size: 2, desired_time: \"19:00\")\n```\n\n**See what's available tonight near me:**\n```\nresy_search_venues(date: \"2026-04-20\", party_size: 2, lat: 37.7749, lng: -122.4194)\n  → returns venues with baked-in slot availability\n```\n\n**Cancel a reservation:**\n```\nresy_list_reservations() → find resy_token for the one to cancel\nresy_cancel(resy_token)\n```\n\n**Stalking a hard-to-get table:**\n```\nresy_search_venues(query: \"4 charles prime rib\", ...) → venue_id\nresy_add_notify(venue_id, date: \"2026-05-31\", party_size: 2, time_start: \"19:00\", time_end: \"21:00\")\n# Resy emails you when a slot opens\n```\n\n## Notes\n\n- Slot `config_token`s expire within minutes of being fetched. `resy_book` re-fetches fresh slots internally — don't try to thread a stale token from `resy_find_slots` into a book call manually.\n- `resy_book` requires a payment method on file at resy.com/account. If none exists it throws a clear error.\n- Default geo is NYC (40.7128, -73.9876). Pass `lat`/`lng` for other cities.\n- Favorites and Priority Notify endpoint paths are reverse-engineered. If a call fails with 404, run `npm run smoke` locally against your credentials and adjust the path.\n- `RESY_API_KEY` env var overrides the baked-in public web-app key if Resy ever rotates it.\n\nFile v0.4.0:_meta.json\n\n{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"resy-mcp\",\n  \"version\": \"0.4.0\",\n  \"publishedAt\": 1779986631255\n}\n\nFile v0.4.0:skill-card.md\n\n## Description: <br>\nManage Resy restaurant reservations via MCP, including venue search, booking, reservation listing and cancellation, favorites, and Priority Notify subscriptions. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[chrischall](https://clawhub.ai/user/chrischall) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and developers use this skill to connect an agent to a Resy MCP server so it can search venues, book or cancel reservations, manage favorites, and create Priority Notify subscriptions for a Resy account. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill can make live changes to a Resy account, including booking and canceling reservations, changing favorites, and managing Priority Notify subscriptions. <br>\nMitigation: Require explicit user confirmation of venue, date, time, party size, payment method use, and action type before any booking, cancellation, favorite change, or Priority Notify change. <br>\nRisk: The skill requires Resy email and password credentials for the MCP server. <br>\nMitigation: Store credentials only in trusted local MCP configuration or environment storage, restrict access to that configuration, and rotate credentials if they are exposed. <br>\nRisk: The underlying server uses Resy's private web-app API, which may change or fail without notice. <br>\nMitigation: Confirm important reservation state in Resy after high-impact actions and treat endpoint failures as requiring manual review. <br>\n\n\n## Reference(s): <br>\n- [ClawHub release page](https://clawhub.ai/chrischall/resy-mcp) <br>\n- [resy-mcp npm package](https://www.npmjs.com/package/resy-mcp) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Markdown, Shell commands, Configuration, Guidance] <br>\n**Output Format:** [Markdown guidance with JSON MCP configuration examples and shell command snippets] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May trigger live Resy account actions through an installed MCP server when configured with Resy credentials.] <br>\n\n## Skill Version(s): <br>\n0.4.0 (source: ClawHub release metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>","readmeExcerpt":"Skill: Tmp.6swodUvLYL Owner: chrischall Summary: Manage Resy restaurant reservations via MCP — search venues, book tables, list and cancel reservations, manage favorites, and subscribe to Priority Notify. Triggers on phrases like \"book a table at\", \"find me a reservation\", \"what reservations do I have\", \"cancel my Resy\", \"add to my Resy hit list\", or any request involving restaurant reservations on Resy. Requires res","codeSnippets":[],"executableExamples":[{"language":"json","snippet":"{\n  \"mcpServers\": {\n    \"resy\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"resy-mcp\"],\n      \"env\": {\n        \"RESY_EMAIL\": \"you@example.com\",\n        \"RESY_PASSWORD\": \"yourpassword\"\n      }\n    }\n  }\n}"},{"language":"bash","snippet":"git clone https://github.com/chrischall/resy-mcp\ncd resy-mcp\nnpm install && npm run build"},{"language":"json","snippet":"{\n  \"mcpServers\": {\n    \"resy\": {\n      \"command\": \"node\",\n      \"args\": [\"/path/to/resy-mcp/dist/bundle.js\"],\n      \"env\": {\n        \"RESY_EMAIL\": \"you@example.com\",\n        \"RESY_PASSWORD\": \"yourpassword\"\n      }\n    }\n  }\n}"},{"language":"text","snippet":"resy_search_venues(query: \"carbone\", date: \"2026-05-01\", party_size: 2)\n  → find venue_id\nresy_book(venue_id, date: \"2026-05-01\", party_size: 2, desired_time: \"19:00\")"},{"language":"text","snippet":"resy_search_venues(date: \"2026-04-20\", party_size: 2, lat: 37.7749, lng: -122.4194)\n  → returns venues with baked-in slot availability"},{"language":"text","snippet":"resy_list_reservations() → find resy_token for the one to cancel\nresy_cancel(resy_token)"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: resy-mcp\ndescription: Manage Resy restaurant reservations via MCP — search venues, book tables, list and cancel reservations, manage favorites, and subscribe to Priority Notify. Triggers on phrases like \"book a table at\", \"find me a reservation\", \"what reservations do I have\", \"cancel my Resy\", \"add to my Resy hit list\", or any request involving restaurant reservations on Resy. Requires resy-mcp installed and the resy server registered (see Setup below).\n---\n\n# resy-mcp\n\nMCP server for Resy — natural-language restaurant reservation management. Uses Resy's private web-app API with email + password auth.\n\n- **npm:** [npmjs.com/package/resy-mcp](https://www.npmjs.com/package/resy-mcp)\n- **Source:** [github.com/chrischall/resy-mcp](https://github.com/chrischall/resy-mcp)\n\n> ⚠️ Resy does not publish an official API. This server uses the same private endpoints the Resy web app calls, with the public web-app `api_key` and user-level auth via email + password. Use at your own discretion.\n\n## Setup\n\n### Option A — npx (recommended)\n\nAdd to `.mcp.json` in your project or `~/.claude/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"resy\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"resy-mcp\"],\n      \"env\": {\n        \"RESY_EMAIL\": \"you@example.com\",\n        \"RESY_PASSWORD\": \"yourpassword\"\n      }\n    }\n  }\n}\n```\n\n### Option B — from source\n\n```bash\ngit clone https://github.com/chrischall/resy-mcp\ncd resy-mcp\nnpm install && npm run build\n```\n\nThen add to `.mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"resy\": {\n      \"command\": \"node\",\n      \"args\": [\"/path/to/resy-mcp/dist/bundle.js\"],\n      \"env\": {\n        \"RESY_EMAIL\": \"you@example.com\",\n        \"RESY_PASSWORD\": \"yourpassword\"\n      }\n    }\n  }\n}\n```\n\nOr place `.env` in the project directory with `RESY_EMAIL=` and `RESY_PASSWORD=`.\n\n## Authentication\n\n- `RESY_EMAIL` + `RESY_PASSWORD` are required. The client logs in lazily on first request via `POST /3/auth/password`, caches the returned token for the process lifetime, and re-logs automatically on 401 / 419 / auth-like 500 responses.\n- `RESY_API_KEY` is optional. If unset, the client uses the public web-app key baked into resy.com's JS bundle. Override only if Resy rotates it.\n\n## Tools\n\n### User\n| Tool | Description |\n|------|-------------|\n| `resy_get_profile` | Current user profile — name, email, phone, booking count, member-since. Payment method IDs are stripped. |\n| `resy_list_payment_methods` | List saved payment methods (`id`, `brand`, `last_four`, `exp_month`, `exp_year`, `is_default`). The `id` feeds `resy_book`'s `payment_method_id`. |\n\n### Venues\n| Tool | Description |\n|------|-------------|\n| `resy_search_venues(date, party_size, query?, lat?, lng?, limit?, radius_meters?)` | Search venues with availability for a date + party size. Defaults to NYC geo. |\n| `resy_find_slots(venue_id, date, party_size, lat?, lng?)` | List bookable slots at a venue — each includes a short-lived `config_token`. |\n| `resy_get_venue(venue_id)` | Full venue de"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"resy-mcp\",\n  \"version\": \"0.6.3\",\n  \"publishedAt\": 1785977013407\n}"},{"path":"skill-card.md","content":"## Description:\n\nManage Resy restaurant reservations via MCP by searching venues, booking tables, listing and canceling reservations, managing favorites, and subscribing to Priority Notify.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[chrischall](https://clawhub.ai/user/chrischall)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to connect an agent to a Resy MCP server for natural-language restaurant reservation workflows, including finding availability, booking, canceling, favorites, and Priority Notify subscriptions.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill asks users to run an unpinned MCP package with live account access.\n\nMitigation: Prefer a pinned, reviewed local install over npx -y before connecting credentials.\n\nRisk: Resy credentials are required and could be exposed if stored in project files or source control.\n\nMitigation: Store credentials outside shared project files, keep them out of source control, and restrict file permissions.\n\nRisk: The MCP server can make real account changes, including bookings, cancellations, favorites, and Priority Notify subscriptions.\n\nMitigation: Require explicit user confirmation before actions that book, cancel, change favorites, or create notification subscriptions.\n\nRisk: The server uses private Resy web-app endpoints that may change without notice.\n\nMitigation: Review failures carefully and revalidate behavior before relying on affected reservation workflows.\n\n## Reference(s):\n\n- [resy-mcp source repository](https://github.com/chrischall/resy-mcp)\n- [resy-mcp npm package](https://www.npmjs.com/package/resy-mcp)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Shell commands, Configuration, Guidance]\n\n**Output Format:** [Markdown with JSON and bash code blocks]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May initiate live Resy account actions through the configured MCP server.]\n\n## Skill Version(s):\n\n0.6.3 (source: release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Manage Resy restaurant reservations via MCP — search venues, book tables, list and cancel reservations, manage favorites, and subscribe to Priority Notify. Triggers on phrases like \"book a table at\", \"find me a reservation\", \"what reservations do I have\", \"cancel my Resy\", \"add to my Resy hit list\", or any request involving restaurant reservations on Resy. Requires resy-mcp installed and the resy server registered (see Setup below). Skill: Tmp.6swodUvLYL Owner: chrischall Summary: Manage Resy restaurant reservations via MCP — search venues, book tables, list and cancel reservations, manage favorites, and subscribe to Priority Notify. Triggers on phrases like \"book a table at\", \"find me a reservation\", \"what reservations do I have\", \"cancel my Resy\", \"add to my Resy hit list\", or any request involving restaurant reservations on Resy. Requires res","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1186,"uniquenessScore":46,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T22:35:51.473Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-09T22:35:51.473Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T08:44:56.553Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}