MCPサーバー

Lodi Kids Activities

com.lodikidsactivities/lodi-kids-activities
教育 検索・リサーチ 公開・接続可能 MCP 2026-07-28

このMCPでできること

Searches and manages a directory of youth programs, family events, and licensed daycares in Lodi, California, including listings, reviews, tours, and applications.

admin_cost_summary
Month-to-date spend across Anthropic / Firecrawl / Serper / Apify / Resend / Twilio (when each logger is in place).
入力スキーマ
{'type': 'object', 'properties': {}}
admin_live_activity
Last 24h of activity across the platform — signups, saves, contacts, claims, discoveries.
入力スキーマ
{'type': 'object', 'properties': {}}
admin_mcp_stats
MCP call volume + top tools + top agents in the last 7 days.
入力スキーマ
{'type': 'object', 'properties': {}}
admin_pending_claims
Pending org + daycare claim REQUESTS (someone applied to claim but admin hasn't approved). Excludes the long tail of seed orgs that have no contact info yet.
入力スキーマ
{'type': 'object', 'properties': {}}
admin_pending_discoveries
Pending discoveries in admin queue.
入力スキーマ
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1}}}
admin_pending_guides
Pending editorial guide drafts.
入力スキーマ
{'type': 'object', 'properties': {}}
admin_search_trends
Top parent search queries in the last 30d. Reads parent_search_queries.
入力スキーマ
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1}}}
city_stats
Aggregate stats for a city: # programs, # daycares, % claimed by owners, % with Spanish description, % free, category breakdown. Useful for AIs answering 'how many youth programs are there in Lodi' or comparing Lodi to other cities.
入力スキーマ
{'type': 'object', 'properties': {'city_slug': {'type': 'string', 'description': "City slug (e.g. 'lodi'). Defaults to 'lodi' if omitted."}}}
daycare_capacity
Get current capacity by age band for the daycare(s) this org owns.
入力スキーマ
{'type': 'object', 'properties': {'daycare_id': {'type': 'string'}}}
daycare_list_applications
Submitted applications for the org's daycare.
入力スキーマ
{'type': 'object', 'properties': {'status': {'type': 'string'}}}
daycare_list_tours
Tour requests for the org's daycare(s).
入力スキーマ
{'type': 'object', 'properties': {'status': {'enum': ['requested', 'confirmed', 'completed', 'no_show', 'declined', 'cancelled'], 'type': 'string'}}}
daycare_list_waitlist
Current waitlist queue for the org's daycare.
入力スキーマ
{'type': 'object', 'properties': {'daycare_id': {'type': 'string'}}}
daycare_respond_to_tour
Respond to a tour request — confirm with a date/time, propose alternates via notes, or decline.
入力スキーマ
{'type': 'object', 'required': ['tour_id', 'response'], 'properties': {'note': {'type': 'string'}, 'tour_id': {'type': 'string'}, 'response': {'enum': ['confirm', 'decline'], 'type': 'string'}, 'confirmed_date': {'type': 'string', 'description': "YYYY-MM-DD; required if response='confirm'"}, 'confirmed_time': {'type': 'string', 'description': "e.g. '10:30am'"}}}
daycare_set_capacity
Upsert capacity for one age band on a daycare. Age bands: infant, toddler, twos, threes, fours, prek, kindergarten.
入力スキーマ
{'type': 'object', 'required': ['daycare_id', 'age_band', 'total_slots'], 'properties': {'notes': {'type': 'string'}, 'age_band': {'enum': ['infant', 'toddler', 'twos', 'threes', 'fours', 'prek', 'kindergarten'], 'type': 'string'}, 'daycare_id': {'type': 'string'}, 'total_slots': {'type': 'integer', 'minimum': 0}, 'waitlist_count': {'type': 'integer', 'minimum': 0}, 'current_enrollment': {'type': 'integer', 'minimum': 0}}}
featured_listings
Returns the currently-promoted programs on the LKA homepage. Reads from featured_listings table within the active date window.
入力スキーマ
{'type': 'object', 'properties': {}}
get_daycare
Get full details for a single daycare by slug, including capacity by age band (infant / toddler / 2s / 3s / 4s / pre-K / kindergarten) when the daycare has filled it in. Use after `search_daycares` to surface specifics.
入力スキーマ
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'Daycare slug from search_daycares results.'}}}
get_event
Get full details for a single event by slug. Use after `list_upcoming_events`.
入力スキーマ
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'Event slug.'}}}
get_guide
Fetch the full markdown body of a published editorial guide by slug.
入力スキーマ
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string'}}}
get_program
Get full details for a single program by slug. Use this after `search_programs` returned a result and the user wants to know more — full description, schedule, registration timing, contact info.
入力スキーマ
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': "Program slug from search_programs results (e.g. 'lodi-fc-competitive-soccer')."}}}
list_categories
Returns the distinct program categories currently active in the LKA directory (e.g. Sports, Music, Arts, Academics, Swimming, Dance). Use this before search_programs to suggest exact category strings.
入力スキーマ
{'type': 'object', 'properties': {}}
list_cities
Returns the cities Lodi Kids Activities currently serves. Today: Lodi, CA only. Other cities are seeded but inactive; do not surface as active to users.
入力スキーマ
{'type': 'object', 'properties': {}}
list_guides
Lists editorial guides published on LKA — parent-facing articles like 'How to pick a summer camp,' 'Lodi after-school programs by neighborhood,' etc. Useful when a parent is researching a topic rather than searching a specific program.
入力スキーマ
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1}}}
list_reviews
Public reviews for a program or daycare. Returns rating, text, reviewer first name only, season. Used by AIs to surface parent sentiment when recommending a program.
入力スキーマ
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'maximum': 25, 'minimum': 1}, 'daycare_slug': {'type': 'string'}, 'program_slug': {'type': 'string'}}}
list_upcoming_events
List upcoming family events in Lodi, CA — open houses, workshops, community days, storytimes, sports clinics. Different from `search_programs` (ongoing classes) — these are single-day or short-window events.
入力スキーマ
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'maximum': 30, 'minimum': 1, 'description': 'Max events to return (1-30). Default 10.'}, 'category': {'type': 'string', 'description': 'Filter by event category: workshop, open_house, community, showcase, fundraiser, camp_session, storytime, sports_clinic.'}}}
nearby_programs
Programs within a radius (miles) of a lat/lng point. Useful for AIs answering 'what's near 95240' style questions. Uses naive Haversine — accurate enough for a single city.
入力スキーマ
{'type': 'object', 'required': ['lat', 'lng'], 'properties': {'lat': {'type': 'number'}, 'lng': {'type': 'number'}, 'limit': {'type': 'integer', 'maximum': 30, 'minimum': 1}, 'radius_miles': {'type': 'number', 'maximum': 50, 'minimum': 0.5}}}
org_add_program_event
Add a single event (practice, game, scrimmage, picture day, cancellation, etc.) to a program's calendar.
入力スキーマ
{'type': 'object', 'required': ['program_id', 'kind', 'starts_at'], 'properties': {'kind': {'enum': ['practice', 'game', 'scrimmage', 'tournament', 'recital', 'picture_day', 'meeting', 'field_trip', 'cancellation', 'other'], 'type': 'string'}, 'notes': {'type': 'string'}, 'address': {'type': 'string'}, 'ends_at': {'type': 'string'}, 'location': {'type': 'string'}, 'opponent': {'type': 'string'}, 'starts_at': {'type': 'string', 'description': 'ISO 8601 timestamp'}, 'program_id': {'type': 'string'}}}
org_analytics
Org-level analytics — page views, saves, contacts in a date window.
入力スキーマ
{'type': 'object', 'properties': {'days': {'type': 'integer', 'maximum': 365, 'minimum': 1}}}
org_archive_program
Soft-archive a program (active=false). Hides from public directory but preserves history.
入力スキーマ
{'type': 'object', 'required': ['program_id'], 'properties': {'program_id': {'type': 'string'}}}
org_cancel_program_event
Mark a program event as canceled. Enrolled parents see this in their hub + iCal.
入力スキーマ
{'type': 'object', 'required': ['event_id'], 'properties': {'reason': {'type': 'string'}, 'event_id': {'type': 'string'}}}
org_confirm_listing_fresh
Confirm a program listing is still accurate (resets the stale-nudge timer).
入力スキーマ
{'type': 'object', 'required': ['program_id'], 'properties': {'program_id': {'type': 'string'}}}
org_dashboard
Org dashboard summary — program count, leads in last 7d, new saves in last 7d, listing-status breakdown.
入力スキーマ
{'type': 'object', 'properties': {}}
org_generate_promo_kit_url
Returns a URL to the org's downloadable promo kit (QR poster + share card) for a given program.
入力スキーマ
{'type': 'object', 'required': ['program_id'], 'properties': {'program_id': {'type': 'string'}}}
org_list_leads
Returns recent daycare leads + program saves for the org.
入力スキーマ
{'type': 'object', 'properties': {}}
org_list_program_events
List upcoming events for a program owned by this org.
入力スキーマ
{'type': 'object', 'required': ['program_id'], 'properties': {'days_ahead': {'type': 'integer', 'maximum': 365, 'minimum': 1}, 'program_id': {'type': 'string'}}}
org_list_programs
Returns the org's programs.
入力スキーマ
{'type': 'object', 'properties': {}}
org_reply_to_review
Post an org response to a review. Requires consent. Replies are one-shot per review.
入力スキーマ
{'type': 'object', 'required': ['review_id', 'response_text'], 'properties': {'review_id': {'type': 'string'}, 'response_text': {'type': 'string'}}}
org_update_profile
Update the org's profile (website, phone, email, logo_url, instagram).
入力スキーマ
{'type': 'object', 'properties': {'email': {'type': 'string'}, 'phone': {'type': 'string'}, 'website': {'type': 'string'}, 'logo_url': {'type': 'string'}, 'instagram': {'type': 'string'}}}
org_update_program
Update an existing program's editable fields.
入力スキーマ
{'type': 'object', 'required': ['program_id'], 'properties': {'day': {'type': 'string'}, 'cost': {'type': 'string'}, 'name': {'type': 'string'}, 'time': {'type': 'string'}, 'season': {'type': 'string'}, 'address': {'type': 'string'}, 'age_max': {'type': 'integer'}, 'age_min': {'type': 'integer'}, 'cost_num': {'type': 'integer'}, 'location': {'type': 'string'}, 'program_id': {'type': 'string'}, 'description': {'type': 'string'}, 'listing_status': {'enum': ['accepting', 'full', 'waitlist_only', 'closed_for_season'], 'type': 'string'}, 'openings_remaining': {'type': 'integer'}}}
org_update_program_capacity
Set the listing status on a program (accepting / full / waitlist_only / closed_for_season). Requires consent.
入力スキーマ
{'type': 'object', 'required': ['program_id', 'listing_status'], 'properties': {'program_id': {'type': 'string'}, 'listing_status': {'enum': ['accepting', 'full', 'waitlist_only', 'closed_for_season'], 'type': 'string'}}}
parent_accept_household_invite
Accept a household invite using the token from the invite link.
入力スキーマ
{'type': 'object', 'required': ['token'], 'properties': {'token': {'type': 'string'}}}
parent_add_kid
Add a kid to the parent's account. Requires consent.
入力スキーマ
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string'}, 'birthdate': {'type': 'string', 'description': 'YYYY-MM-DD'}, 'interests': {'type': 'array', 'items': {'type': 'string'}}}}
parent_calendar_subscribe_url
Returns the parent's personal iCal feed URL — subscribe in Google/Apple/Outlook Calendar to see practices + games in your normal calendar app. Refreshes hourly.
入力スキーマ
{'type': 'object', 'properties': {}}
parent_cancel_tour
Cancel a tour request you previously submitted.
入力スキーマ
{'type': 'object', 'required': ['tour_id'], 'properties': {'tour_id': {'type': 'string'}}}
parent_export_my_data
Export everything LKA has on you in a single JSON payload (kids, saves, enrollments, tours, reviews, household membership).
入力スキーマ
{'type': 'object', 'properties': {}}
parent_invite_household_member
Invite a co-parent / partner / grandparent to share this household. They receive a one-time invite link by email; on accept, they join the household and can see all kids + saves.
入力スキーマ
{'type': 'object', 'required': ['email'], 'properties': {'email': {'type': 'string'}}}
parent_leave_household
Leave the current household. If you're the owner and there are other members, ownership transfers to the longest-tenured member.
入力スキーマ
{'type': 'object', 'properties': {}}
parent_list_enrollments
Returns the parent's enrollments (programs their kid is signed up for).
入力スキーマ
{'type': 'object', 'properties': {}}
parent_list_kids
Returns the parent's kids on file (names + ages, no PII beyond what they shared).
入力スキーマ
{'type': 'object', 'properties': {}}
parent_list_saves
Returns the signed-in parent's saved (hearted) programs AND daycares. Each row has a `kind` field of 'program' or 'daycare' so callers can route to the right detail page. Previously this tool returned `{program_id: null}` for daycare rows with no other data — a hangover from when only programs could be saved.
入力スキーマ
{'type': 'object', 'properties': {}}
parent_list_tours
Returns the parent's daycare tour requests with status.
入力スキーマ
{'type': 'object', 'properties': {}}
parent_me
Returns the signed-in parent's profile + preferences.
入力スキーマ
{'type': 'object', 'properties': {}}
parent_my_applications
Daycare applications the parent has submitted.
入力スキーマ
{'type': 'object', 'properties': {}}
parent_my_household
Returns the parent's household members + shared kids. If no household exists yet, returns null.
入力スキーマ
{'type': 'object', 'properties': {}}
parent_my_reviews
Reviews the parent has submitted.
入力スキーマ
{'type': 'object', 'properties': {}}
parent_my_upcoming_events
Upcoming program events (practices, games, scrimmages) for the parent's enrolled programs. Covers next 30 days by default. Cancellations included as 'canceled' status.
入力スキーマ
{'type': 'object', 'properties': {'days_ahead': {'type': 'integer', 'maximum': 90, 'minimum': 1}}}
parent_my_waitlist_positions
Daycare waitlists the parent is on, with current position.
入力スキーマ
{'type': 'object', 'properties': {}}
parent_recommended_for_me
Programs matched to the parent's primary kid's age + interests. Simple matcher today — surfaces top 10 active programs that include the kid's age in their range, weighted by interest overlap.
入力スキーマ
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'maximum': 25, 'minimum': 1}}}
parent_remove_kid
Remove a kid from the parent's account. Irreversible — deletes the kid record and any kid-linked enrollments/reviews remain but become orphaned (kid_id set null).
入力スキーマ
{'type': 'object', 'required': ['kid_id'], 'properties': {'kid_id': {'type': 'string'}}}
parent_report_enrollment
Self-report that the parent enrolled their kid in a program outside the LKA RegFlow ('I'm In'). Accepts program UUID or slug.
入力スキーマ
{'type': 'object', 'required': ['program_id'], 'properties': {'kid_id': {'type': 'string'}, 'program_id': {'type': 'string', 'description': 'Program UUID or slug'}}}
parent_request_tour
Submit a daycare tour request. Returns the tour id + status='requested'.
入力スキーマ
{'type': 'object', 'required': ['daycare_id', 'preferred_date_1'], 'properties': {'notes': {'type': 'string'}, 'kid_id': {'type': 'string'}, 'daycare_id': {'type': 'string'}, 'preferred_date_1': {'type': 'string', 'description': 'YYYY-MM-DD'}, 'preferred_date_2': {'type': 'string'}, 'start_date_needed': {'type': 'string'}}}
parent_revoke_my_tokens
Revoke ALL MCP tokens issued under your parent account. Use this if you suspect an AI agent has misused your access.
入力スキーマ
{'type': 'object', 'properties': {}}
parent_save_daycare
Save a daycare to the parent's hub.
入力スキーマ
{'type': 'object', 'required': ['daycare_id'], 'properties': {'daycare_id': {'type': 'string'}}}
parent_save_program
Save a program to the parent's hub. Accepts either the program UUID or its slug (e.g. 'youth-soccer-league'). Optionally associate the save with one or more specific kids (by UUID or name) so the kid filter in /account → Saved Programs picks it up. Requires consent.
入力スキーマ
{'type': 'object', 'required': ['program_id'], 'properties': {'kid_ids': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Optional: one or more kid UUIDs OR first names (case-insensitive) to tag the save with. Use parent_list_kids to look them up.'}, 'program_id': {'type': 'string', 'description': 'Program UUID or slug'}}}
parent_submit_review
Submit a review for a program or daycare. One review per (parent, program). Use parent_update_review to edit afterward.
入力スキーマ
{'type': 'object', 'required': ['rating', 'text'], 'properties': {'text': {'type': 'string'}, 'kid_id': {'type': 'string'}, 'rating': {'type': 'integer', 'maximum': 5, 'minimum': 1}, 'season': {'type': 'string'}, 'daycare_id': {'type': 'string'}, 'program_id': {'type': 'string'}}}
parent_unsave_program
Remove a saved program from the parent's hub. Accepts either the program UUID or its slug. Requires consent.
入力スキーマ
{'type': 'object', 'required': ['program_id'], 'properties': {'program_id': {'type': 'string', 'description': 'Program UUID or slug'}}}
parent_update_kid
Update a kid record (birthdate, interests, school, special_needs).
入力スキーマ
{'type': 'object', 'required': ['kid_id'], 'properties': {'name': {'type': 'string'}, 'kid_id': {'type': 'string'}, 'school': {'type': 'string'}, 'birthdate': {'type': 'string', 'description': 'YYYY-MM-DD'}, 'interests': {'type': 'array', 'items': {'type': 'string'}}, 'special_needs': {'type': 'string'}}}
parent_update_prefs
Update parent notification + language preferences.
入力スキーマ
{'type': 'object', 'properties': {'phone': {'type': 'string'}, 'first_name': {'type': 'string'}, 'sms_opt_in': {'type': 'boolean'}, 'language_preference': {'enum': ['en', 'es'], 'type': 'string'}}}
program_events_feed
Upcoming events (practices, games, scrimmages, cancellations) for a specific program. Returns next 30 days. Use this to answer 'is there a game this Saturday?' style questions, and to power Add-to-Calendar flows.
入力スキーマ
{'type': 'object', 'required': ['program_slug'], 'properties': {'days_ahead': {'type': 'integer', 'maximum': 90, 'minimum': 1}, 'program_slug': {'type': 'string'}}}
search_daycares
Search licensed daycares in Lodi, CA. Filter by child age (in MONTHS — daycares think in months for under-5s), program kind (daycare / preschool / after_school), facility setting (in_home / center), or claimed-only (more reliable data). Returns up to 10 daycares with hours + tuition where available. For subsidy / bilingual / curriculum filters, follow up with `get_daycare` on a slug.
入力スキーマ
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'maximum': 25, 'minimum': 1, 'description': 'Max daycares to return (1-25). Default 10.'}, 'setting': {'enum': ['in_home', 'center'], 'type': 'string', 'description': "Filter by facility setting. 'in_home' is a family child care home (smaller, residential). 'center' is a commercial facility."}, 'age_months': {'type': 'integer', 'maximum': 144, 'minimum': 0, 'description': "Child age in months. Returns daycares whose licensed age range includes this age. Daycares without ages_min/max populated are kept (we don't know they DON'T serve this age)."}, 'claimed_only': {'type': 'boolean', 'description': 'If true, only return daycares whose owner has claimed the listing (more accurate data + reliable contact channel).'}, 'program_kind': {'enum': ['daycare', 'preschool', 'after_school'], 'type': 'string', 'description': 'Filter by program kind.'}}}
search_programs
Search youth programs in Lodi, CA. Filter by free-text query (program name or description), category (Sports, Music, Arts, Academics, Swimming, etc.), child age (integer in years — programs that accept that age), free-only flag, or season. Returns up to 15 matching programs with full details for decision-making (cost, schedule, location, registration status).
入力スキーマ
{'type': 'object', 'properties': {'age': {'type': 'integer', 'maximum': 18, 'minimum': 0, 'description': 'Child age in years. Returns programs whose age range includes this age.'}, 'limit': {'type': 'integer', 'maximum': 30, 'minimum': 1, 'description': 'Max programs to return (1-30). Default 15.'}, 'query': {'type': 'string', 'description': 'Free-text search across program name + description (case-insensitive substring match).'}, 'season': {'type': 'string', 'description': "Filter by season — e.g. 'Summer', 'Fall', 'Spring', 'Winter', 'Year-Round'."}, 'category': {'type': 'string', 'description': 'Program category. Common values: Sports, Music, Arts, Academics, Swimming, Gymnastics, Dance, Enrichment, Free Programs.'}, 'free_only': {'type': 'boolean', 'description': 'If true, only return programs with $0 cost.'}}}
site_directory
Structured map of LKA's public URLs and content sections. Equivalent to llms.txt — gives an AI grounding agent the full topology of the site so it knows what's worth crawling/calling.
入力スキーマ
{'type': 'object', 'properties': {}}
upcoming_registrations
Programs whose registration window is opening soon (within the next 60 days). Useful for parents planning ahead.
入力スキーマ
{'type': 'object', 'properties': {'window_days': {'type': 'integer', 'maximum': 180, 'minimum': 7}}}
追加
admin_search_trends
2026年9月17日12:36
追加
admin_live_activity
2026年9月17日12:36
追加
admin_mcp_stats
2026年9月17日12:36
追加
admin_cost_summary
2026年9月17日12:36
追加
admin_pending_guides
2026年9月17日12:36
追加
admin_pending_discoveries
2026年9月17日12:36
追加
admin_pending_claims
2026年9月17日12:36
追加
daycare_list_applications
2026年9月17日12:36
追加
daycare_list_waitlist
2026年9月17日12:36
追加
daycare_respond_to_tour
2026年9月17日12:36
追加
daycare_list_tours
2026年9月17日12:36
追加
daycare_set_capacity
2026年9月17日12:36
追加
daycare_capacity
2026年9月17日12:36
追加
org_generate_promo_kit_url
2026年9月17日12:36
追加
org_analytics
2026年9月17日12:36
追加
org_cancel_program_event
2026年9月17日12:36
追加
org_add_program_event
2026年9月17日12:36
追加
org_list_program_events
2026年9月17日12:36
追加
org_confirm_listing_fresh
2026年9月17日12:36
追加
org_archive_program
2026年9月17日12:36
追加
org_update_program
2026年9月17日12:36
追加
org_update_profile
2026年9月17日12:36
追加
org_dashboard
2026年9月17日12:36
追加
parent_revoke_my_tokens
2026年9月17日12:36
追加
parent_export_my_data
2026年9月17日12:36
追加
parent_recommended_for_me
2026年9月17日12:36
追加
parent_my_applications
2026年9月17日12:36
追加
parent_my_waitlist_positions
2026年9月17日12:36
追加
parent_cancel_tour
2026年9月17日12:36
追加
parent_request_tour
2026年9月17日12:36