Junely — Colorado Kids’ Camps & After-School
by junely.co · remote · no sign-in to list tools · v1.0.0 · published by co.junely
Daily-verified Colorado kids' camps & after-school programs: real availability, ages, prices.
5 tools: 3 change things and 2 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things3Claude Code: ask: see these tools
- Only reads2Claude Code: allow: see these tools
1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http junely https://junely.co/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnwhats_open
The server marks "whats_open" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "whats_open" says "open": a word for a change.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
5 tools
Changes things 3Claude Code: ask
save_campSaves a program to the signed-in user’s Junely watchlist.No findings
Why it is in this group
- The name "save_camp" says "save": a word for a change.
Description, as the server wrote it Saves a program to the signed-in user’s Junely watchlist. NOTE: saving also arms spot-opening/status-change email alerts for that program — identical to tapping ★ on junely.co. Only call when the user explicitly asks to save/track a program. Requires connecting the user’s Junely account.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
watch_programSets a fills-up/closing email alert for one program on the signed-in user’s Junely account — identical to the “alert me” button on junely.co.No findings
Why it is in this group
- The description's first verb is "set": a word for a change.
Description, as the server wrote it Sets a fills-up/closing email alert for one program on the signed-in user’s Junely account — identical to the “alert me” button on junely.co. Only call when the user explicitly asks to be alerted. Requires connecting the user’s Junely account.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
whats_openPrograms currently OPEN for registration, most recently updated first — Junely’s honesty signal.1 finding
Why it is in this group
- The name "whats_open" says "open": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "whats_open" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "whats_open" says "open": a word for a change.
Description, as the server wrote it Programs currently OPEN for registration, most recently updated first — Junely’s honesty signal. Freshness is per row, not a blanket re-check: live_verified means Junely re-checked that program’s own page today for after-school listings; for camps it only reflects the status/dates captured at last extraction, not a same-day check. Rows without live_verified reflect their captured extraction date, which can be weeks old. Optional filters: region, category, age, vertical.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
Only reads 2Claude Code: allow
get_program_detailsFull details for a single program by its Junely id (from search results): description, dates, ages, price, current enrollment status, and the provider’s info + registration links.No findings
Why it is in this group
- The name "get_program_details" says "get": a word for reading.
Description, as the server wrote it Full details for a single program by its Junely id (from search results): description, dates, ages, price, current enrollment status, and the provider’s info + registration links.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
search_programsSearch Junely’s catalog of Colorado summer camps and after-school programs, checked against each provider’s own page.No findings
Why it is in this group
- The name "search_programs" says "search": a word for reading.
Description, as the server wrote it Search Junely’s catalog of Colorado summer camps and after-school programs, checked against each provider’s own page. Filter by child age, month, region, category, price, and open availability. Freshness is per row, not daily: every result starts from its captured extraction date (can be weeks old); live_verified additionally means Junely re-checked that program’s own page today for after-school listings, or confirmed plausible status/dates at last capture for camp listings — it is not proof every listing was checked today.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http junely https://junely.co/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__junely__search_programs",
"mcp__junely__get_program_details"
],
"ask": [
"mcp__junely__whats_open",
"mcp__junely__save_camp",
"mcp__junely__watch_program"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as junely. Review it before you use it.