Validate, analyze, import and publish human-executed, resource-constrained schedules as Model Context Protocol tools. Supports cooking, lab protocols, events, and workouts with streamable HTTP and multiple vertical endpoints.
Rhylthyme MCP has 25 tools with consistent naming patterns (verb-noun structure: validate_program, analyze_schedule, visualize_schedule, etc.). Descriptions range from 73 - 356 characters, mostly in the good range (10 - 1024 char target). Input schemas are visible and use proper JSON Schema with type declarations. However, several critical gaps reduce the score: (1) Parameter descriptions are sparse or missing entirely, most tools have 1-2 params but lack per-parameter descriptions explaining what values are accepted or what format is expected. (2) Output schemas are undocumented, no tool declares what it returns, forcing LLMs to guess the response structure. (3) Error handling is minimal, no evidence of recovery guidance, categorization, or actionable error messages. (4) Some parameters use string type without enum constraints where they should (e.g., 'environmentType' tools could better constrain vertical values). (5) The 'token' parameter is passed explicitly in tool params (tools 9-12, 22-24), violating the secret-injection pattern, tokens should be server-side injected, not exposed in traces. (6) Some tools conflate multiple concerns (e.g., 'import_from_source' handles search, import, and random actions in one tool). These issues are systematic across the toolset, preventing an A or B grade despite otherwise solid naming and basic schema presence.
Analyze a validated program to extract timing, dependencies, resource conflicts, and critical path. Returns metrics about duration, parallelism, and constraint satisfaction.
Use historical run data to refine duration estimates and constraints for a program. Applies machine-learning-assisted timing prediction from prior executions.
[kitchen vertical only] One-shot: find the best-matching public recipe by name or keyword and return a live cooking timeline URL ready to follow. Use when the user wants to cook something specific without browsing alternatives.
Set up or update the execution environment for a program: kitchen facilities, lab equipment, event crew, or gym setup. Configures resource constraints and availability.
Fetch the JavaScript source code for the timeline renderer, which can be used client-side to render Rhylthyme timelines without a server round-trip.
Output schemas completely undocumented across all 25 tools. LLMs cannot determine what fields to extract or how to chain results.
Token parameters are exposed as tool inputs (tools 9, 10, 11, 12, 22, 23, 24). Tokens are secrets and should be server-side injected via headers or environment, never passed in tool parameters. This violates the secret-injection pattern and leaks credentials into agent traces and logs.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 66 | 2026-07-28+ | v2 |
Import a program from external sources (Benchling, protocols.io, Opentrons, or pasted markdown/JSON text). Handles multi-step LLM-assisted conversion with model iterations.
Convert pasted markdown, plain text, or JSON directly into a Rhylthyme program using multi-turn LLM-assisted conversion. Handles recipes, protocols, event agendas, and workout descriptions.
List all programs belonging to the signed-in user. Returns program IDs, names, and metadata.
List execution records for a program. Returns run IDs, timestamps, outcomes, and duration data for timing analysis.
Load the full definition of one of the user's saved programs by ID.
Load the full program definition of a published recipe, protocol, or template by ID or name from the public catalog.
Load the detailed execution record of a single run, including step-by-step timings and outcomes.
Obtain or refresh a Rhylthyme account access token. Returns a token for use in subsequent tool calls that require authentication.
[events vertical only] One-shot: find or create an event run-of-show by name/description and return a live timeline URL. Use when the user wants to plan an event, conference, wedding, or performance schedule.
Preview an unpublished program as a live timeline without saving it. Returns a temporary preview URL with the timeline ready to follow.
[events vertical only] Surprise the user with a random event template from the catalog. Use when they want inspiration or need a quick event structure.
[lab vertical only] Surprise the user with a random lab protocol from the Rhylthyme catalog. Use when the user asks for a random experiment or wants to discover new techniques.
[lab vertical only] One-shot: find the best-matching public lab protocol by name/keyword and return a live timeline URL ready to follow at the bench. Use when the user wants to start a specific experiment without browsing alternatives.
Save or update a program in the user's account. Returns the saved program ID and version.
Search the Rhylthyme public catalog for published recipes, lab protocols, event templates, or workout programs by name or keyword. Returns matching programs with summaries and URLs.
[gym vertical only] One-shot: find a workout program by name/type and return a live timeline URL ready to follow. Use when the user wants to start a specific workout, HIIT, or training session.
[gym vertical only] Surprise the user with a random workout from the Rhylthyme training catalog. Use when they say 'surprise me', 'what should I do', or ask for a random workout idea.
Validate a Rhylthyme program against the schema. Checks structure, references, constraints, and returns detailed error reports or a clean bill of health.
Generate a live timeline visualization URL for a validated program. Returns an interactive Gantt-style timeline that users can follow in real time, with track-based layout, duration bars, and resource allocation.
[kitchen vertical only] Surprise the user with a random recipe from the Rhylthyme kitchen catalog. Use when the user says 'what should I cook tonight', 'surprise me', 'I can't decide what to make', or asks for a recommendation without specifics.
Per-parameter descriptions are sparse or missing entirely across most tools. 23 out of 25 tools have at least one parameter lacking a description explaining its format, constraints, or purpose. LLMs cannot reason about parameter choices without explicit guidance.
No error handling guidance documented. Tools do not declare what errors can occur, whether they are retryable, or how LLMs should recover. Example: login() could fail with 'invalid credentials' or 'email not found', no guidance on how to proceed.
Enum constraints missing or under-utilized. Many parameters that should be constrained accept free-form strings. Examples: 'query' params in cook_recipe, run_protocol, plan_event, start_workout are strings with no validation; LLMs could pass nonsense values.
Tool 'import_from_source' conflates multiple concerns: search, import, and random actions are all one tool. This violates single-responsibility principle, should be split into search_external_source, import_external_source, and random_external_source.
Pagination not addressed. Tools like 'list_my_programs' and 'search_public_recipes' return lists but have no limit, offset, or cursor parameters. Large result sets will blow the context window; LLMs need pagination control.