# Lodi Kids Activities (remote · lodikidsactivities.com)

Free directory of youth programs and licensed daycares in Lodi, CA. 72 tools.

- Trust score: 62/100 (medium)
- Change this week: +6
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `lodikidsactivities.com`: 62/100 (this document), [markdown](https://verifymcp.io/servers/com-lodikidsactivities-lodi-kids-activities/api-mcp.md), [page](https://verifymcp.io/servers/com-lodikidsactivities-lodi-kids-activities/api-mcp)

## Channel facts

- Endpoint: `https://lodikidsactivities.com/api/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 63/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 72 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 70/100
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 3905 tokens (~54/item across 72 items; 72 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 74/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 22% of tool parameters carry a description.
- **Capabilities**: 20/100
  - Spec-recency check failed: implements MCP spec 2024-11-05; the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http com-lodikidsactivities-lodi-kids-activities https://lodikidsactivities.com/api/mcp
```

### Codex

```toml
[mcp_servers.com-lodikidsactivities-lodi-kids-activities]
url = "https://lodikidsactivities.com/api/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-lodikidsactivities-lodi-kids-activities": {
      "type": "remote",
      "url": "https://lodikidsactivities.com/api/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-lodikidsactivities-lodi-kids-activities --url https://lodikidsactivities.com/api/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-lodikidsactivities-lodi-kids-activities:
    url: "https://lodikidsactivities.com/api/mcp"
```

### Other

```json
{
  "mcpServers": {
    "com-lodikidsactivities-lodi-kids-activities": {
      "type": "http",
      "url": "https://lodikidsactivities.com/api/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 62, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-01 (score 61, +1)

No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-31 (score 60, +2)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-29 (score 58, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-28 (score 57, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-27 (score 56, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 56)

First indexed and scored.

## MCP tools (72)

### `search_programs` (~230 tokens)

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).

Input parameters:

- `age` (integer): Child age in years. Returns programs whose age range includes this age.
- `category` (string): Program category. Common values: Sports, Music, Arts, Academics, Swimming, Gymnastics, Dance, Enrichment, Free Programs.
- `free_only` (boolean): If true, only return programs with $0 cost.
- `limit` (integer): Max programs to return (1-30). Default 15.
- `query` (string): Free-text search across program name + description (case-insensitive substring match).
- `season` (string): Filter by season — e.g. 'Summer', 'Fall', 'Spring', 'Winter', 'Year-Round'.

### `get_program` (~76 tokens)

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.

Input parameters:

- `slug` (string, required): Program slug from search_programs results (e.g. 'lodi-fc-competitive-soccer').

### `search_daycares` (~247 tokens)

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.

Input parameters:

- `age_months` (integer): 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` (boolean): If true, only return daycares whose owner has claimed the listing (more accurate data + reliable contact channel).
- `limit` (integer): Max daycares to return (1-25). Default 10.
- `program_kind` (string): Filter by program kind.
- `setting` (string): Filter by facility setting. 'in_home' is a family child care home (smaller, residential). 'center' is a commercial facility.

### `get_daycare` (~83 tokens)

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.

Input parameters:

- `slug` (string, required): Daycare slug from search_daycares results.

### `list_upcoming_events` (~107 tokens)

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.

Input parameters:

- `category` (string): Filter by event category: workshop, open_house, community, showcase, fundraiser, camp_session, storytime, sports_clinic.
- `limit` (integer): Max events to return (1-30). Default 10.

### `get_event` (~35 tokens)

Get full details for a single event by slug. Use after `list_upcoming_events`.

Input parameters:

- `slug` (string, required): Event slug.

### `list_categories` (~49 tokens)

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.

### `list_cities` (~42 tokens)

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.

### `city_stats` (~88 tokens)

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.

Input parameters:

- `city_slug` (string): City slug (e.g. 'lodi'). Defaults to 'lodi' if omitted.

### `list_guides` (~62 tokens)

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.

Input parameters:

- `limit` (integer)

### `get_guide` (~29 tokens)

Fetch the full markdown body of a published editorial guide by slug.

Input parameters:

- `slug` (string, required)

### `featured_listings` (~33 tokens)

Returns the currently-promoted programs on the LKA homepage. Reads from featured_listings table within the active date window.

### `upcoming_registrations` (~39 tokens)

Programs whose registration window is opening soon (within the next 60 days). Useful for parents planning ahead.

Input parameters:

- `window_days` (integer)

### `nearby_programs` (~83 tokens)

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.

Input parameters:

- `lat` (number, required)
- `limit` (integer)
- `lng` (number, required)
- `radius_miles` (number)

### `list_reviews` (~64 tokens)

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.

Input parameters:

- `daycare_slug` (string)
- `limit` (integer)
- `program_slug` (string)

### `program_events_feed` (~76 tokens)

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.

Input parameters:

- `days_ahead` (integer)
- `program_slug` (string, required)

### `site_directory` (~46 tokens)

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.

### `parent_list_saves` (~81 tokens)

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.

### `parent_save_program` (~124 tokens)

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.

Input parameters:

- `kid_ids` (array): 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` (string, required): Program UUID or slug

### `parent_unsave_program` (~44 tokens)

Remove a saved program from the parent's hub. Accepts either the program UUID or its slug. Requires consent.

Input parameters:

- `program_id` (string, required): Program UUID or slug

### `parent_list_kids` (~29 tokens)

Returns the parent's kids on file (names + ages, no PII beyond what they shared).

### `parent_add_kid` (~46 tokens)

Add a kid to the parent's account. Requires consent.

Input parameters:

- `birthdate` (string): YYYY-MM-DD
- `interests` (array)
- `name` (string, required)

### `parent_list_tours` (~19 tokens)

Returns the parent's daycare tour requests with status.

### `org_list_leads` (~21 tokens)

Returns recent daycare leads + program saves for the org.

### `org_list_programs` (~16 tokens)

Returns the org's programs.

### `org_update_program_capacity` (~51 tokens)

Set the listing status on a program (accepting / full / waitlist_only / closed_for_season). Requires consent.

Input parameters:

- `listing_status` (string, required)
- `program_id` (string, required)

### `org_reply_to_review` (~44 tokens)

Post an org response to a review. Requires consent. Replies are one-shot per review.

Input parameters:

- `response_text` (string, required)
- `review_id` (string, required)

### `parent_me` (~17 tokens)

Returns the signed-in parent's profile + preferences.

### `parent_update_prefs` (~50 tokens)

Update parent notification + language preferences.

Input parameters:

- `first_name` (string)
- `language_preference` (string)
- `phone` (string)
- `sms_opt_in` (boolean)

### `parent_update_kid` (~75 tokens)

Update a kid record (birthdate, interests, school, special_needs).

Input parameters:

- `birthdate` (string): YYYY-MM-DD
- `interests` (array)
- `kid_id` (string, required)
- `name` (string)
- `school` (string)
- `special_needs` (string)

### `parent_remove_kid` (~53 tokens)

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).

Input parameters:

- `kid_id` (string, required)

### `parent_list_enrollments` (~26 tokens)

Returns the parent's enrollments (programs their kid is signed up for).

### `parent_report_enrollment` (~58 tokens)

Self-report that the parent enrolled their kid in a program outside the LKA RegFlow ('I'm In'). Accepts program UUID or slug.

Input parameters:

- `kid_id` (string)
- `program_id` (string, required): Program UUID or slug

### `parent_save_daycare` (~26 tokens)

Save a daycare to the parent's hub.

Input parameters:

- `daycare_id` (string, required)

### `parent_submit_review` (~79 tokens)

Submit a review for a program or daycare. One review per (parent, program). Use parent_update_review to edit afterward.

Input parameters:

- `daycare_id` (string)
- `kid_id` (string)
- `program_id` (string)
- `rating` (integer, required)
- `season` (string)
- `text` (string, required)

### `parent_my_reviews` (~15 tokens)

Reviews the parent has submitted.

### `parent_my_household` (~28 tokens)

Returns the parent's household members + shared kids. If no household exists yet, returns null.

### `parent_invite_household_member` (~58 tokens)

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.

Input parameters:

- `email` (string, required)

### `parent_accept_household_invite` (~31 tokens)

Accept a household invite using the token from the invite link.

Input parameters:

- `token` (string, required)

### `parent_leave_household` (~34 tokens)

Leave the current household. If you're the owner and there are other members, ownership transfers to the longest-tenured member.

### `parent_my_upcoming_events` (~59 tokens)

Upcoming program events (practices, games, scrimmages) for the parent's enrolled programs. Covers next 30 days by default. Cancellations included as 'canceled' status.

Input parameters:

- `days_ahead` (integer)

### `parent_calendar_subscribe_url` (~44 tokens)

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.

### `parent_request_tour` (~80 tokens)

Submit a daycare tour request. Returns the tour id + status='requested'.

Input parameters:

- `daycare_id` (string, required)
- `kid_id` (string)
- `notes` (string)
- `preferred_date_1` (string, required): YYYY-MM-DD
- `preferred_date_2` (string)
- `start_date_needed` (string)

### `parent_cancel_tour` (~26 tokens)

Cancel a tour request you previously submitted.

Input parameters:

- `tour_id` (string, required)

### `parent_my_waitlist_positions` (~24 tokens)

Daycare waitlists the parent is on, with current position.

### `parent_my_applications` (~18 tokens)

Daycare applications the parent has submitted.

### `parent_recommended_for_me` (~55 tokens)

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.

Input parameters:

- `limit` (integer)

### `parent_export_my_data` (~37 tokens)

Export everything LKA has on you in a single JSON payload (kids, saves, enrollments, tours, reviews, household membership).

### `parent_revoke_my_tokens` (~36 tokens)

Revoke ALL MCP tokens issued under your parent account. Use this if you suspect an AI agent has misused your access.

### `org_dashboard` (~34 tokens)

Org dashboard summary — program count, leads in last 7d, new saves in last 7d, listing-status breakdown.

### `org_update_profile` (~62 tokens)

Update the org's profile (website, phone, email, logo_url, instagram).

Input parameters:

- `email` (string)
- `instagram` (string)
- `logo_url` (string)
- `phone` (string)
- `website` (string)

### `org_update_program` (~121 tokens)

Update an existing program's editable fields.

Input parameters:

- `address` (string)
- `age_max` (integer)
- `age_min` (integer)
- `cost` (string)
- `cost_num` (integer)
- `day` (string)
- `description` (string)
- `listing_status` (string)
- `location` (string)
- `name` (string)
- `openings_remaining` (integer)
- `program_id` (string, required)
- `season` (string)
- `time` (string)

### `org_archive_program` (~35 tokens)

Soft-archive a program (active=false). Hides from public directory but preserves history.

Input parameters:

- `program_id` (string, required)

### `org_confirm_listing_fresh` (~35 tokens)

Confirm a program listing is still accurate (resets the stale-nudge timer).

Input parameters:

- `program_id` (string, required)

### `org_list_program_events` (~38 tokens)

List upcoming events for a program owned by this org.

Input parameters:

- `days_ahead` (integer)
- `program_id` (string, required)

### `org_add_program_event` (~100 tokens)

Add a single event (practice, game, scrimmage, picture day, cancellation, etc.) to a program's calendar.

Input parameters:

- `address` (string)
- `ends_at` (string)
- `kind` (string, required)
- `location` (string)
- `notes` (string)
- `opponent` (string)
- `program_id` (string, required)
- `starts_at` (string, required): ISO 8601 timestamp

### `org_cancel_program_event` (~44 tokens)

Mark a program event as canceled. Enrolled parents see this in their hub + iCal.

Input parameters:

- `event_id` (string, required)
- `reason` (string)

### `org_analytics` (~31 tokens)

Org-level analytics — page views, saves, contacts in a date window.

Input parameters:

- `days` (integer)

### `org_generate_promo_kit_url` (~43 tokens)

Returns a URL to the org's downloadable promo kit (QR poster + share card) for a given program.

Input parameters:

- `program_id` (string, required)

### `daycare_capacity` (~31 tokens)

Get current capacity by age band for the daycare(s) this org owns.

Input parameters:

- `daycare_id` (string)

### `daycare_set_capacity` (~88 tokens)

Upsert capacity for one age band on a daycare. Age bands: infant, toddler, twos, threes, fours, prek, kindergarten.

Input parameters:

- `age_band` (string, required)
- `current_enrollment` (integer)
- `daycare_id` (string, required)
- `notes` (string)
- `total_slots` (integer, required)
- `waitlist_count` (integer)

### `daycare_list_tours` (~26 tokens)

Tour requests for the org's daycare(s).

Input parameters:

- `status` (string)

### `daycare_respond_to_tour` (~88 tokens)

Respond to a tour request — confirm with a date/time, propose alternates via notes, or decline.

Input parameters:

- `confirmed_date` (string): YYYY-MM-DD; required if response='confirm'
- `confirmed_time` (string): e.g. '10:30am'
- `note` (string)
- `response` (string, required)
- `tour_id` (string, required)

### `daycare_list_waitlist` (~28 tokens)

Current waitlist queue for the org's daycare.

Input parameters:

- `daycare_id` (string)

### `daycare_list_applications` (~25 tokens)

Submitted applications for the org's daycare.

Input parameters:

- `status` (string)

### `admin_pending_claims` (~43 tokens)

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.

### `admin_pending_discoveries` (~24 tokens)

Pending discoveries in admin queue.

Input parameters:

- `limit` (integer)

### `admin_pending_guides` (~15 tokens)

Pending editorial guide drafts.

### `admin_cost_summary` (~39 tokens)

Month-to-date spend across Anthropic / Firecrawl / Serper / Apify / Resend / Twilio (when each logger is in place).

### `admin_mcp_stats` (~26 tokens)

MCP call volume + top tools + top agents in the last 7 days.

### `admin_live_activity` (~30 tokens)

Last 24h of activity across the platform — signups, saves, contacts, claims, discoveries.

### `admin_search_trends` (~33 tokens)

Top parent search queries in the last 30d. Reads parent_search_queries.

Input parameters:

- `limit` (integer)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-lodikidsactivities-lodi-kids-activities/api-mcp#diagnostics

## Score history

- 2026-08-03: 62
- 2026-08-02: 61
- 2026-08-01: 61
- 2026-07-31: 60
- 2026-07-30: 58
- 2026-07-29: 58
- 2026-07-28: 57
- 2026-07-27: 56
- 2026-07-26: 56

## Links

- Remote endpoint: https://lodikidsactivities.com/api/mcp
- Changelog RSS feed: https://verifymcp.io/servers/com-lodikidsactivities-lodi-kids-activities/api-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-lodikidsactivities-lodi-kids-activities/api-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/com-lodikidsactivities-lodi-kids-activities/api-mcp
