Skip to main content
Glama

Junely — Colorado Kids’ Camps & After-School

Server Details

Daily-verified Colorado kids' camps & after-school programs: real availability, ages, prices.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 62 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL

TDQS

A3.9/5.0

Scored across 5 tools

Disambiguation3/5

search_programs and whats_open substantially overlap — whats_open is essentially a preset 'open availability' query, and search_programs already exposes an open-availability filter. save_camp and watch_program are also confusable since the save_camp description states it arms the same spot-opening/status-change email alerts as watch_program, blurring their boundaries.

Naming Consistency4/5

Four tools follow a readable verb_noun pattern (get_program_details, save_camp, search_programs, watch_program), which is fairly consistent. whats_open breaks the convention with a question-style, no-underscore name, a minor deviation but readable.

Tool Count4/5

Five tools is a lean but reasonable scope for a read-and-track discovery service (search, details, open-status, save, alert). It is slightly thin, but none of the tools feels redundant enough to be trimmable.

Completeness3/5

The surface covers discovery and creating watch/alert entries, but there is no way to read back the user's saved watchlist or alerts, nor to remove a saved program or cancel an alert. That is a notable lifecycle gap for an account-based tracking service.

Available Tools

5 tools
get_program_detailsGet full details for one programA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesProgram id from a search result

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the read-only nature is known. The description adds no behavioral context beyond listing contents, which is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that efficiently conveys purpose and scope without any wasted words or tangential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one param, read-only, no output schema), the description lists all key return components (description, dates, ages, etc.), but lacks details on error handling or format, leaving minor gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the description restates the schema's description for the only parameter 'id'. No additional meaning is provided, meeting the baseline for high coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('get') and resource ('program by Junely id') and lists included fields, clearly distinguishing it from sibling tools like search_programs (which returns a list) and save_camp (which mutates).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states the tool is for a single program 'from search results', implying post-search usage. However, it does not explicitly exclude other contexts or mention when-not-to-use, though sibling tools provide alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

save_campSave a program to your Junely watchlist (sign-in required)A
Idempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesProgram id from a search result

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds side-effect context beyond annotations: alerts triggered, identical to ★ on website. Annotations (idempotent, non-destructive) are consistent; description enriches with behavioral details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero waste. First sentence states action and side effect, second provides usage rule and prerequisite. Front-loaded with key info.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers action, side effect, usage condition, and prerequisite. Lacks error handling or behavior for duplicate saves (though idempotent). Adequate for a simple tool with one parameter.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 100% of parameter documentation. Description does not add extra insight beyond schema's 'Program id from a search result'. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Title and description clearly state the tool saves a program to the Junely watchlist and arms alerts, with specific verb ('saves') and resource ('program'). Distinguishes from siblings like search_programs by being a save/track action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states 'Only call when the user explicitly asks to save/track a program' and notes account requirement. Does not mention alternative tools but provides clear when-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_programsSearch Colorado kids’ camps & after-school programsA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
ageNoChild’s age in years
limitNoMax results (default 10)
monthNoMonth the program should run, e.g. "July" or "7"
queryNoFree-text interest, e.g. "robotics", "horseback riding", "Russian language"
regionNoColorado region or city, e.g. "Denver", "Boulder", "Colorado Springs"
categoryNoCategory, e.g. STEM, Sports, Arts, Outdoors, Academic
verticalNoCamps (default) or after-school programs
max_priceNoMaximum price in USD
open_onlyNoOnly programs currently open for registration (default false)

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnlyHint and openWorldHint, so the description carries the real burden and delivers: it discloses that freshness is per-row rather than daily, that rows may be weeks old, and precisely what live_verified does and does not prove. This is exactly the non-obvious staleness semantics an agent needs before trusting results.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded in the first sentence, which is efficient. The freshness paragraph is dense and slightly convoluted ('it is not proof every listing was checked today'), but every clause adds real meaning rather than filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 9-parameter, all-optional search with no output schema, the description covers the crucial gap: what result freshness means. It stops short of describing result shape or pagination beyond the limit default the schema already covers, leaving a small gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all nine parameters with examples. The description restates the filter dimensions but adds no syntax or format detail beyond what the schema provides, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Search) plus a precise resource (Junely's catalog of Colorado summer camps and after-school programs) and even names the verification source (each provider's own page). An agent can distinguish this from get_program_details, whats_open, and watch_program without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The filter list ('Filter by child age, month, region, category, price, and open availability') implies this is the broad discovery tool, but there is no explicit when-to-use-vs-alternatives guidance. Nothing tells the agent when to prefer whats_open or get_program_details over this search.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

watch_programAlert me before a program fills (sign-in required)A
Idempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesProgram id from a search result

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate idempotentHint=true and destructiveHint=false, and the description adds that the tool sets an alert (mutation but idempotent). It also mentions sign-in required and identical to website button, which are helpful behavioral cues beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, covering purpose, usage condition, and prerequisite without any fluff. The title also adds context (sign-in required). Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity (one parameter, no output schema, simple behavior), the description is complete. It includes the action, trigger condition, and authentication requirement, fully equipping the agent to decide and invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter 'id' is fully described in the schema as 'Program id from a search result,' achieving 100% coverage. The description does not add much beyond this, meeting baseline expectations.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it sets a fills-up/closing email alert for one program, which is a specific verb+resource. It distinguishes itself from siblings like get_program_details (details retrieval) and search_programs (searching) by focusing on the alert action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Only call when the user explicitly asks to be alerted,' providing clear when-to-use guidance. It also mentions the prerequisite of connecting the user's Junely account, though it does not explicitly state when not to use or name alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

whats_openWhat’s open right nowA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
ageNo
limitNo
regionNo
categoryNo
verticalNo

TDQS

A3.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnlyHint and openWorldHint=false; the description goes well beyond them by disclosing the freshness model. It explains that live_verified means a same-day re-check for after-school rows but only a last-extraction status for camps, and that unverified rows may be weeks old. That is exactly the kind of staleness caveat an agent needs before presenting results as 'open'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose and ordering are front-loaded in the first clause, and the filter list is placed last. The freshness explanation occupies the middle at some length but the content is load-bearing rather than filler; only light tightening is possible.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, and the description does cover the key return semantics: sort order (most recently updated first) and the meaning of the live_verified column. It remains silent on result cardinality/limit behavior for a filterable list endpoint, which is the main remaining gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 5 parameters, so the description must compensate and only partly does: it names region, category, age and vertical as optional filters but gives no value formats, and never mentions limit (max 25) or the result-count default. Four of five parameters get at least a category label, which is more than nothing but not full compensation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource and scope: 'Programs currently OPEN for registration, most recently updated first.' An agent can tell this is a browsing/status-listing tool rather than a keyword search or detail fetch. It does not, however, name or contrast any sibling (e.g. search_programs), so sibling differentiation is left to inference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by 'currently OPEN for registration' plus 'Optional filters: region, category, age, vertical', which tells the agent when the tool is applicable. There is no explicit when-not guidance, no mention of the alternative (search_programs for text queries, get_program_details for a single result), and no prerequisites stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updates
    • First observedget_program_details
    • First observedsave_camp
    • First observedsearch_programs
    • First observedwatch_program
    • First observedwhats_open

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI assistants to search current public children's activities in Florianópolis, Brazil, read organization profiles and their published groups with schedules and prices, and obtain a canonical link for requesting a visit. All five tools are read-only, publicly accessible over Streamable HTTP with no API key, and never submit a request or confirm a booking.
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Connects AI assistants to a children's education platform so teachers, parents and content authors can create courses, lessons and interactive exercises, manage lesson calendars, review and grade homework, and track student progress through natural conversation. It also supports building educational games, media libraries, and age-targeted recommendation strategies.
    -
  • A
    license
    A
    quality
    D
    maintenance
    Search 8,000+ corporate event venues across 40+ cities. Tools for venue search by capacity/category, pricing guides, expert advice articles, and inquiry handoff. Read-only, PII-redacted, UTM-attributed.
    7
    10 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources