get_interview_guide
Get interview guide
Returns the interview guide: which questions to ask the user, default values, engine limits and the exact format of the 8 input files. Call this first.
Takes no parameters.

io.github.wilbek-sourcePublished by GitHub account wilbek-sourcev1.0.0Updated Oct 24, 2026
Build a full weekly timetable for a primary school (classes, teachers, rooms) via chat.
A remote MCP server that builds a full weekly primary-school timetable from eight input files supplied through chat, with validation and progress tracking.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/io.github.wilbek-source%2Ftimetable-builder/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Add this to your client's mcpServers config.
{
"mcpServers": {
"school-timetable-builder": {
"type": "http",
"url": "https://timetable-builder.wilbek.workers.dev/mcp"
}
}
}Get interview guide
Returns the interview guide: which questions to ask the user, default values, engine limits and the exact format of the 8 input files. Call this first.
Takes no parameters.
Validate input files (free)
Checks the 8 input files in a few seconds without creating a timetable: file structure, engine limits and a capacity analysis (enough teachers/time?). Returns VALID (with warnings) or INVALID (with reasons). Always run this before create_schedule.
filesrequireduser_countryuser_languageCreate timetable
Starts calculating the full timetable from the 8 input files (validate them first). Returns a job_id at once; the calculation takes about 5-8 minutes. Then keep calling get_schedule_result with the job_id in the same reply until it is done.
filesrequireduser_countryuser_languageGet timetable result
Gets the status or result of a job from create_schedule (or a slow validate_input). While running: progress. When done: a compact timetable as text plus a link (valid 1 hour) to the full JSON result. view='classes' (default) = one table per class, 'teachers' = one per teacher incl. preparation time, 'summary' = key figures and lists of classes/teachers only. Use 'names' to get only some classes/teachers (recommended for big schools). If impossible: the reasons.
viewnamesjob_idrequiredSend feedback to the developer
Passes the user's feedback about the timetable service on to its developer (what worked, what did not, wishes). Only call it when the user has said they want to give feedback, and send what the user said in their own words (you may shorten it; any language is fine). Never include teacher names, other personal data or the school's data files. Tell the user briefly that it was sent. Nobody replies through this channel - if the user wants an answer, give them the support email [email protected].
job_idmessagerequiredsentimentuser_countryuser_language83% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.
A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.