Vigilo Connector
FreeNot checkedPersonlig MCP-connector mot Vigilos uoffisielle foreldre-API (beskjeder, timeplan, fravær, samtykke, nyheter)
About
Personlig MCP-connector mot Vigilos uoffisielle foreldre-API (beskjeder, timeplan, fravær, samtykke, nyheter)
README
Personlig MCP-connector mot Vigilo sitt (uoffisielle) foreldre-API, slik at en agent kan lese beskjeder, timeplan, fravær, samtykker, nyheter m.m. og aksjonere på dem. Auth-flyten er inspirert av kartleggingen i brujoand/vigilo2smtp.
Kun til personlig bruk med egen foreldretilgang. API-et er reverse-engineert
og kan endres av Vigilo uten varsel — respektér Vigilos vilkår, og ikke hent mer
data enn du selv har tilgang til. Tokens og data holdes lokalt
(~/.config/vigilo-connector/, chmod 600) og legges aldri inn i repoet.
To API-er, ett token
Connectoren snakker med to endepunkter, og samme OAuth-token dekker begge:
- App-gateway (
api-gw-parent-app.prod.vigilo-oas.no) — beskjeder/tråder. - Web-foreldreportal (
web-parent.prod.vigilo-oas.no) — timeplan, fravær, samtykker, nyheter, vurdering. Det Vigilo-appen ikke eksponerer.
Auth er en konfidensiell OAuth2-client (Basic-auth med client_id/secret, uten
PKCE). Innloggingen federerer via ID-porten. Refresh-tokenet varer 30–90 dager;
da kjører du vigilo-login på nytt.
Oppsett
1. Client-credentials fra Android-appen
OAuth-clienten er Vigilos egen Android-app. Hent client_id og client_secret
fra APK-en (parent.vigilo.no.parentapplication):
- Last ned APK-en, f.eks. med apkeep:
apkeep -a parent.vigilo.no.parentapplication . - Dekompiler med jadx og les
parent/vigilo/no/parentapplication/core/api/ApiConfig.java— enum-verdiene forPRODinneholderbaseUrl,client_id,client_secretog redirect-URI. - Legg nøklene i
~/.config/vigilo-connector/config.json:
{ "client_id": "...", "client_secret": "..." }
(Alternativt miljøvariablene VIGILO_CLIENT_ID / VIGILO_CLIENT_SECRET.)
2. Installer og logg inn
python3 -m venv .venv && .venv/bin/pip install -e .
.venv/bin/vigilo-login
vigilo-login skriver ut en innloggings-URL. Åpne den i en nettleser og logg
inn med ID-porten. Nettleseren ender til slutt på en
app://ch-parent-android.vigilo.no?code=...-adresse — det er suksess. Lim
hele adressen (eller bare code-verdien) inn i terminalen.
Viktige detaljer:
- Er du allerede innlogget hos Vigilo, hopper URL-en rett gjennom (SSO) og
redirecten skjer momentant. Chrome/Safari viser da bare en tom feilside for
app://-adressen og kan tømme adresselinjen. Åpne DevTools → Network og huk av Preserve log før du starter — den feiledeapp://-requesten blir liggende der med helecode=.... - Logg inn fra en maskin uten Vigilo-appen installert, ellers kan OS-et gi redirecten til appen, som bruker opp engangskoden.
- Koder er engangs og kortlevde. Feiler utvekslingen: start en ny innlogging.
Headless innlogging (SSH / server uten skjerm)
På en maskin uten nettleser kan du ikke fange app://-redirecten lokalt. Bruk
--from-curl i stedet:
.venv/bin/vigilo-login --from-curl
Den skriver ut en authorize-URL. Gjør så dette i en desktop-nettleser (på en maskin uten Vigilo-appen), der du er innlogget hos Vigilo:
- Åpne DevTools → Network, naviger til den utskrevne URL-en.
- Høyreklikk
authorize-requesten → Copy → Copy as cURL. - Lim hele cURL-en inn i terminalen og avslutt med en linje
END(eller Ctrl-D).
Alternativt kan cURL-en leses fra fil eller pipe (mer robust for store blokker):
.venv/bin/vigilo-login --from-curl curl.txt # fra fil
pbpaste | ssh mini '~/Code/vigilo-connector/.venv/bin/vigilo-login --from-curl' # pipe over SSH
Verktøyet henter sesjonscookiene ut av cURL-en, gjør authorize-kallet selv og
fanger koden fra redirecten — ingen manuell jakt på app://-adressen. Nettleser
og server trenger ikke være samme maskin.
(Alternativt: kjør innloggingen på en maskin med nettleser og kopier
~/.config/vigilo-connector/tokens.json over til serveren.)
3. Registrer MCP-serveren i Claude Code
claude mcp add vigilo -- /path/to/vigilo-connector/.venv/bin/vigilo-mcp
(Bytt /path/to/vigilo-connector med din egen sti til repoet.)
Alternativ: JSON-konfig (import / manuell registrering)
Klienter som importerer MCP-servere fra JSON kan bruke denne blokken:
{
"mcpServers": {
"vigilo": {
"command": "/path/to/vigilo-connector/.venv/bin/vigilo-mcp"
}
}
}
Skal du legge den til manuelt i en klient (MCP → sett opp manuelt), bruk stdio-transport med samme kommando:
{
"transport": "stdio",
"command": "/path/to/vigilo-connector/.venv/bin/vigilo-mcp"
}
Verktøy
| Verktøy | Gjør |
|---|---|
web_list_children |
Barna dine med childId og organizationalUnitId (skole/klasse) |
list_children |
Barna via app-gatewayen (kun childId) |
list_message_threads / get_message_thread |
Beskjedtråder og meldinger (app-gateway) |
read_message_attachments |
Last ned og les vedlegg i en meldingstråd (PDF/docx→tekst) |
read_post_attachments |
Last ned og les vedlegg i et oppslag/«Siste nytt» (PDF/docx→tekst) — her ligger ofte ukeplanen |
news_feed |
«Siste nytt» / oppslag for et barn |
absences |
Fravær for et barn |
consent_forms |
Samtykkeskjemaer (krever organizationalUnitId) |
timetable |
Timeplan/ukesplan for en ISO-uke |
scheduling_events |
Prøver/aktiviteter i timeplanen for en uke |
api_get / web_api_get |
Rått GET mot app- hhv. web-API-et — for kartlegging |
childId og organizationalUnitId får du fra web_list_children; begge er
UUID-er. week er ISO-format YYYY-WW (default inneværende uke).
Kartlagte web-endepunkter
Base https://web-parent.prod.vigilo-oas.no, alle GET, Bearer-auth:
/api/children/my— barn (childId +organizationalUnits)/api/news-feed?childIds=&fromDate=&toDate=/api/message-threads?childIds=&fromDate=&toDate=/api/absences?childIds=/api/consent-forms?childId=&organizationalUnitId=/api/students/{childId}/lessons?organizationalUnitId=&week=YYYY-WW/api/scheduling-events/{childId}/student?organizationalUnitId=&week=YYYY-WW/api/school-years?organizationalUnitId=
Videre arbeid
Vurderings-/karakter-endepunktet laster først etter valg av skoleår/termin i
Vurdering-fanen og er ikke kartlagt ennå — sniff det med web_api_get. Nye
endepunkter legges inn i client.py og eksponeres i server.py.
Installing Vigilo Connector
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/fredrsat/vigilo-connectorFAQ
Is Vigilo Connector MCP free?
Yes, Vigilo Connector MCP is free — one-click install via Unyly at no cost.
Does Vigilo Connector need an API key?
No, Vigilo Connector runs without API keys or environment variables.
Is Vigilo Connector hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Vigilo Connector in Claude Desktop, Claude Code or Cursor?
Open Vigilo Connector on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Unyly Deploy
Deploy sites and MCP servers to Unyly straight from your AI agent
by UnylyAmap Maps Mcp Server
MCP server for using the AMap Maps API
by duxiaohuiPayMCP
Lightweight payments layer for MCP servers: turn tools into paid endpoints with a two-line decorator. [PyPI](https://pypi.org/project/paymcp/) · [npm](https://w
by blustAITemplate MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectSupabase
Database, auth and storage
by SupabaseEverything
Reference / test server with prompts, resources, and tools.
Git
Tools to read, search, and manipulate Git repositories.
Compare Vigilo Connector with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
