{"serverId":"mcp-registry/io.github.janoliverautomation-stack/soschecklist-net","tools":[{"name":"get_student_protection_next_steps","fixed":{"name":"get_student_protection_next_steps","description":"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.","inputSchema":{"type":"object","required":["score"],"properties":{"score":{"type":"integer","maximum":100,"minimum":0,"description":"The normalized readiness score (0-100) from the assessment."},"top_gaps":{"type":"array","items":{"type":"string"},"description":"Top protection gap areas identified."},"score_band":{"enum":["Elevated Vulnerability","Protection Gaps Present","Moderate Readiness","Stronger Readiness"],"type":"string","description":"The score band classification."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":221,"tokensAfter":221},{"name":"get_student_protection_readiness_info","fixed":{"name":"get_student_protection_readiness_info","description":"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.","inputSchema":{"type":"object","required":[],"properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":163,"tokensAfter":163},{"name":"run_student_protection_readiness_assessment","fixed":{"name":"run_student_protection_readiness_assessment","description":"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.","inputSchema":{"type":"object","required":["answers"],"properties":{"answers":{"type":"object","required":["q1","q2","q3","q4","q5","q6","q7","q8","q9","q10","q11","q12"],"properties":{"q1":{"type":"integer","maximum":4,"minimum":1,"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","maximum":4,"minimum":1,"description":"[communication] If something was bothering your child at school, how likely is it they would tell you about it?"},"q3":{"type":"integer","maximum":4,"minimum":1,"description":"[warning_signs] How well do you understand the difference between normal social conflict and patterns that may require attention?"},"q4":{"type":"integer","maximum":4,"minimum":1,"description":"[documentation] If a concern started to develop, would you know what to document and how to track it?"},"q5":{"type":"integer","maximum":4,"minimum":1,"description":"[warning_signs] How often do you check in with your child about their social experiences at school?"},"q6":{"type":"integer","maximum":4,"minimum":1,"description":"[warning_signs] Would you notice if your child started avoiding certain activities, people, or places?"},"q7":{"type":"integer","maximum":4,"minimum":1,"description":"[escalation] Do you know when it would be appropriate to involve the school in a concern about your child?"},"q8":{"type":"integer","maximum":4,"minimum":1,"description":"[escalation] Do you know who to contact at your child's school if you needed to raise a concern?"},"q9":{"type":"integer","maximum":4,"minimum":1,"description":"[response] If you confirmed something concerning was happening, how confident are you in knowing what to do next?"},"q10":{"type":"integer","maximum":4,"minimum":1,"description":"[response] Do you feel you could stay calm and structured if your child disclosed something upsetting?"},"q11":{"type":"integer","maximum":4,"minimum":1,"description":"[communication] Does your child have other trusted adults they could talk to if they were not comfortable coming to you?"},"q12":{"type":"integer","maximum":4,"minimum":1,"description":"[response] Overall, how prepared do you feel to protect your child if a situation was developing at school?"}},"description":"Answers to the 12 readiness questions. Keys are q1 through q12, values are integers 1 (lowest readiness) to 4 (highest readiness)."}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":787,"tokensAfter":787},{"name":"run_student_safety_checklist","fixed":{"name":"run_student_safety_checklist","description":"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 iden","inputSchema":{"type":"object","required":["answers"],"properties":{"answers":{"type":"object","required":["q1","q2","q3","q4","q5","q6","q7","q8","q9","q10","q11","q12"],"properties":{"q1":{"type":"integer","maximum":4,"minimum":1,"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","maximum":4,"minimum":1,"description":"[communication] If something was bothering your child at school, how likely is it they would tell you about it?"},"q3":{"type":"integer","maximum":4,"minimum":1,"description":"[warning_signs] How well do you understand the difference between normal social conflict and patterns that may require attention?"},"q4":{"type":"integer","maximum":4,"minimum":1,"description":"[documentation] If a concern started to develop, would you know what to document and how to track it?"},"q5":{"type":"integer","maximum":4,"minimum":1,"description":"[warning_signs] How often do you check in with your child about their social experiences at school?"},"q6":{"type":"integer","maximum":4,"minimum":1,"description":"[warning_signs] Would you notice if your child started avoiding certain activities, people, or places?"},"q7":{"type":"integer","maximum":4,"minimum":1,"description":"[escalation] Do you know when it would be appropriate to involve the school in a concern about your child?"},"q8":{"type":"integer","maximum":4,"minimum":1,"description":"[escalation] Do you know who to contact at your child's school if you needed to raise a concern?"},"q9":{"type":"integer","maximum":4,"minimum":1,"description":"[response] If you confirmed something concerning was happening, how confident are you in knowing what to do next?"},"q10":{"type":"integer","maximum":4,"minimum":1,"description":"[response] Do you feel you could stay calm and structured if your child disclosed something upsetting?"},"q11":{"type":"integer","maximum":4,"minimum":1,"description":"[communication] Does your child have other trusted adults they could talk to if they were not comfortable coming to you?"},"q12":{"type":"integer","maximum":4,"minimum":1,"description":"[response] Overall, how prepared do you feel to protect your child if a situation was developing at school?"}},"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)."}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":881,"tokensAfter":881},{"name":"start_student_protection_readiness_assessment","fixed":{"name":"start_student_protection_readiness_assessment","description":"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.","inputSchema":{"type":"object","required":[],"properties":{}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":128,"tokensAfter":128},{"name":"submit_student_protection_lead_request","fixed":{"name":"submit_student_protection_lead_request","description":"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.","inputSchema":{"type":"object","required":["first_name","email"],"properties":{"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."},"top_gaps":{"type":"array","items":{"type":"string"},"description":"Top gaps identified."},"first_name":{"type":"string","description":"Parent's first name."},"score_band":{"type":"string","description":"The score band from the assessment."}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":273,"tokensAfter":273}],"toolsChanged":6,"tokensSaved":0,"todo":[],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}