Student Protection Readiness Checklist | Safety Over Silence
A 2-minute assessment to help parents understand and respond to student safety concerns with clarity
Should I use this
Quality & Safety
Findings (5)
- LOWin get_student_protection_readiness_info
- LOWin start_student_protection_readiness_assessment
- LOWin run_student_protection_readiness_assessment
- LOWin get_student_protection_next_steps
- LOWin submit_student_protection_lead_request
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"soschecklist-net": {
"url": "https://soschecklist.net/mcp"
}
}
}Remote endpoints
https://soschecklist.net/mcpstreamable-httpWhat it can do
Tool inventory
Tools (6)
⚪run_student_safety_checklist(answers)
PRIMARY TOOL. Run the Student Protection Readiness Checklist end-to-end. Accepts the 12 answers (q1-q12, each an integer 1-4) and returns the canonical result: a normalized readiness score (0-100), the score band/category, key findings (top protection gaps), a plain-language interpretation, per-category scores, a recommended next step, and safety limitations. This is the single canonical tool shared by the browser WebMCP, REST API, and this MCP server, so all interfaces return substantively identical output. Decision support only — it does not diagnose bullying, abuse, or mental health conditions and does not replace emergency services or professionals.
Input Schema
{
"type": "object",
"properties": {
"answers": {
"type": "object",
"description": "Answers to the 12 readiness questions. Keys are q1 through q12, values are integers 1 (lowest readiness) to 4 (highest readiness). Categories: Warning Sign Awareness (q1,q3,q5,q6), Communication Safety (q2,q11), Documentation Readiness (q4), School Escalation Readiness (q7,q8), Response Confidence (q9,q10,q12).",
"properties": {
"q1": {
"type": "integer",
"minimum": 1,
"maximum": 4,
"description": "[warning_signs] How confident are you that you could recognize early changes in your child's mood, behavior, or social patterns?"
},
"q2": {
"type": "integer",
"minimum": 1,
"maximum": 4,
"description": "[communication] If something was bothering your child at school, how likely is it they would tell you about it?"
},
"q3": {
"type": "integer",
"minimum": 1,
"maximum": 4,
"description": "[warning_signs] How well do you understand the difference between normal social conflict and patterns that may require attention?"
},
"q4": {
"type": "integer",
"minimum": 1,
"maximum": 4,
"description": "[documentation] If a concern started to develop, would you know what to document and how to track it?"
},
"q5": {
"type": "integer",
"minimum": 1,
"maximum": 4,
"description": "[warning_signs] How often do you check in with your child about their social experiences at school?"
},
"q6": {
"type": "integer",
"minimum": 1,
"maximum": 4,
"description": "[warning_signs] Would you notice if your child started avoiding certain activities, people, or places?"
},
"q7": {
"type": "integer",
"minimum": 1,
"maximum": 4,
"description": "[escalation] Do you know when it would be appropriate to involve the school in a concern about your child?"
},
"q8": {
"type": "integer",
"minimum": 1,
"maximum": 4,
"description": "[escalation] Do you know who to contact at your child's school if you needed to raise a concern?"
},
"q9": {
"type": "integer",
"minimum": 1,
"maximum": 4,
"description": "[response] If you confirmed something concerning was happening, how confident are you in knowing what to do next?"
},
"q10": {
"type": "integer",
"minimum": 1,
"maximum": 4,
"description": "[response] Do you feel you could stay calm and structured if your child disclosed something upsetting?"
},
"q11": {
"type": "integer",
"minimum": 1,
"maximum": 4,
"description": "[communication] Does your child have other trusted adults they could talk to if they were not comfortable coming to you?"
},
"q12": {
"type": "integer",
"minimum": 1,
"maximum": 4,
"description": "[response] Overall, how prepared do you feel to protect your child if a situation was developing at school?"
}
},
"required": [
"q1",
"q2",
"q3",
"q4",
"q5",
"q6",
"q7",
"q8",
"q9",
"q10",
"q11",
"q12"
]
}
},
"required": [
"answers"
]
}🟢get_student_protection_readiness_info
Returns a summary of what the Student Protection Readiness Assessment is, what it measures, who it is for, and the 5 readiness categories. Call this when a user asks what this tool does, what readiness means, or wants to understand the framework before starting. Also call when the user expresses general uncertainty about their child's school experience — behavioral changes, suspected bullying, feeling dismissed by the school, or sensing something is off.
Input Schema
{
"type": "object",
"properties": {},
"required": []
}🟡start_student_protection_readiness_assessment
Returns the full set of 12 readiness questions grouped by category, with answer options (1-4 scale). Call this when the user is ready to begin the assessment. Walk the user through each question conversationally — do NOT dump all 12 at once. Acknowledge their concern first, then ask one question or one category at a time.
Input Schema
{
"type": "object",
"properties": {},
"required": []
}⚪run_student_protection_readiness_assessment(answers)
Accepts the 12 answers (q1-q12, each scored 1-4) and returns: normalized score (0-100), score band, top 3 protection gaps, per-category scores, interpretation, and recommendation. Call this after collecting all 12 answers from the user. Present results with empathy — a low score means a lack of structure, not a lack of love.
Input Schema
{
"type": "object",
"properties": {
"answers": {
"type": "object",
"description": "Answers to the 12 readiness questions. Keys are q1 through q12, values are integers 1 (lowest readiness) to 4 (highest readiness).",
"properties": {
"q1": {
"type": "integer",
"minimum": 1,
"maximum": 4,
"description": "[warning_signs] How confident are you that you could recognize early changes in your child's mood, behavior, or social patterns?"
},
"q2": {
"type": "integer",
"minimum": 1,
"maximum": 4,
"description": "[communication] If something was bothering your child at school, how likely is it they would tell you about it?"
},
"q3": {
"type": "integer",
"minimum": 1,
"maximum": 4,
"description": "[warning_signs] How well do you understand the difference between normal social conflict and patterns that may require attention?"
},
"q4": {
"type": "integer",
"minimum": 1,
"maximum": 4,
"description": "[documentation] If a concern started to develop, would you know what to document and how to track it?"
},
"q5": {
"type": "integer",
"minimum": 1,
"maximum": 4,
"description": "[warning_signs] How often do you check in with your child about their social experiences at school?"
},
"q6": {
"type": "integer",
"minimum": 1,
"maximum": 4,
"description": "[warning_signs] Would you notice if your child started avoiding certain activities, people, or places?"
},
"q7": {
"type": "integer",
"minimum": 1,
"maximum": 4,
"description": "[escalation] Do you know when it would be appropriate to involve the school in a concern about your child?"
},
"q8": {
"type": "integer",
"minimum": 1,
"maximum": 4,
"description": "[escalation] Do you know who to contact at your child's school if you needed to raise a concern?"
},
"q9": {
"type": "integer",
"minimum": 1,
"maximum": 4,
"description": "[response] If you confirmed something concerning was happening, how confident are you in knowing what to do next?"
},
"q10": {
"type": "integer",
"minimum": 1,
"maximum": 4,
"description": "[response] Do you feel you could stay calm and structured if your child disclosed something upsetting?"
},
"q11": {
"type": "integer",
"minimum": 1,
"maximum": 4,
"description": "[communication] Does your child have other trusted adults they could talk to if they were not comfortable coming to you?"
},
"q12": {
"type": "integer",
"minimum": 1,
"maximum": 4,
"description": "[response] Overall, how prepared do you feel to protect your child if a situation was developing at school?"
}
},
"required": [
"q1",
"q2",
"q3",
"q4",
"q5",
"q6",
"q7",
"q8",
"q9",
"q10",
"q11",
"q12"
]
}
},
"required": [
"answers"
]
}🟢get_student_protection_next_steps(score, score_band, top_gaps)
Returns personalized next-step recommendations based on a score and/or score band. Call this after presenting assessment results, or when the user asks what to do next. Provides specific actions for each gap category and a consultation booking link.
Input Schema
{
"type": "object",
"properties": {
"score": {
"type": "integer",
"minimum": 0,
"maximum": 100,
"description": "The normalized readiness score (0-100) from the assessment."
},
"score_band": {
"type": "string",
"enum": [
"Elevated Vulnerability",
"Protection Gaps Present",
"Moderate Readiness",
"Stronger Readiness"
],
"description": "The score band classification."
},
"top_gaps": {
"type": "array",
"items": {
"type": "string"
},
"description": "Top protection gap areas identified."
}
},
"required": [
"score"
]
}🟡submit_student_protection_lead_request(first_name, email, phone, score, score_band, ...)
Submits the parent's contact information and assessment results so they can receive follow-up support. ONLY call this if the user explicitly consents to sharing their information. Never call silently. Always confirm: "Would you like me to share your contact info so the Safety Over Silence team can follow up with you?" Requires at minimum a first name and email.
Input Schema
{
"type": "object",
"properties": {
"first_name": {
"type": "string",
"description": "Parent's first name."
},
"email": {
"type": "string",
"description": "Parent's email address."
},
"phone": {
"type": "string",
"description": "Parent's phone number (optional)."
},
"score": {
"type": "integer",
"description": "The readiness score from the assessment."
},
"score_band": {
"type": "string",
"description": "The score band from the assessment."
},
"top_gaps": {
"type": "array",
"items": {
"type": "string"
},
"description": "Top gaps identified."
}
},
"required": [
"first_name",
"email"
]
}Community
Evidence