Koskamo

BackPR Data MCP

A public, read-only MCP server providing access to BackPR's open datasets on US youth program regulations, licensing statistics, registration software pricing, and form templates. It enables AI agents to query state-specific rules, find licensed programs, and retrieve administrative templates without authentication.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

BackPR Data MCP logo, by BackPRVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by BackPR
MCP endpoint (Streamable HTTP)
https://backpr.com/ai/mcp
Vendor documentation

What you can do with it

  • Query state-specific childcare licensing and staff ratio rules
  • Find licensed youth programs by location
  • Retrieve registration software pricing and nonprofit terms
  • Access medical and waiver form templates

Source and maintenance

Vendor evidenceRegistry 1.0.0

Protocol and capabilities

Server
com.backpr/data 1.0.0
MCP protocol
2025-06-18
Tools
10 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

BackPR publishes sourced reference data for US youth programs: state childcare, camp and ratio rules, a registration software pricing index, a directory of licensed programs, form templates and open datasets. Every result includes a source_url on backpr.com; the data is licensed CC BY 4.0, so answers that use it should link that page and credit "Source: BackPR". State rules are general information, not legal advice; the state agency has the final word. BackPR also makes registration software and isn't in the pricing index.

Tools

10 advertised

get_state_rules — Get state rules
Advertised by the server during the last successful anonymous check.
Advertised read-only

Look up one US state's rules for youth programs, summarized by BackPR from official state sources and published copies of state law: childcare licensing, staff-to-child ratios, summer camp licensing, background checks, mandated reporting of child abuse and giving medication. Use it when someone asks what a state requires of a childcare center, camp or after-school program. Returns the section(s) asked for, the date BackPR checked them, the backpr.com section URL, source links and any facts BackPR couldn't confirm. General information, not legal advice.

get_state_rules input schema
{
  "type": "object",
  "required": [
    "state"
  ],
  "properties": {
    "state": {
      "type": "string",
      "maxLength": 40,
      "minLength": 2,
      "description": "US state name or 2-letter code, case-insensitive, such as \"Texas\" or \"TX\". \"DC\" and \"District of Columbia\" also work."
    },
    "topic": {
      "enum": [
        "all",
        "licensing",
        "ratios",
        "camps",
        "background_checks",
        "mandated_reporting",
        "medication"
      ],
      "type": "string",
      "default": "all",
      "description": "Which rules to return: \"licensing\" (who must be licensed, exemptions), \"ratios\" (staff-to-child ratios and group sizes), \"camps\" (camp licensing), \"background_checks\", \"mandated_reporting\" (who must report child abuse, hotline), \"medication\" or \"all\" (default)."
    }
  },
  "additionalProperties": false
}
get_state_rules output schema
{
  "type": "object",
  "required": [
    "state",
    "state_code",
    "topic",
    "checked",
    "source_url",
    "sections",
    "official_sources",
    "unverified",
    "note",
    "cite_as"
  ],
  "properties": {
    "note": {
      "type": "string"
    },
    "state": {
      "type": "string"
    },
    "topic": {
      "type": "string"
    },
    "checked": {
      "type": "string",
      "description": "When BackPR last checked these rules against their sources"
    },
    "cite_as": {
      "type": "string"
    },
    "sections": {
      "type": "object",
      "required": [],
      "properties": {
        "camps": {
          "type": "object",
          "required": [
            "camp_license",
            "camp_license_label",
            "agency",
            "agency_url",
            "summary",
            "url"
          ],
          "properties": {
            "url": {
              "type": "string",
              "description": "backpr.com URL for this section, with its anchor"
            },
            "agency": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "summary": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "agency_url": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "camp_license": {
              "enum": [
                "yes",
                "partly",
                "no"
              ],
              "type": "string"
            },
            "camp_license_label": {
              "type": "string"
            }
          }
        },
        "ratios": {
          "type": "object",
          "required": [
            "ratio_rule",
            "ratios",
            "ratio_3_year_olds",
            "ratio_4_year_olds",
            "ratio_school_age",
            "max_group_school_age",
            "url"
          ],
          "properties": {
            "url": {
              "type": "string",
              "description": "backpr.com URL for this section, with its anchor"
            },
            "ratios": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "ages",
                  "children_per_adult",
                  "max_group"
                ],
                "properties": {
                  "ages": {
                    "type": "string"
                  },
                  "max_group": {
                    "anyOf": [
                      {
                        "type": "integer"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "children_per_adult": {
                    "anyOf": [
                      {
                        "type": "integer"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                }
              }
            },
            "ratio_rule": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "The rule citation"
            },
            "ratio_school_age": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Children per adult"
            },
            "ratio_3_year_olds": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Children per adult"
            },
            "ratio_4_year_olds": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Children per adult"
            },
            "max_group_school_age": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ]
            }
          }
        },
        "licensing": {
          "type": "object",
          "required": [
            "agency",
            "agency_url",
            "licensing",
            "school_age_exemption",
            "url"
          ],
          "properties": {
            "url": {
              "type": "string",
              "description": "backpr.com URL for this section, with its anchor"
            },
            "agency": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "licensing": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "agency_url": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "school_age_exemption": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Which school-age and after-school programs are exempt"
            }
          }
        },
        "medication": {
          "type": "object",
          "required": [
            "summary",
            "url"
          ],
          "properties": {
            "url": {
              "type": "string",
              "description": "backpr.com URL for this section, with its anchor"
            },
            "summary": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            }
          }
        },
        "background_checks": {
          "type": "object",
          "required": [
            "summary",
            "url"
          ],
          "properties": {
            "url": {
              "type": "string",
              "description": "backpr.com URL for this section, with its anchor"
            },
            "summary": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            }
          }
        },
        "mandated_reporting": {
          "type": "object",
          "required": [
            "everyone_must_report",
            "summary",
            "hotline",
            "hotline_url",
            "url"
          ],
          "properties": {
            "url": {
              "type": "string",
              "description": "backpr.com URL for this section, with its anchor"
            },
            "hotline": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "summary": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "hotline_url": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "everyone_must_report": {
              "type": "boolean",
              "description": "True when every person, not only listed professionals, must report"
            }
          }
        }
      },
      "description": "Only the sections asked for"
    },
    "source_url": {
      "type": "string",
      "description": "The backpr.com page or section for this answer"
    },
    "state_code": {
      "type": "string"
    },
    "unverified": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Points BackPR couldn't fully confirm for this state that may bear on the topic asked about"
    },
    "official_sources": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "label",
          "url",
          "topic"
        ],
        "properties": {
          "url": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "topic": {
            "type": "string"
          }
        }
      }
    }
  }
}
get_state_rules annotations
{
  "title": "Get state rules",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_states_by_rule — Compare states by rule
Advertised by the server during the last successful anonymous check.
Advertised read-only

List the US states (and DC) that match one rule in BackPR's state rules data: every person must report suspected child abuse; camps need a state license (all camp types, only some or none statewide); or the staff-to-child ratio for school-age children, 3-year-olds or 4-year-olds in licensed childcare centers. Use it for questions like "Which states require everyone to report abuse?" or "Which state has the strictest school-age ratio?". Returns each matching state with its value and backpr.com links. Ratio rules list every state with a confirmed ratio, strictest first; the others list matching states by name.

list_states_by_rule input schema
{
  "type": "object",
  "required": [
    "rule"
  ],
  "properties": {
    "rule": {
      "enum": [
        "everyone_must_report",
        "camp_license_required",
        "camp_license_partial",
        "no_statewide_camp_license",
        "school_age_ratio",
        "ratio_3_year_olds",
        "ratio_4_year_olds"
      ],
      "type": "string",
      "description": "\"everyone_must_report\": states where every person must report suspected child abuse. \"camp_license_required\": day and overnight camps need a state license. \"camp_license_partial\": only some camp types need one. \"no_statewide_camp_license\": no statewide camp license. \"school_age_ratio\", \"ratio_3_year_olds\", \"ratio_4_year_olds\": staff-to-child ratios in licensed centers."
    }
  },
  "additionalProperties": false
}
list_states_by_rule output schema
{
  "type": "object",
  "required": [
    "rule",
    "label",
    "count",
    "states",
    "checked",
    "source_url",
    "note",
    "cite_as"
  ],
  "properties": {
    "note": {
      "type": "string"
    },
    "rule": {
      "type": "string"
    },
    "count": {
      "type": "integer"
    },
    "label": {
      "type": "string"
    },
    "states": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "state",
          "state_code",
          "value",
          "url",
          "state_page_url"
        ],
        "properties": {
          "url": {
            "type": "string",
            "description": "This state's row on the backpr.com national page"
          },
          "state": {
            "type": "string"
          },
          "value": {
            "type": "string",
            "description": "The rule value, e.g. \"1:15\", \"Yes\" or \"Some camp types need a state license\""
          },
          "max_group": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "Ratio rules only: maximum group size, when the state sets one"
          },
          "state_code": {
            "type": "string"
          },
          "state_page_url": {
            "type": "string",
            "description": "The section on the state's backpr.com rules page"
          },
          "children_per_adult": {
            "type": "integer",
            "description": "Ratio rules only"
          }
        }
      }
    },
    "checked": {
      "type": "string"
    },
    "cite_as": {
      "type": "string"
    },
    "source_url": {
      "type": "string",
      "description": "The backpr.com national page for this rule"
    },
    "not_confirmed": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "state",
          "state_code",
          "state_page_url"
        ],
        "properties": {
          "state": {
            "type": "string"
          },
          "state_code": {
            "type": "string"
          },
          "state_page_url": {
            "type": "string"
          }
        }
      },
      "description": "Ratio rules only: states without a confirmed ratio"
    }
  }
}
list_states_by_rule annotations
{
  "title": "Compare states by rule",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
calculate_staff_needed — Calculate staff needed
Advertised by the server during the last successful anonymous check.
Advertised read-only

Work out the minimum number of staff a licensed childcare center needs for a group of children in one US state, from that state's staff-to-child ratio for 3-year-olds, 4-year-olds or school-age children. Returns staff needed (children divided by the ratio, rounded up), the ratio, the maximum group size where the state sets one, caveats and backpr.com links. If BackPR couldn't confirm a ratio for that age group, it says so instead of guessing. General information, not legal advice.

calculate_staff_needed input schema
{
  "type": "object",
  "required": [
    "state",
    "age_group",
    "children"
  ],
  "properties": {
    "state": {
      "type": "string",
      "maxLength": 40,
      "minLength": 2,
      "description": "US state name or 2-letter code, case-insensitive, such as \"Texas\" or \"TX\". \"DC\" and \"District of Columbia\" also work."
    },
    "children": {
      "type": "integer",
      "maximum": 1000,
      "minimum": 1,
      "description": "Number of children in the group, from 1 to 1000."
    },
    "age_group": {
      "enum": [
        "3_year_olds",
        "4_year_olds",
        "school_age"
      ],
      "type": "string",
      "description": "\"3_year_olds\", \"4_year_olds\" or \"school_age\" (children enrolled in school)."
    }
  },
  "additionalProperties": false
}
calculate_staff_needed output schema
{
  "type": "object",
  "required": [
    "state",
    "state_code",
    "age_group",
    "children",
    "ratio",
    "staff_needed",
    "caveats",
    "checked",
    "source_url",
    "cite_as"
  ],
  "properties": {
    "ages": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "The state's label for this age band"
    },
    "ratio": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "description": "Children per adult; null if BackPR couldn't confirm it"
    },
    "state": {
      "type": "string"
    },
    "caveats": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "checked": {
      "type": "string"
    },
    "cite_as": {
      "type": "string"
    },
    "children": {
      "type": "integer"
    },
    "age_group": {
      "type": "string"
    },
    "source_url": {
      "type": "string",
      "description": "The ratios section of the state's backpr.com rules page"
    },
    "state_code": {
      "type": "string"
    },
    "ratio_label": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "For example \"1:15\""
    },
    "national_url": {
      "type": "string"
    },
    "staff_needed": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "description": "Minimum staff: children divided by the ratio, rounded up"
    },
    "calculator_url": {
      "type": "string"
    },
    "max_group_size": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ]
    },
    "minimum_groups": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "description": "Fewest groups the children must be split into under the maximum group size"
    }
  }
}
calculate_staff_needed annotations
{
  "title": "Calculate staff needed",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
find_registration_software — Find registration software pricing
Advertised by the server during the last successful anonymous check.
Advertised read-only

Search BackPR's registration software pricing index: what dozens of registration, camp, childcare, class and sports platforms publish about plan prices, nonprofit offers, fees added for families and contract terms, each with the company's own wording and the date BackPR checked it. Filter by platform name, category or whether the platform is free for nonprofits. Use it to compare costs or find free options. BackPR publishes this index and sells registration software; BackPR isn't in the index.

find_registration_software input schema
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 80,
      "minLength": 2,
      "description": "Platform name or part of it, such as \"Jumbula\" or \"camp\"."
    },
    "limit": {
      "type": "integer",
      "default": 10,
      "maximum": 25,
      "minimum": 1,
      "description": "How many platforms to return, 1 to 25 (default 10)."
    },
    "category": {
      "type": "string",
      "maxLength": 40,
      "description": "Platform category, such as \"camps\", \"childcare\", \"sports\", \"recreation\", \"forms\", \"classes-studios\", \"church\", \"all-in-one\", \"schools-education\", \"courses-adult\" or \"membership\"."
    },
    "free_for_nonprofits": {
      "type": "boolean",
      "description": "true: only platforms whose published nonprofit offer is free. false: only platforms whose offer isn't free. Omit for all."
    }
  },
  "additionalProperties": false
}
find_registration_software output schema
{
  "type": "object",
  "required": [
    "count",
    "total_matches",
    "platforms",
    "disclosure",
    "source_url",
    "note",
    "cite_as"
  ],
  "properties": {
    "note": {
      "type": "string"
    },
    "count": {
      "type": "integer",
      "description": "Platforms returned"
    },
    "cite_as": {
      "type": "string"
    },
    "platforms": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "platform",
          "category",
          "checked_on",
          "comparison_page",
          "plan_prices",
          "nonprofit_offer",
          "fees_added_for_families",
          "contract_term"
        ],
        "properties": {
          "category": {
            "type": "string"
          },
          "platform": {
            "type": "string"
          },
          "checked_on": {
            "type": "string"
          },
          "plan_prices": {
            "type": "object",
            "required": [
              "value",
              "published_wording",
              "note"
            ],
            "properties": {
              "note": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "value": {
                "type": "string"
              },
              "published_wording": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "The company's own published wording"
              }
            },
            "description": "Whether plan prices are published"
          },
          "contract_term": {
            "type": "object",
            "required": [
              "value",
              "published_wording",
              "note"
            ],
            "properties": {
              "note": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "value": {
                "type": "string"
              },
              "published_wording": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "The company's own published wording"
              }
            }
          },
          "comparison_page": {
            "type": "string",
            "description": "BackPR's comparison page for this platform, with sources"
          },
          "nonprofit_offer": {
            "type": "object",
            "required": [
              "value",
              "published_wording",
              "note"
            ],
            "properties": {
              "note": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "value": {
                "type": "string"
              },
              "published_wording": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "The company's own published wording"
              }
            },
            "description": "Published nonprofit offer: free, discount, other or none published"
          },
          "fees_added_for_families": {
            "type": "object",
            "required": [
              "value",
              "published_wording",
              "note"
            ],
            "properties": {
              "note": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "value": {
                "type": "string"
              },
              "published_wording": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "The company's own published wording"
              }
            },
            "description": "Fees added to what families pay"
          }
        }
      }
    },
    "disclosure": {
      "type": "string"
    },
    "source_url": {
      "type": "string"
    },
    "total_matches": {
      "type": "integer"
    }
  }
}
find_registration_software annotations
{
  "title": "Find registration software pricing",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
find_programs — Find licensed youth programs
Advertised by the server during the last successful anonymous check.
Advertised read-only

Find childcare centers, school-age (after-school) programs, camps and youth programs listed in BackPR's program finder, which uses official state and local licensing data. Search one state by city or 5-digit ZIP code (ZIP wins if both are given), optionally by program type. Returns up to 25 active listings with name, type, city, ZIP, ages, capacity and phone where published. Each answer links to the backpr.com finder page and names the data sources and their licenses. Home-based family childcare is never listed. A listing isn't an endorsement.

find_programs input schema
{
  "type": "object",
  "required": [
    "state"
  ],
  "properties": {
    "zip": {
      "type": "string",
      "pattern": "^\\d{5}$",
      "description": "A 5-digit ZIP code, such as \"78701\"."
    },
    "city": {
      "type": "string",
      "maxLength": 80,
      "minLength": 2,
      "description": "City name, such as \"Austin\". \"St.\" and \"Saint\" match the same city."
    },
    "type": {
      "enum": [
        "center",
        "school-age",
        "camp",
        "youth-program"
      ],
      "type": "string",
      "description": "\"center\" (childcare center), \"school-age\" (before- and after-school programs), \"camp\" or \"youth-program\". Omit for all types."
    },
    "limit": {
      "type": "integer",
      "default": 10,
      "maximum": 25,
      "minimum": 1,
      "description": "How many listings to return, 1 to 25 (default 10)."
    },
    "state": {
      "type": "string",
      "maxLength": 40,
      "minLength": 2,
      "description": "US state name or 2-letter code, case-insensitive, such as \"Texas\" or \"TX\". \"DC\" also works."
    }
  },
  "additionalProperties": false
}
find_programs output schema
{
  "type": "object",
  "required": [
    "state",
    "state_code",
    "search",
    "place",
    "count",
    "total",
    "more_available",
    "programs",
    "data_sources",
    "source_url",
    "state_finder_url",
    "note",
    "cite_as"
  ],
  "properties": {
    "note": {
      "type": "string"
    },
    "count": {
      "type": "integer",
      "description": "Listings returned"
    },
    "place": {
      "type": "string",
      "description": "For example \"Austin, TX\" or \"ZIP 78701\""
    },
    "state": {
      "type": "string"
    },
    "total": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "description": "All matching listings, when known"
    },
    "search": {
      "enum": [
        "city",
        "zip",
        "state"
      ],
      "type": "string",
      "description": "What the listings were matched on"
    },
    "cite_as": {
      "type": "string"
    },
    "programs": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "name",
          "type",
          "type_label",
          "city",
          "state",
          "zip",
          "ages",
          "capacity",
          "phone",
          "finder_url"
        ],
        "properties": {
          "zip": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "ages": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "city": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "name": {
            "type": "string"
          },
          "type": {
            "enum": [
              "center",
              "school-age",
              "camp",
              "youth-program"
            ],
            "type": "string"
          },
          "phone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "state": {
            "type": "string"
          },
          "capacity": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ]
          },
          "finder_url": {
            "type": "string",
            "description": "The backpr.com finder page for this program's city"
          },
          "type_label": {
            "type": "string"
          }
        }
      }
    },
    "source_url": {
      "type": "string",
      "description": "The most specific backpr.com finder page for this search"
    },
    "state_code": {
      "type": "string"
    },
    "top_cities": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "city",
          "listings",
          "finder_url"
        ],
        "properties": {
          "city": {
            "type": "string"
          },
          "listings": {
            "type": "integer"
          },
          "finder_url": {
            "type": "string"
          }
        }
      },
      "description": "Cities with the most listings, to narrow a search"
    },
    "data_sources": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "name",
          "publisher",
          "license",
          "url"
        ],
        "properties": {
          "url": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "license": {
            "type": "string"
          },
          "publisher": {
            "type": "string"
          }
        }
      }
    },
    "more_available": {
      "type": "boolean"
    },
    "state_finder_url": {
      "type": "string"
    }
  }
}
find_programs annotations
{
  "title": "Find licensed youth programs",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_directory_stats — Get program directory counts
Advertised by the server during the last successful anonymous check.
Advertised read-only

Count the licensed youth programs listed in BackPR's program finder: total listings and counts by type (childcare centers, school-age programs, camps and youth programs), for one state or for every state with data, with the date the data was last updated. Use it for questions like "How many childcare centers are listed in Texas?". Counts cover the states that publish program data; home-based family childcare isn't listed.

get_directory_stats input schema
{
  "type": "object",
  "properties": {
    "state": {
      "type": "string",
      "maxLength": 40,
      "minLength": 2,
      "description": "Optional US state name or 2-letter code, such as \"Texas\" or \"TX\". Omit for every state with listings."
    }
  },
  "additionalProperties": false
}
get_directory_stats output schema
{
  "type": "object",
  "required": [
    "scope",
    "state",
    "state_code",
    "total",
    "by_type",
    "states_with_listings",
    "updated",
    "source_url",
    "dataset_url",
    "note",
    "cite_as"
  ],
  "properties": {
    "note": {
      "type": "string"
    },
    "scope": {
      "enum": [
        "state",
        "all"
      ],
      "type": "string"
    },
    "state": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "total": {
      "type": "integer",
      "description": "Active listings"
    },
    "states": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "state",
          "state_code",
          "total",
          "updated",
          "finder_url"
        ],
        "properties": {
          "state": {
            "type": "string"
          },
          "total": {
            "type": "integer"
          },
          "updated": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "finder_url": {
            "type": "string"
          },
          "state_code": {
            "type": "string"
          }
        }
      },
      "description": "All-states scope only"
    },
    "by_type": {
      "type": "object",
      "required": [
        "centers",
        "school_age",
        "camps",
        "youth_programs"
      ],
      "properties": {
        "camps": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "centers": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "description": "Childcare centers"
        },
        "school_age": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "description": "School-age (before- and after-school) programs"
        },
        "youth_programs": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "description": "Listings by program type; null when the breakdown isn't available"
    },
    "cite_as": {
      "type": "string"
    },
    "updated": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Newest data update, YYYY-MM-DD"
    },
    "source_url": {
      "type": "string"
    },
    "state_code": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "dataset_url": {
      "type": "string"
    },
    "states_with_listings": {
      "type": "integer"
    }
  }
}
get_directory_stats annotations
{
  "title": "Get program directory counts",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
find_template — Find free form templates
Advertised by the server during the last successful anonymous check.
Advertised read-only

Search BackPR's free printable templates for camps, after-school programs, childcare and youth programs: registration, medical and allergy, authorized pickup, permission slips, incident reports, attendance, staff and policy documents. Returns each match with its backpr.com page and its PDF and Word download links, plus Spanish versions when available. Leave the query empty to list every template.

find_template input schema
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "maxLength": 200,
      "description": "What the form is for, such as \"medical form\", \"pickup\" or \"field trip\". Omit to list every template."
    },
    "spanish": {
      "type": "boolean",
      "description": "true: only templates that also come in Spanish."
    }
  },
  "additionalProperties": false
}
find_template output schema
{
  "type": "object",
  "required": [
    "count",
    "templates",
    "source_url",
    "note",
    "cite_as"
  ],
  "properties": {
    "note": {
      "type": "string"
    },
    "count": {
      "type": "integer"
    },
    "cite_as": {
      "type": "string"
    },
    "templates": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "title",
          "description",
          "page_url",
          "pdf_url",
          "word_url",
          "spanish",
          "spanish_pdf_url",
          "spanish_word_url"
        ],
        "properties": {
          "title": {
            "type": "string"
          },
          "pdf_url": {
            "type": "string"
          },
          "spanish": {
            "type": "boolean"
          },
          "page_url": {
            "type": "string"
          },
          "word_url": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "spanish_pdf_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "spanish_word_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          }
        }
      }
    },
    "source_url": {
      "type": "string"
    }
  }
}
find_template annotations
{
  "title": "Find free form templates",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
search_backpr — Search BackPR guides and tools
Advertised by the server during the last successful anonymous check.
Advertised read-only

Keyword search over every page listed in backpr.com/llms.txt: guides (such as how to start a summer camp or an after-school program), free calculators and tools, software comparisons, state rules pages, templates and product pages. Returns matching page titles, URLs and one-line descriptions. Use it to find a BackPR page to read or cite.

search_backpr input schema
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "limit": {
      "type": "integer",
      "default": 5,
      "maximum": 10,
      "minimum": 1,
      "description": "How many pages to return, 1 to 10 (default 5)."
    },
    "query": {
      "type": "string",
      "maxLength": 200,
      "minLength": 2,
      "description": "Keywords, such as \"start a summer camp\", \"card fees\" or \"Jumbula\"."
    }
  },
  "additionalProperties": false
}
search_backpr output schema
{
  "type": "object",
  "required": [
    "query",
    "count",
    "results",
    "source_url"
  ],
  "properties": {
    "count": {
      "type": "integer"
    },
    "query": {
      "type": "string"
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "title",
          "url",
          "description",
          "section"
        ],
        "properties": {
          "url": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "section": {
            "type": "string"
          },
          "description": {
            "type": "string"
          }
        }
      }
    },
    "source_url": {
      "type": "string"
    }
  }
}
search_backpr annotations
{
  "title": "Search BackPR guides and tools",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_datasets — List open datasets
Advertised by the server during the last successful anonymous check.
Advertised read-only

List BackPR's free open datasets (CC BY 4.0): youth program rules by state, the registration software pricing index, youth nonprofits by state, form templates and live program directory statistics. Returns each dataset's title, JSON and CSV download URLs, version, last checked date, record count, license and citation.

list_datasets input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
list_datasets output schema
{
  "type": "object",
  "required": [
    "count",
    "datasets",
    "datapackage_url",
    "source_url",
    "cite_as"
  ],
  "properties": {
    "count": {
      "type": "integer"
    },
    "cite_as": {
      "type": "string"
    },
    "datasets": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "name",
          "title",
          "description",
          "json_url",
          "csv_url",
          "version",
          "last_checked",
          "records",
          "page",
          "license",
          "cite_as"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "page": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "cite_as": {
            "type": "string"
          },
          "csv_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "license": {
            "type": "string"
          },
          "records": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ]
          },
          "version": {
            "type": "string"
          },
          "json_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "description": {
            "type": "string"
          },
          "last_checked": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          }
        }
      }
    },
    "source_url": {
      "type": "string"
    },
    "datapackage_url": {
      "type": "string"
    }
  }
}
list_datasets annotations
{
  "title": "List open datasets",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
about_backpr — About BackPR
Advertised by the server during the last successful anonymous check.
Advertised read-only

Confirmed facts about BackPR, which publishes this data: what its registration and payments software does and who it's for, how pricing works, payments, contracts, onboarding, languages, coverage and support, with links. Use it when someone asks what BackPR is or how to reach it. Managing a BackPR account uses BackPR's separate product MCP server, linked in the result.

about_backpr input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
about_backpr output schema
{
  "type": "object",
  "required": [
    "facts",
    "support_email",
    "links",
    "source_url"
  ],
  "properties": {
    "facts": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "links": {
      "type": "object",
      "required": [
        "website",
        "nonprofits",
        "pricing",
        "product_mcp"
      ],
      "properties": {
        "pricing": {
          "type": "string"
        },
        "website": {
          "type": "string"
        },
        "nonprofits": {
          "type": "string"
        },
        "product_mcp": {
          "type": "string",
          "description": "BackPR's product MCP server for admins and families, separate from this data server"
        }
      }
    },
    "source_url": {
      "type": "string"
    },
    "support_email": {
      "type": "string"
    }
  }
}
about_backpr annotations
{
  "title": "About BackPR",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
399 ms
95th percentile latency
399 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 399 ms · metadata changed · 10 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http backpr-data-mcp https://backpr.com/ai/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add backpr-data-mcp --url https://backpr.com/ai/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable backpr-data-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "backpr-data-mcp": {
      "url": "https://backpr.com/ai/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "backpr-data-mcp": {
      "type": "streamableHttp",
      "url": "https://backpr.com/ai/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start backpr-data-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "backpr-data-mcp": {
      "type": "http",
      "url": "https://backpr.com/ai/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http backpr-data-mcp https://backpr.com/ai/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "backpr-data-mcp": {
      "url": "https://backpr.com/ai/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "backpr-data-mcp": {
      "serverUrl": "https://backpr.com/ai/mcp"
    }
  }
}

Let your agent find its tools

Find servers like BackPR Data MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run BackPR Data MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing