add the public connector
No account required. Search showtimes, return seat maps, create calendar files, and hand off to Yorck checkout.
A public connector for showtimes and seat maps, plus a local private MCP that can book Yorck Unlimited tickets after confirmation.
Paste the bootstrap prompt. It sends Claude Code to the GitHub repo, loads the skill, adds the Yorck MCP server, and smoke-tests the CLI.
The connector gives tools. The skill teaches the model how to use them: when to search, when to return a checkout link, when to render SVG, and when to fall back to inline HTML.
No account required. Search showtimes, return seat maps, create calendar files, and hand off to Yorck checkout.
Claude Code reads the repo, installs the skill, adds the MCP server, and tests a search command.
Use your own Yorck email, password, and Unlimited card. Booking remains confirmation-gated.
Plan a movie, render a seat map as HTML, and open the result locally.
This is the install story for developers: do not manually copy six snippets. Give Claude Code the setup prompt and let it wire the repo, skill, MCP server, and smoke test.
curl -fsSL https://yorck-mcp.isiklimahir.workers.dev/claude-code-prompt.md# Install the Yorck Movie Agent in Claude Code
You are helping me install the Yorck Movie Agent from the public repo and npm package.
Public repo:
https://github.com/Mahir-Isikli/yorck-mcp
Install page:
https://yorck-mcp.isiklimahir.workers.dev
NPM package:
```bash
npx -y yorck-mcp@latest
```
Please do the following:
1. Read the public repo README or install page so you understand the package.
2. Install the Claude Code skill locally:
```bash
npx -y yorck-mcp@latest install-skill --target claude
```
3. Add the public read-only MCP server to Claude Code:
```bash
claude mcp add --transport http yorck https://yorck-mcp.isiklimahir.workers.dev/public/mcp
```
4. Smoke-test the CLI:
```bash
npx -y yorck-mcp@latest whats-on --when tonight --after 18:00 --limit 3
```
5. If I ask for a seat map and SVG/image output does not render in this environment, use the HTML fallback:
```bash
npx -y yorck-mcp@latest seat-map-html <session-id> --out seat-map.html
open seat-map.html
```
6. If I want private automated booking, do not collect secrets into chat. Instead explain that I should configure the local MCP with environment variables:
```bash
claude mcp add --transport stdio \
--env YORCK_EMAIL=you@example.com \
--env YORCK_PASSWORD=your-password \
--env YORCK_UNLIMITED_CARD=your-card-number \
yorck-private -- npx -y yorck-mcp@latest mcp-stdio
```
7. Never claim a ticket was booked or a calendar event was created unless a tool actually succeeded. Booking must require explicit confirmation.
After installing, tell me exactly what you changed and how to test it with one prompt like: "find original-language Yorck movies tonight after 7 and show me the best seat map".Everything stays copyable. Public mode is read-only. Private mode runs locally with environment variables.
https://yorck-mcp.isiklimahir.workers.dev/public/mcp
https://yorck-mcp.isiklimahir.workers.dev/skill.zip
claude mcp add --transport http yorck https://yorck-mcp.isiklimahir.workers.dev/public/mcp
npx -y yorck-mcp install-skill --target claude
claude mcp add --transport stdio \ --env YORCK_EMAIL=you@example.com \ --env YORCK_PASSWORD=your-password \ --env YORCK_UNLIMITED_CARD=your-card-number \ yorck-private -- npx -y yorck-mcp mcp-stdio
npx -y yorck-mcp plan --q "devil wears prada" --when tonight --after 18:00 npx -y yorck-mcp seat-map-html <session-id> --out seat-map.html open seat-map.html
Different agent surfaces handle rich output differently. The skill tells the model which output to choose so a seat map is still useful in Claude Web, Claude Code, and plain terminals.
Use this when the client can display SVG or image content. It returns structured rows and an SVG seat map.
Use this in Claude Code or text-first clients when SVG does not render. Save the HTML and open it locally.
When booking is not configured, return Yorck's checkout URL so the user can finish manually as guest or with their account.
Install this alongside the MCP server. It teaches the agent the tool order, public vs private behavior, and the fallback path for seat maps.
--- name: yorck-movie-agent description: >- Plan movie nights with Yorck Berlin cinema. Use when the user asks for movie showtimes, seat maps, checkout links, calendar files, or booking through the yorck-mcp connector/CLI. Handles Claude Web remote MCP, Claude Code local MCP, inline HTML fallbacks, and confirmation-gated booking. --- # Yorck Movie Agent Use this skill when a user asks for Berlin Yorck movie planning, seat maps, direct checkout links, calendar files, or booking via the Yorck MCP/CLI. ## Available install modes ### Claude Web / Claude connectors Remote read-only MCP endpoint: ```txt https://yorck-mcp.isiklimahir.workers.dev/public/mcp ``` Use this when Claude Web, Claude Desktop connectors, Cowork, or mobile can add a custom connector. It is public and read-only: showtimes, films, cinemas, seat maps, calendar files, and checkout links. It does not book. ### Claude Code / local agents Public/local MCP: ```bash claude mcp add --transport stdio yorck -- npx -y yorck-mcp mcp-stdio ``` Private local MCP with booking credentials: ```bash claude mcp add --transport stdio \ --env YORCK_EMAIL=you@example.com \ --env YORCK_PASSWORD=your-password \ --env YORCK_UNLIMITED_CARD=your-card-number \ yorck -- npx -y yorck-mcp mcp-stdio ``` ### Terminal CLI ```bash npx -y yorck-mcp whats-on --when tonight --after 18:00 npx -y yorck-mcp plan --q "devil wears prada" --when tonight --after 18:00 npx -y yorck-mcp seat-map <session-id> --out seat-map.svg npx -y yorck-mcp calendar <session-id> <film-slug> --out movie.ics ``` ## Tool use policy Prefer tools in this order: 1. `pick_showtime`, when the user wants one good movie plan or a direct checkout link. 2. `whats_on`, when the user wants multiple options. 3. `find_film` then `showtimes`, when the user has a specific film title. 4. `seat_map`, when the environment can render or display SVG/image content. 5. `seat_map_html`, when SVG/image content will not display, such as some Claude Code text-only surfaces. 6. `add_to_calendar`, only when the user wants an ICS/calendar file. 7. `book_session`, only in private/local mode after explicit confirmation. ## Seat map output by environment ### If images/SVG render correctly Use `seat_map`. It returns structured rows plus an SVG image. ### If SVG does not render Use `seat_map_html` and show or save the inline HTML. If the client cannot open inline HTML directly, write the HTML to a local file and tell the user to open it. In Claude Code, prefer: ```bash npx -y yorck-mcp seat-map-html <session-id> --out seat-map.html open seat-map.html ``` ### If neither SVG nor HTML is possible Use the structured rows from `seat_map` or `pick_showtime` and summarize: - film - cinema - time - format - available row labels and available seat IDs - direct checkout URL Do not pretend API seat IDs are exactly the same as the visible Yorck website labels. If the user books manually, have them choose seats on Yorck's page. ## Public vs private behavior Public mode needs no account. It can: - search showtimes - list cinemas - render seat maps - create ICS calendar files - return direct checkout links Private/local mode can book with credentials. It currently supports Yorck Unlimited booking. Paid checkout should be completed on Yorck's own page using the direct checkout link. ## Safety rules - Never claim a booking was made unless `book_session` returned success. - Never claim a calendar event was added unless a calendar tool actually succeeded. - Ask for explicit confirmation before booking. - Treat `dryRun: true` as the default for booking tests. - If no Unlimited card is configured, use `pick_showtime` and provide the checkout link. ## Example prompts this skill should handle - "what original-language movies are playing tonight after 7?" - "show me a seat map for this Yorck session" - "give me an inline HTML seat map because SVG is not rendering" - "plan a low-stress movie night for me" - "book the best option if my Unlimited card makes it free"