accueil / serveurs / Recherche & Web / com.rhylthyme/rhylthyme
com.rhylthyme/rhylthyme
serveur MCP (Model Context Protocol) · rhylthyme-mcp 1.3.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que com.rhylthyme/rhylthyme est sûr ?
Au dernier audit MCP Hub, le serveur MCP « com.rhylthyme/rhylthyme » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 19 outils
- analyze_schedule≈ 912 tokens
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.
Paramètres, retour & exemple (8)
Paramètrestoken· string · optionnel
Access token from the login tool. Omit when the account is connected.history· array · optionnel
Recorded runs of this program (from load_run); adds predicted durations.program· object · requis
Program JSON; shape under validate_program.startAt· string · optionnel
ISO 8601 start datetime. Ignored with finishAt.finishAt· string · optionnel
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· string · optionnel
Saved program UUID: loads the user's own recorded runs as the history.useDurations· string · optionnel · planned | predicted
planned (default): analyse the program as authored. predicted: as the history says it will run.predictionContext· object · optionnel
Optional: environmentId, userTags (variance factors), userId, programVersion, minIdentical, minModel, corrThreshold, verdicts. See rhylthyme://guide/tools.
Exemple d'appel{"name": "analyze_schedule", "arguments": {"program": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"name": "texte", "steps": [], "tracks": [], "inFlight": [], "makespan": "texte", "actorPeak": {}, "programId": "texte", "wallClock": "texte", "validation": {}, "criticalPath": [], "durationsUsed": "texte", "makespanSeconds": 1}} - calibrate_program≈ 424 tokens
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.
Paramètres, retour & exemple (7)
Paramètresk· integer · optionnel
Measurements a step needs for a proposal (default 5).since· string · optionnel
Only runs started on or after this date (YYYY-MM-DD or ISO).token· string · optionnel
Access token from the login tool. Omit when the account is connected.accept· ? · optionnel
Step ids to accept, or "all": also returns the calibrated program. Nothing is saved either way.history· array · optionnel
Run records to use instead of the stored ones.program· object · optionnel
Program JSON to calibrate; omit to use program_id's saved JSON.program_id· string · optionnel
Saved program UUID whose recorded runs are the evidence.
Exemple d'appel{"name": "calibrate_program", "arguments": {"k": 1, "since": "texte", "token": "texte", "accept": "texte", "history": [], "program": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_environment≈ 316 tokens
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.
Paramètres, retour & exemple (5)
Paramètresname· string · requistype· string · requis · kitchen | laboratory | bakery | airport | restaurant | manufacturing | hospital | workshopactors· integer · optionnel
How many people can work at once (default 1).description· string · optionnelresourceConstraints· array · requis
Exemple d'appel{"name": "create_environment", "arguments": {"name": "texte", "type": "kitchen", "resourceConstraints": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_renderer_source≈ 143 tokens
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).
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_renderer_source", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - import_from_source≈ 362 tokens
Import a recipe or protocol from a URL or service into a program. source: spoonacular, themealdb (recipes); protocolsio, opentrons, benchling (lab); cooklang (.cook URL). 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.
Paramètres, retour & exemple (6)
Paramètrestext· string · optionnel
Pasted source (an Opentrons .py) instead of a URL.query· string · optionnel
Keywords (search), or the URL or id (import).token· string · optionnel
Access token from the login tool. Omit when the account is connected.action· string · requis · search | import | randomenrich· boolean · optionnel
With action='import': split the import into parallel tracks with cross-track triggers. One model call, capped per day.source· string · requis · themealdb | protocolsio | spoonacular | cooklang | opentrons | benchling | llm-text
Exemple d'appel{"name": "import_from_source", "arguments": {"action": "search", "source": "themealdb"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - import_text≈ 302 tokens
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.
Paramètres, retour & exemple (5)
Paramètrestext· string · requis
The source text, all of it, as the user wrote or pasted it.hints· string · optionnel
Equipment and people limits in the user's words, e.g. 'one oven, two burners, one cook'.token· string · optionnel
Access token from the login tool. Omit when the account is connected.deadline· string · optionnel
When everything must be finished, if the user said: '18:00', 'dinner at six', an ISO datetime.environmentType· string · requis
kitchen, lab, events, gym or generic.
Exemple d'appel{"name": "import_text", "arguments": {"text": "texte", "environmentType": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_my_programs≈ 131 tokens
List the user's saved programs. Needs the user's Rhylthyme account.
Paramètres, retour & exemple (1)
Paramètrestoken· string · optionnel
Access token from the login tool. Omit when the account is connected.
Exemple d'appel{"name": "list_my_programs", "arguments": {"token": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_public_runs≈ 235 tokens
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`.
Paramètres, retour & exemple (3)
Paramètreslimit· integer · optionnel
Runs to return, newest first (default 50).program· object · optionnel
Program JSON to look up instead; hashed here.program_hash· string · optionnel
Program hash, 'sha256:' + 64 hex (a run record's programVersion).
Exemple d'appel{"name": "list_public_runs", "arguments": {"limit": 1, "program": {}, "program_hash": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_runs≈ 181 tokens
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.
Paramètres, retour & exemple (2)
Paramètrestoken· string · optionnel
Access token from the login tool. Omit when the account is connected.program_id· string · requis
Program UUID from list_my_programs.
Exemple d'appel{"name": "list_runs", "arguments": {"program_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - load_program≈ 169 tokens
Open one of the user's saved programs by id: summary plus live-timeline URL. Needs the user's Rhylthyme account.
Paramètres, retour & exemple (2)
Paramètrestoken· string · optionnel
Access token from the login tool. Omit when the account is connected.program_id· string · requis
Program UUID from list_my_programs.
Exemple d'appel{"name": "load_program", "arguments": {"program_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - load_public_recipe≈ 132 tokens
Open a public catalog entry by id: summary plus live-timeline URL.
Paramètres, retour & exemple (1)
Paramètresprogram_id· string · requis
Program UUID (from search_public_recipes)
Exemple d'appel{"name": "load_public_recipe", "arguments": {"program_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - load_run≈ 174 tokens
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.
Paramètres, retour & exemple (2)
Paramètrestoken· string · optionnel
Access token from the login tool. Omit when the account is connected.run_id· string · requis
Run UUID from list_runs.
Exemple d'appel{"name": "load_run", "arguments": {"run_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - login≈ 176 tokens
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.
Paramètres, retour & exemple (1)
Paramètrestoken· string · optionnel
The token from the login page. Leave empty on the first call to get the sign-in URL.
Exemple d'appel{"name": "login", "arguments": {"token": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - preview_timeline≈ 235 tokens
Return a static Gantt image of a program with a caption, for 'show me a preview' or 'a picture of the timeline'. The image is served from a public share link. Planned versus actual: with `run` (a run record) it draws the actual bars over the plan.
Paramètres, retour & exemple (2)
Paramètresrun· object · optionnel
A recorded run of the same program (the `run` object from load_run): draws planned versus actual.program· object · requis
Program JSON; shape under validate_program.
Exemple d'appel{"name": "preview_timeline", "arguments": {"program": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - review_program≈ 285 tokens
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.
Paramètres, retour & exemple (4)
Paramètrestoken· string · optionnel
Access token from the login tool. Omit when the account is connected.program· object · requis
Program JSON; shape under validate_program.source_url· string · optionnel
Its URL, when the text is not to hand.source_text· string · optionnel
The source text (recipe, protocol), if you have it.
Exemple d'appel{"name": "review_program", "arguments": {"program": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - save_program≈ 184 tokens
Save a program to the user's account ('save this for later'); the same programId updates it. Needs the user's Rhylthyme account.
Paramètres, retour & exemple (2)
Paramètrestoken· string · optionnel
Access token from the login tool. Omit when the account is connected.program· object · requis
Program JSON; shape under validate_program.
Exemple d'appel{"name": "save_program", "arguments": {"program": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - search_public_recipes≈ 386 tokens
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.
Paramètres, retour & exemple (3)
Paramètreslimit· integer · optionnelquery· string · optionnel
Keyword; matches name and description. Empty returns the newest entries.environment· string · optionnel · kitchen | laboratory | gym | event | events
Which catalog: kitchen (default), laboratory, event or gym.
Exemple d'appel{"name": "search_public_recipes", "arguments": {"limit": 1, "query": "texte", "environment": "kitchen"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"count": 1, "query": "texte", "results": [], "environment": "texte"}} - validate_program≈ 547 tokens
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.
Paramètres, retour & exemple (1)
Paramètresprogram· object · requis
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.
Exemple d'appel{"name": "validate_program", "arguments": {"program": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"info": [], "stats": "texte", "valid": true, "errors": [], "warnings": []}} - visualize_schedule≈ 375 tokens
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.
Paramètres, retour & exemple (2)
Paramètresprogram· object · requis
Program JSON; shape under validate_program.allowInvalid· boolean · optionnel
Publish despite validation errors. Only when the user explicitly wants an imperfect draft shared.
Exemple d'appel{"name": "visualize_schedule", "arguments": {"program": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"url": "texte", "shareId": "texte", "imageUrl": "texte", "warnings": [], "makespanSeconds": 1}}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».