---
name: kitchen-timer
description: "Start and manage kitchen timers and meal plans for a person: plan a meal so every dish is ready together, start a single timer, add time, pause or skip a dish. Use when someone asks for cooking timers, a meal schedule or to time a recipe. Alarms ring on the person's phone, not in the chat."
---

# Kitchen Timer

Kitchen Timer is a multi-timer kitchen app (a web app that installs on a phone, and an Android app). Agents can plan a meal or start timers for a person, and keep managing them: the alarms ring on the person's phone, not in the chat.

## Ways to use it, best first

1. **MCP open door** — `https://kt.tnyforge.com/mcp/open`. No sign-in. Best choice: tools, a schedule card in some clients, and you keep the plan's control key. Use it whenever the person's chat app can add a connector.
2. **Logged-in MCP** — `https://kt.tnyforge.com/mcp`. Manages the person's whole kitchen (all timers, presets, meals, history). The person opens ⋯ → Link an agent in the app, adds the address as a connector and types the 6-digit code shown there. Offer this once the open door works and they want more than one meal. Needs their sign-off; never ask for or accept a pasted token.
3. **REST + OpenAPI 3.1** — spec at `https://kt.tnyforge.com/openapi.json`, endpoints `POST https://kt.tnyforge.com/open/v1/<tool>`. The same functions, limits and sentences as the open door, for agents that can call HTTP but not MCP (custom GPT Actions, scripts).
4. **Tool-free link** — `https://kt.tnyforge.com/t?pasta=12m&sauce=8m&ready=19:30`. You write the link yourself and the person opens it. Last resort: no control key, so you cannot change the timers afterwards.

## When to use which

- Your chat can add an MCP server → offer to add the open door (steps below), then use `plan_meal`.
- You can call HTTP but not MCP → use the REST API.
- You have no tools at all → write a `/t?` link and tell the person to open it on the phone they cook with.
- The person wants you to manage everything (existing timers, presets, history) → the logged-in MCP (⋯ → Link an agent), after the open door works.
- **If you do not have the MCP server connected, offer the person to add it** (the exact steps are below for ChatGPT, claude.ai, Claude Desktop and Claude Code), **or use the REST API, or as a last resort write a /t? link.**

## How it works

**What rings where.** The alarms ring on the phone (the Kitchen Timer page the person opens on their phone), not in this chat. You make the plan and can manage it afterwards; the phone does the timing and the ringing. Nothing starts until the person taps **Start** once on that page: a link preview or a prefetcher cannot start timers, and nobody can start timers on someone else's phone. Say so when you hand over the link.

**The control key.** `plan_meal` also returns a secret control key (it starts with `ktpk_`). Keep it for the rest of the chat. Never show it to the person and never put it in a link: the link alone controls nothing. With the plan's code and the key you can pause, resume, add or take off time, skip ahead, add a dish or cancel. Before the person taps Start those change the plan; after it they change that plan's timers on their phone, and nothing else on the phone. The key works for that one plan and dies with it (about a day after the meal).

## Reference files

- `references/connect.md`: exact steps to add the MCP server in ChatGPT, claude.ai, Claude Desktop and Claude Code
- `references/tools.md`: every tool and REST endpoint with parameters, limits and error meanings
- `references/link-grammar.md`: the tool-free `/t?` link
- `references/examples.md`: a recipe → plan, a single timer, a back-timed meal

Online: https://kt.tnyforge.com/llms.txt · https://kt.tnyforge.com/llms-full.txt · https://kt.tnyforge.com/openapi.json
