Atlas / MCP servers / rhylthyme / rhylthyme-mcp

rhylthyme-mcpCAUTION

mcp/rhylthyme/rhylthyme-mcp

MCP server for human-executed, resource-constrained schedules: validate, analyze, import and publish live timelines on rhylthyme.com. Source of mcp.rhylthyme.com.

Verdict
CAUTION
Grade
B
Trust score
89 /100
Exposed tools
19 12r · 7w · 0d
Transport
stdio · streamable-http
License
Apache-2.0
Stars
0
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

[](https://claude.ai/directory/rhylthyme) [](https://mcpservers.org/servers/rhylthyme/rhylthyme-mcp)

A Model Context Protocol server for schedules that a person executes: cooking several dishes so they finish together, running a bench protocol with overlapping incubations, calling an event, running a workout. An agent describes the process, the server validates and analyzes the resulting program, and publishes it as a live timeline on rhylthyme.com that the person follows on their phone.

This repository is the source of the server that runs at mcp.rhylthyme.com. It is the same code as mcp-api/ in the rhylthyme-server application, copied here with the static assets it needs so it can be read, tested and self-hosted.

Try it: ask for a workout

Connect the server (in claude.ai, Claude Desktop or mobile, add Rhylthyme from the Claude Connectors Directory; in Claude Code, /plugin marketplace add rhylthyme/rhylthyme-mcp then /plugin install rhylthyme@rhylthyme; anywhere else, add https://mcp.rhylthyme.com/gym/mcp as a connector), then say what you want in plain words:

Two of us in a garage gym: one kettlebell, one pull-up bar, one jump rope. Thirty minutes, two rounds, and nobody stands around waiting for equipment. Make it a Rhylthyme timeline.

You write no JSON. The assistant does, and the server keeps it honest. With that prompt Claude made three tool calls:

Read from source at commit 3c80223ad092OBSERVED · 2026-10-12
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.

claude-code
claude mcp add rhylthyme-mcp --env RHYLTHYME_TOKEN=${RHYLTHYME_TOKEN} --env SUPABASE_ANON_KEY=${SUPABASE_ANON_KEY} -- npx -y [email protected]
claude-desktop
{
  "mcpServers": {
    "rhylthyme-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "RHYLTHYME_TOKEN": "${RHYLTHYME_TOKEN}",
        "SUPABASE_ANON_KEY": "${SUPABASE_ANON_KEY}"
      }
    }
  }
}
03

Exposed tools (19)

12 read · 7 write · 0 destructive.

ToolRiskDescription
analyze_schedulewrite
calibrate_programread
create_environmentwrite
get_renderer_sourceread
import_from_sourcewrite
import_textwrite
list_my_programsread
list_public_runsread
list_runsread
load_programread
load_public_reciperead
load_runwrite
loginread
preview_timelineread
review_programread
save_programwrite
search_public_recipesread
validate_programread
visualize_schedulewrite
04

Trust audit

CAUTIONgrade B · trust 89/100 Install with care. The audit found things worth knowing before you trust its output.

LayerWhat it checksResult
L0Provenance & inventoryWARN
L1Static analysis of the codePASS
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
none-observed
Network
declared (5 observation(s))
Shell
none-observed
Dependencies
not all pinned
Secrets in source
none-found

Findings (8)

MEDIUMInventory / provenance · inv.binary · CWE-1104
python/src/rhylthyme_mcp/__pycache__/__init__.cpython-312.pyc
__init__.cpython-312.pyc
Why it matters. a compiled or binary member cannot be reviewed from source
Fix. ship source, or explain the binary in the README
MEDIUMInventory / provenance · inv.binary · CWE-1104
python/src/rhylthyme_mcp/__pycache__/server.cpython-312.pyc
server.cpython-312.pyc
Why it matters. a compiled or binary member cannot be reviewed from source
Fix. ship source, or explain the binary in the README
LOWInventory / provenance · inv.binary · CWE-1104
python/tests/__pycache__/test_bridge.cpython-312-pytest-9.0.2.pyc
test_bridge.cpython-312-pytest-9.0.2.pyc
Why it matters. a compiled or binary member cannot be reviewed from source
Fix. ship source, or explain the binary in the README
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
mcp-api/oauth.test.js:71
assert.equal(meta("/.well-known/oauth-protected-resource/../../etc").resource, "https://mcp.rhylthyme.com/mcp", "junk paths fall back");
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
python/tests/test_bridge.py:36
server.main(["--url", "http://127.0.0.1:9/mcp"])
LOWObfuscation / stealth · obf.zero_width · CWE-506, CWE-94
mcp-api/index.test.js:1598
assert.ok(!/[--]/.test(d), `${vertical}/${t.name} has hidden characters`);
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
package.json
@modelcontextprotocol/server, mcp-handler, zod, @modelcontextprotocol/client, @resvg/resvg-js
Why it matters. 5 dependency range(s) float
Fix. pin exact versions or ship a lockfile
INFOInventory / provenance · inv.oversize · CWE-1104
mcp-api/labmcp-check-cases.json
mcp-api/labmcp-check-cases.json
Why it matters. 1162627 bytes not read

Gates applied: no_behavioural_pass.

Audited 2026-10-12 · audit v0.4.1 · source sha 3c80223ad092full audit observations/trust-audit/mcp-server/rhylthyme__rhylthyme-mcp.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-123c80223ad092CAUTIONB89first audit
06

Questions

What is the rhylthyme-mcp MCP server?

MCP server for human-executed, resource-constrained schedules: validate, analyze, import and publish live timelines on rhylthyme.com. Source of mcp.rhylthyme.com.

What tools does rhylthyme-mcp expose?

19 in total: 12 read-only, 7 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.

Is rhylthyme-mcp safe to connect to an agent?

With care. The audit graded it B (89/100) and found 8 things worth knowing before you trust this server, listed below with the exact line each was found on.

What credentials does rhylthyme-mcp need?

It reads RHYLTHYME_TOKEN and SUPABASE_ANON_KEY from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.

How does rhylthyme-mcp run?

It speaks stdio and streamable-http, so it runs as a local process your client starts. It is published on npm as rhylthyme-mcp at 1.3.0.

How current is this page?

The grade is for one exact copy of the source (3c80223ad092), read on 2026-10-12. The repository is watched and re-audited when it changes.

Advertisement