MCP-Server

Enrichment.Kids Activity Marketplace

io.github.enrichment-kids/enrichment-kids
Bildung Öffentlich und erreichbar MCP 2025-11-25

Was dieses MCP kann

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.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'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).
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'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.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'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}
Hinzugefügt
get_provider_info
17. September 2026 12:41
Hinzugefügt
get_activity_details
17. September 2026 12:41
Hinzugefügt
search_activities
17. September 2026 12:41