SchoolMessenger MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@SchoolMessenger MCPDraft an absence for Emma tomorrow with the reason 'doctor appointment'."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
SchoolMessenger MCP
Absence-only MCP server for SchoolMessenger SafeArrival.
This server is intentionally narrow. It can list attendance-enabled students, list absence types/reasons, list existing absences, draft an absence, submit a previously drafted absence, draft an absence cancellation, and cancel a previously drafted cancellation only when the caller provides the exact confirmation phrase returned by the draft tool.
Configuration
Use environment variables:
export SCHOOLMESSENGER_REGION=ca
export SCHOOLMESSENGER_USERNAME='parent@example.com'
export SCHOOLMESSENGER_PASSWORD='...'
schoolmessenger-mcpOr use the existing local credentials file:
export SCHOOLMESSENGER_REGION=ca
export SCHOOLMESSENGER_CREDS_FILE=~/.config/schoolmessenger.ca/creds.yml
export SCHOOLMESSENGER_ACCOUNT=default
schoolmessenger-mcpCredential YAML shape:
default:
username: parent@example.com
password: passwordDo not commit credentials.
Related MCP server: mcp-student-leave-copilot-ab
Tools
list_studentslist_absence_optionslist_absencesdraft_absencesubmit_absencedraft_cancel_absencecancel_absence
Safety
draft_absence performs local validation and returns a human-readable confirmation phrase.
submit_absence refuses to call SchoolMessenger unless the phrase exactly matches a draft stored
in the current MCP process.
draft_cancel_absence looks up an existing absence, returns a human-readable cancellation summary,
and provides a CANCEL ABSENCE <draft_id> confirmation phrase. cancel_absence refuses to call
SchoolMessenger unless that phrase exactly matches a cancellation draft stored in the current MCP
process.
The server never logs OAuth tokens or passwords.
Codex Desktop Example
{
"mcpServers": {
"schoolmessenger": {
"command": "python3",
"args": ["-m", "schoolmessenger_mcp.server"],
"env": {
"SCHOOLMESSENGER_REGION": "ca",
"SCHOOLMESSENGER_CREDS_FILE": "~/.config/schoolmessenger.ca/creds.yml",
"SCHOOLMESSENGER_ACCOUNT": "default"
}
}
}
}API Notes
Discovery notes are in docs/api.md.
This server cannot be deployed
Maintenance
Related MCP Connectors
Manage incidents and on-call: list/create/update incidents, who is on call, on-call overrides.
Create, configure and manage an AI phone receptionist. Requires a Fonixia account.
Manage Microsoft 365 email, calendar, contacts and inbox rules via the Graph API with OAuth 2.0.
Read appointments, types, calendars and availability; create, cancel or reschedule bookings.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables managing school attendance records and interacting with GitHub repositories, including committing files, fetching repository information, and marking student attendance status through natural language.-
- FlicenseAqualityDmaintenanceManages student leave requests and approvals, integrated with GitHub Copilot for natural language interaction.3-
- AlicenseNot gradedqualityAmaintenanceEnables accessing IServ school platform features such as timetable, exercises, messenger, and more via natural language, without exposing credentials to agents.1MIT
- FlicenseNot gradedqualityCmaintenanceProvides tools for querying student academic data such as subjects, marks, performance reports, timetable, exams, fees, events, holidays, and assignments via natural language.-