Servidor MCP

Enrichment.Kids Activity Marketplace

io.github.enrichment-kids/enrichment-kids
Educación Público y accesible MCP 2025-11-25

Qué hace este MCP

Searches children's camps, classes, after-school programs, and tutoring activities and provides schedules, pricing, and registration links.

get_activity_details
Get activity details
Returns full details for one enrichment activity identified by its "slug": description, provider organization, location, age range, categories, policies, photos, and its sessions. Each session carries dates, local start and end times with timezone, price and any price tiers, capacity and spots remaining, waitlist availability, drop-in availability, meeting days, and a "share_url" — a link to that session's registration page on enrichment.kids, where registration and payment are completed.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': "Activity URL slug returned by search_activities (e.g., 'summer-coding-camp-petaluma')."}}, 'additionalProperties': False}
get_provider_info
Get provider info
Get profile and active listings for an enrichment activity provider (organization). Pass organization_id from search_activities results, or provider_name to look up by name (optionally narrowed by city/state).
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'city': {'type': 'string', 'minLength': 1, 'description': 'Optional city narrowing for provider_name lookup'}, 'state': {'type': 'string', 'maxLength': 2, 'minLength': 2, 'description': 'Optional two-letter US state narrowing for provider_name lookup'}, 'provider_name': {'type': 'string', 'minLength': 1, 'description': 'Provider name to resolve when organization_id is unavailable'}, 'organization_id': {'type': 'integer', 'description': 'Provider organization ID from search_activities results', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
search_activities
Search activities
Searches children's enrichment activities (camps, classes, after-school programs) in the United States by keyword, city and state or latitude/longitude radius, participant age, session date range, and category. Returns a paginated list of listings; each result carries the activity name, its "slug", the provider organization, location, age range, categories, a price range where available, and a "url" for the listing page. Results are ordered by relevance to the query and are not influenced by paid placement. The "slug" field is the identifier accepted by get_activity_details.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'city': {'type': 'string', 'description': "City name (e.g., 'Petaluma', 'San Francisco')"}, 'page': {'type': 'integer', 'default': 1, 'minimum': 1, 'description': 'Page number (default: 1)'}, 'limit': {'type': 'integer', 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Results per page (default: 20, max: 50)'}, 'query': {'type': 'string', 'description': "Keyword search (e.g., 'coding camp', 'ballet', 'science')"}, 'state': {'type': 'string', 'maxLength': 2, 'description': "Two-letter US state code (e.g., 'CA', 'OR', 'WA')"}, 'age_to': {'type': 'integer', 'maximum': 19, 'minimum': 0, 'description': 'Maximum participant age (0â\x80\x9319; 19 = adult)'}, 'date_to': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Latest session end date (YYYY-MM-DD)'}, 'age_from': {'type': 'integer', 'maximum': 19, 'minimum': 0, 'description': 'Minimum participant age (0â\x80\x9319; 19 = adult)'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Latitude for proximity search'}, 'date_from': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Earliest session start date (YYYY-MM-DD)'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Longitude for proximity search'}, 'categories': {'type': 'string', 'description': 'Comma-separated category IDs'}, 'distance_miles': {'type': 'number', 'default': 25, 'maximum': 100, 'minimum': 1, 'description': 'Search radius in miles (default: 25, max: 100)'}}, 'additionalProperties': False}
Añadido
get_provider_info
17 de September de 2026 a las 12:41
Añadido
get_activity_details
17 de September de 2026 a las 12:41
Añadido
search_activities
17 de September de 2026 a las 12:41