_ registry / mcp http-sse · checked 3h ago

rhylthyme-mcp

https://mcp.rhylthyme.com

Registry code: e3f581a161edb054

api record

Rhylthyme schedules any real-time, multi-track process — cooking, lab protocols, event run-of-shows, workouts, manufacturing, turnarounds. A "program" is JSON: parallel **tracks** of sequential **steps**, each with a duration and a startTrigger (programStart / afterStep / programStartOffset / afterStepWithBuffer / manual), plus **resourceConstraints** (e.g. one oven) that the live runner enforces.

Workflow:

endpoint
https://mcp.rhylthyme.com/mcp
protocol
http-sse ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is rhylthyme-mcp live?
Yes — it answered the hub's last check (checked 3h ago). It answered 99% of checks over the last 30 days.
Is rhylthyme-mcp free to use?
Partly — some of its tools are open, others need a key or payment.
What tools does rhylthyme-mcp have?
20 tools: list_runs, load_run, save_program, validate_program, analyze_schedule, visualize_schedule, import_text, create_environment, ….
Is rhylthyme-mcp safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
99.2%

90 days 99%· all time 99%

latency
666ms

last good check

priced tools
0

of 20 tools

_ answered our checks, 90 days 381 checks · signed record
  • degraded → live
  • live → degraded· timeout after 20000ms
  • degraded → live
  • live → degraded· timeout after 20000ms
  • degraded → live
_ what it is for
used for
  • schedule a multi-track process
  • import a recipe or protocol into a timeline
  • analyse critical path and resource conflicts
  • publish a shareable live timeline
  • save a program
takes → gives
text, data, web pages → data, images
tools
12 reads7 changes data
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 20 tools
3 open4 auth-required 13 never probed 7 of 20 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • get_renderer_source reads open 24h ago

    Return the open-source timeline renderer's JavaScript (Apache-2.0, about 90 KB, no dependencies) for an HTML page or artifact that cannot load external scripts; it defines Rhylthyme.renderTimeline(container, program).

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {}
    }
    arguments 5 lines
  • search_public_recipes reads open 7h ago

    Search the public catalog of recipes, lab protocols, event templates and workouts by name or keyword. Returns ids, names, descriptions and URLs; no account needed.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "limit": {
          "type": "integer",
          "default": 20,
          "maximum": 50,
          "minimum": 1
        },
        "query": {
          "type": "string",
          "default": "",
          "description": "Keyword; matches name and description. Empty returns the newest entries."
        },
        "environment": {
          "enum": [
            "kitchen",
            "laboratory",
            "gym",
            "event",
            "events"
          ],
          "type": "string",
          "default": "kitchen",
          "description": "Which catalog: kitchen (default), laboratory, event or gym."
        }
      }
    }
    arguments 29 lines
  • login changes data open 7h ago

    For apps that cannot connect the Rhylthyme account directly: returns a sign-in URL, then accepts the pasted token. Only the user's own saved programs, runs and imports need it; everything public works without. Tokens last about an hour.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "token": {
          "type": "string",
          "description": "The token from the login page. Leave empty on the first call to get the sign-in URL."
        }
      }
    }
    arguments 10 lines
  • list_my_programs reads auth-required 24h ago

    List the user's saved programs. Needs the user's Rhylthyme account.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "token": {
          "type": "string",
          "description": "Access token from the login tool. Omit when the account is connected."
        }
      }
    }
    arguments 10 lines
  • load_program reads auth-required 15h ago

    Open one of the user's saved programs by id: summary plus live-timeline URL. Needs the user's Rhylthyme account.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "program_id"
      ],
      "properties": {
        "token": {
          "type": "string",
          "description": "Access token from the login tool. Omit when the account is connected."
        },
        "program_id": {
          "type": "string",
          "description": "Program UUID from list_my_programs."
        }
      }
    }
    arguments 17 lines
  • review_program reads auth-required 15h ago

    A model reads an imported program against its source and reports what looks wrong: a default duration on "simmer for an hour", a step the importer dropped, steps chained that could overlap, a total that disagrees with the source. Changes nothing; returns findings to show the user. Needs the user's Rhylthyme account.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "program"
      ],
      "properties": {
        "token": {
          "type": "string",
          "description": "Access token from the login tool. Omit when the account is connected."
        },
        "program": {
          "type": "object",
          "properties": {},
          "description": "Program JSON; shape under validate_program.",
          "additionalProperties": {}
        },
        "source_url": {
          "type": "string",
          "description": "Its URL, when the text is not to hand."
        },
        "source_text": {
          "type": "string",
          "description": "The source text (recipe, protocol), if you have it."
        }
      }
    }
    arguments 27 lines
  • calibrate_program changes data auth-required 7h ago

    Propose durations for a saved program from its recorded runs: median as the default, P10 to P90 as the range, at least as wide as the author's, with the evidence per step and the effect on total length. Saves nothing; with `accept` it returns the calibrated program. Needs the user's Rhylthyme account.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "k": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 1,
          "description": "Measurements a step needs for a proposal (default 5)."
        },
        "since": {
          "type": "string",
          "description": "Only runs started on or after this date (YYYY-MM-DD or ISO)."
        },
        "token": {
          "type": "string",
          "description": "Access token from the login tool. Omit when the account is connected."
        },
        "accept": {
          "anyOf": [
            {
              "type": "string",
              "const": "all"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ],
          "description": "Step ids to accept, or \"all\": also returns the calibrated program. Nothing is saved either way."
        },
        "history": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {},
            "additionalProperties": {}
          },
          "description": "Run records to use instead of the stored ones."
        },
        "program": {
          "type": "object",
          "properties": {},
          "description": "Program JSON to calibrate; omit to use program_id's saved JSON.",
          "additionalProperties": {}
        },
        "program_id": {
          "type": "string",
          "description": "Saved program UUID whose recorded runs are the evidence."
        }
      }
    }
    arguments 54 lines
  • list_runs reads unknown never probed

    List recorded runs of a saved program: when, how it ended, actual against planned length. For 'how long did this take last time?'. Needs the user's Rhylthyme account.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "program_id"
      ],
      "properties": {
        "token": {
          "type": "string",
          "description": "Access token from the login tool. Omit when the account is connected."
        },
        "program_id": {
          "type": "string",
          "description": "Program UUID from list_my_programs."
        }
      }
    }
    arguments 17 lines
  • load_run reads unknown never probed

    Open one recorded run: planned against actual timing per step, what ended each step, pauses. Shows where a plan drifts. Needs the user's Rhylthyme account.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "run_id"
      ],
      "properties": {
        "token": {
          "type": "string",
          "description": "Access token from the login tool. Omit when the account is connected."
        },
        "run_id": {
          "type": "string",
          "description": "Run UUID from list_runs."
        }
      }
    }
    arguments 17 lines
  • save_program changes data unknown never probed

    Save a program to the user's account ('save this for later'); the same programId updates it. Needs the user's Rhylthyme account.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "program"
      ],
      "properties": {
        "token": {
          "type": "string",
          "description": "Access token from the login tool. Omit when the account is connected."
        },
        "program": {
          "type": "object",
          "properties": {},
          "description": "Program JSON; shape under validate_program.",
          "additionalProperties": {}
        }
      }
    }
    arguments 19 lines
  • validate_program reads unknown 22h ago

    Check a program before publishing or saving it: ids, dangling or cyclic triggers, steps overlapping in a track, tasks with no resourceConstraint, durations, replicates/instances misuse. Every finding has a code, a message and a suggested fix. Pure computation.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "program"
      ],
      "properties": {
        "program": {
          "type": "object",
          "properties": {},
          "description": "Program JSON: {programId, name, environmentType?, actors?, tracks: [{trackId, name, steps: [{stepId (unique program-wide), name, task?, duration, startTrigger, replicates?, choice?}]}], resourceConstraints: [{task, maxConcurrent}], metadata?}. duration: {type:'fixed', seconds} | {type:'variable', minSeconds, maxSeconds, defaultSeconds} | {type:'indefinite', defaultSeconds}; seconds are numbers or strings like '5m', '1h30m'. startTrigger: {type:'programStart'} | {type:'programStartOffset', offsetSeconds} | {type:'afterStep', stepId, offsetSeconds?, event?:'start', instances?:'each'|'all'} | {type:'afterStepWithBuffer', stepId, bufferSeconds} | {type:'manual'}. Steps in one track never overlap; every task needs a resourceConstraint. Rules and examples: rhylthyme://guide/authoring; full schema: rhylthyme://schema/program.",
          "additionalProperties": {}
        }
      }
    }
    arguments 15 lines
  • analyze_schedule reads unknown 22h ago

    Put a program on the clock: each step's start and end, total length, the critical path and what gates it, resource conflicts, slack per track. Pass finishAt to answer 'when do I start X so everything is ready at 6pm?'. Pure computation. With `history` (run records) or `program_id` it also predicts durations from recorded runs.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "program"
      ],
      "properties": {
        "token": {
          "type": "string",
          "description": "Access token from the login tool. Omit when the account is connected."
        },
        "history": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {},
            "additionalProperties": {}
          },
          "description": "Recorded runs of this program (from load_run); adds predicted durations."
        },
        "program": {
          "type": "object",
          "properties": {},
          "description": "Program JSON; shape under validate_program.",
          "additionalProperties": {}
        },
        "startAt": {
          "type": "string",
          "description": "ISO 8601 start datetime. Ignored with finishAt."
        },
        "finishAt": {
          "type": "string",
          "description": "ISO 8601 datetime everything must END at, e.g. '2026-11-26T18:00:00-05:00'. Start times are worked backwards from it."
        },
        "program_id": {
          "type": "string",
          "description": "Saved program UUID: loads the user's own recorded runs as the history."
        },
        "useDurations": {
          "enum": [
            "planned",
            "predicted"
          ],
          "type": "string",
          "default": "planned",
          "description": "planned (default): analyse the program as authored. predicted: as the history says it will run."
        },
        "predictionContext": {
          "type": "object",
          "properties": {},
          "description": "Optional: environmentId, userTags (variance factors), userId, programVersion, minIdentical, minModel, corrThreshold, verdicts. See rhylthyme://guide/tools.",
          "additionalProperties": {}
        }
      }
    }
    arguments 55 lines
  • visualize_schedule changes data unknown never probed

    Publish a program as a live, shareable timeline (a public share link) and return its URL, with an ASCII Gantt and an itinerary. For a schedule the user wants to follow or share ('plan this so it all finishes at 6', 'when do I start each thing'). Validates first and refuses an invalid program with fix hints.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "program"
      ],
      "properties": {
        "program": {
          "type": "object",
          "properties": {},
          "description": "Program JSON; shape under validate_program.",
          "additionalProperties": {}
        },
        "allowInvalid": {
          "type": "boolean",
          "default": false,
          "description": "Publish despite validation errors. Only when the user explicitly wants an imperfect draft shared."
        }
      }
    }
    arguments 20 lines
  • import_text changes data unknown never probed

    Turn pasted text (a recipe, protocol, run sheet or training plan) into a validated multi-track program on the server, in four model turns, with a table of the source span each step came from. Capped per day. Needs the user's Rhylthyme account.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "text",
        "environmentType"
      ],
      "properties": {
        "text": {
          "type": "string",
          "description": "The source text, all of it, as the user wrote or pasted it."
        },
        "hints": {
          "type": "string",
          "description": "Equipment and people limits in the user's words, e.g. 'one oven, two burners, one cook'."
        },
        "token": {
          "type": "string",
          "description": "Access token from the login tool. Omit when the account is connected."
        },
        "deadline": {
          "type": "string",
          "description": "When everything must be finished, if the user said: '18:00', 'dinner at six', an ISO datetime."
        },
        "environmentType": {
          "type": "string",
          "description": "kitchen, lab, events, gym or generic."
        }
      }
    }
    arguments 30 lines
  • create_environment changes data unknown never probed

    Describe a workspace's equipment limits (one oven, two centrifuges, one stage) as resourceConstraints to copy into a program, so steps that share equipment are scheduled around each other.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "name",
        "type",
        "resourceConstraints"
      ],
      "properties": {
        "name": {
          "type": "string"
        },
        "type": {
          "enum": [
            "kitchen",
            "laboratory",
            "bakery",
            "airport",
            "restaurant",
            "manufacturing",
            "hospital",
            "workshop",
            "event",
            "gym",
            "general"
          ],
          "type": "string"
        },
        "actors": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 1,
          "description": "How many people can work at once (default 1)."
        },
        "description": {
          "type": "string"
        },
        "resourceConstraints": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "task",
              "maxConcurrent"
            ],
            "properties": {
              "task": {
                "type": "string"
              },
              "description": {
                "type": "string"
              },
              "maxConcurrent": {
                "type": "integer",
                "maximum": 9007199254740991,
                "minimum": 1
              }
            },
            "additionalProperties": {}
          },
          "minItems": 1
        }
      }
    }
    arguments 64 lines
  • list_public_runs reads unknown never probed

    List anonymous runs other people contributed for one exact program version: actual against planned length, and their conditions. For 'how long does this really take?'. No account needed. Takes `program` or `program_hash`.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "limit": {
          "type": "integer",
          "maximum": 200,
          "minimum": 1,
          "description": "Runs to return, newest first (default 50)."
        },
        "program": {
          "type": "object",
          "properties": {},
          "description": "Program JSON to look up instead; hashed here.",
          "additionalProperties": {}
        },
        "program_hash": {
          "type": "string",
          "description": "Program hash, 'sha256:' + 64 hex (a run record's programVersion)."
        }
      }
    }
    arguments 22 lines
  • publish_timeline_image unknown never probed

    Publish a program's static Gantt image at a public share link and return the image URL, for a client that can't display images in tool results or a person who wants a link to the picture. This puts a public copy of the program online that the person can't remove. Validates first and refuses an invalid program.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "program"
      ],
      "properties": {
        "program": {
          "type": "object",
          "properties": {},
          "description": "Program JSON; shape under validate_program.",
          "additionalProperties": {}
        }
      }
    }
    arguments 15 lines
  • import_from_source changes data unknown never probed

    Import a recipe, protocol or run of show into a program. source: spoonacular, themealdb (recipes); protocolsio, opentrons, benchling (lab); cooklang (.cook URL); ontime (run of show). action: search (no account needed), import (query = URL or id), random. import, random and benchling need the user's Rhylthyme account. `enrich: true` splits an import into parallel tracks. Returns the program.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "source",
        "action"
      ],
      "properties": {
        "text": {
          "type": "string",
          "description": "Pasted source instead of a URL: an Opentrons .py, or an Ontime project JSON or rundown table (CSV, TSV or Markdown)."
        },
        "query": {
          "type": "string",
          "description": "Keywords (search), or the URL or id (import)."
        },
        "token": {
          "type": "string",
          "description": "Access token from the login tool. Omit when the account is connected."
        },
        "action": {
          "enum": [
            "search",
            "import",
            "random"
          ],
          "type": "string"
        },
        "enrich": {
          "type": "boolean",
          "description": "With action='import': split the import into parallel tracks with cross-track triggers. One model call, capped per day."
        },
        "source": {
          "enum": [
            "themealdb",
            "protocolsio",
            "spoonacular",
            "cooklang",
            "opentrons",
            "ontime",
            "benchling",
            "llm-text"
          ],
          "type": "string"
        }
      }
    }
    arguments 47 lines
  • load_public_recipe reads unknown 15h ago

    Open a public catalog entry by id: summary plus live-timeline URL.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "program_id"
      ],
      "properties": {
        "program_id": {
          "type": "string",
          "description": "Program UUID (from search_public_recipes)"
        }
      }
    }
    arguments 13 lines
  • preview_timeline reads unknown 24h ago

    Return a static Gantt image of a program with a caption, for 'show me a preview' or 'a picture of the timeline'. Publishes nothing. Planned versus actual: with `run` (a run record) it draws the actual bars over the plan.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "program"
      ],
      "properties": {
        "run": {
          "type": "object",
          "properties": {},
          "description": "A recorded run of the same program (the `run` object from load_run): draws planned versus actual.",
          "additionalProperties": {}
        },
        "program": {
          "type": "object",
          "properties": {},
          "description": "Program JSON; shape under validate_program.",
          "additionalProperties": {}
        }
      }
    }
    arguments 21 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id e3f581a161edb054.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/e3f581a161edb054/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/e3f581a161edb054/badge.svg)](https://brick.blue/agent/e3f581a161edb054?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.