Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
WILMA_TENANTNoWilma address (https://<school>.inschool.fi) or city/school name. Optional alternative to a saved login.
WILMA_PASSWORDNoWilma password. Optional alternative to a saved login.
WILMA_USERNAMENoWilma username. Optional alternative to a saved login.
WILMA_TOTP_SECRETNoAuthenticator setup key, if the account uses two-step verification.
WILMAI_CONFIG_PATHNoOverride the saved login config path (default: ~/.config/wilmai/config.json or $XDG_CONFIG_HOME/wilmai/config.json).
WILMAI_NO_UPDATE_CHECKNoSet to 1 to disable the daily npm update check.
WILMAI_NO_SESSION_CACHENoSet to 1 to disable caching the current Wilma session.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
wilma_summaryA

Daily briefing per child: today's and the next school day's lessons, upcoming exams (with start times when given), recent homework, lesson notes since the previous school day (teachers' feedback and absences), recent bulletins, and recent and unread messages (ids, unread, replyCount). What Wilma didn't give is listed in unavailable ("news": this Wilma doesn't show this account its bulletins). The best starting point for any question about school.

wilma_scheduleC

Lessons for today, the next school day, this week, a specific date, or the next occurrence of a weekday.

wilma_homeworkB

Recent homework entries by lesson, newest first.

wilma_upcoming_examsB

Upcoming exams with subject, date and topic (what to study).

wilma_gradesC

Recent exam grades.

wilma_lesson_notesA

Lesson notes (merkinnät) teachers logged: absences, lateness, and feedback such as praise or missing books or homework, with the teacher's own words when given. One day (default today) or the last N days.

wilma_lesson_notes_summaryA

Lesson notes counted by kind (e.g. absences for health reasons, unexplained absences, lateness, praise, missing study materials): this school year by default, or from a date.

wilma_gradebookC

Completed courses and grades (Suoritukset) by subject, including term and school-year (report card) grades, with completion dates.

wilma_list_printoutsA

PDF documents the school offers (Tulosteet), such as report cards or absence reports. Fetch one with wilma_get_printout.

wilma_get_printoutA

Fetch one printout PDF so you can read it. Set save=true to also save it to the user's Downloads folder.

wilma_list_messagesA

Wilma messages, newest first (subject, sender, date, id). Use wilma_read_message for the full text.

wilma_read_messageA

Full text of one Wilma message, including thread replies.

wilma_list_newsA

School bulletins (tiedotteet): the newest dated ones, then pinned ones (pinned: true, e.g. the school-year bulletin), and with include_older also older bulletins (archived: true). Use wilma_read_news for the full text and attachments. unavailable: ["news"] means this Wilma doesn't show this account its bulletins, which isn't the same as having none.

wilma_read_newsA

Full text of one bulletin plus its linked resources (attachments and links). Fetch a resource with wilma_get_news_attachment.

wilma_get_news_attachmentA

Fetch a file linked from a bulletin (e.g. a PDF letter or menu) so you can read it. Returns the file content when it is a file, or 'not_a_file' with the URL when the link is a web page. Set save=true to also save it to the user's Downloads folder.

wilma_accountA

Which Wilma logins are connected and which children each one has. Families with children on different Wilmas can connect several (wilma_login adds another).

wilma_find_schoolA

Search Finland's Wilma addresses by city or by school or organisation name. Most city schools share their city's Wilma (big cities don't list each school), while many colleges, private schools and small municipalities' schools have their own. Use it to help the user pick their Wilma, e.g. when setting WILMA_TENANT; several can serve one city, so ask which is theirs.

wilma_loginA

Open a login page in the user's browser to connect a Wilma account, or add another one (for a child at a school with a different Wilma). The password is entered on that page, never in the chat.

wilma_logoutA

End WilmAI's Wilma session, as Wilma's own Log out does. Wilma allows one session per account, so use this when the user wants to use Wilma in their browser or asks to log out. The login stays saved: the next Wilma tool call logs in again, and that ends the user's session in the browser, so don't call other Wilma tools afterwards unless the user asks.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.3/5.0

Scored across 19 tools

Disambiguation4/5

Most tools target distinct resources or actions, but wilma_summary intentionally aggregates schedule, exams, homework, notes, news, and messages, so it overlaps with several targeted tools. wilma_gradebook and wilma_grades could also be confused by name, though their descriptions clarify the difference.

Naming Consistency4/5

All tools use the wilma_ prefix and snake_case, with list/get/read pairs following a predictable pattern. The main minor inconsistency is that several resource tools are noun-only (wilma_schedule, wilma_grades) while others use verbs (wilma_list_messages, wilma_read_message).

Tool Count3/5

At 19 tools, the surface feels heavy for a school portal even though it covers several subdomains such as grades, messages, bulletins, printouts, and authentication. The aggregate wilma_summary and multiple list/read/fetch pairs contribute to the bulk.

Completeness3/5

The read-only surface is broad and covers schedules, grades, homework, exams, lesson notes, messages, bulletins, and printouts. However, message handling is read-only with no send/reply or mark-read operation, and there are no write or submission workflows, which are notable gaps for a school communication portal.

Maintenance

ActivityActive
ResponsivenessWithin a week