MCP-server for AI-assistenter
Koble Claude, ChatGPT eller din egen agent til Solkart med Model Context Protocol. Åtte verktøy på mcp.solkart.no/mcp med adressesøk, PV-produksjon, TMY, snøtap, snølast, terrengkategori, solprognose og sanntidstall.
- POST /mcp
Ny tjeneste
MCP-serveren ble satt i drift 18. september 2026. Si fra hvis noe ikke virker som det skal: ta kontakt.
Hva det er
Model Context Protocol (MCP) er en åpen standard for hvordan AI-assistenter kobler seg til verktøy. Solkart-serveren pakker de samme beregningene som API-et inn som verktøy en assistent kan kalle selv: brukeren skriver «hva gir 120 kWp øst/vest på Dikeveien 52 i Fredrikstad, og hvor mye snølast må taket tåle?», og assistenten slår opp adressen, regner produksjonen og henter snølasten uten at du skriver en linje kode.
Serveren er tilstandsløs og bruker Streamable HTTP. Én adresse, alt over POST:
https://mcp.solkart.no/mcp
Den støtter både protokollversjon 2026-07-28 (uten initialize, med _meta og MCP-Protocol-Version-hodet per forespørsel) og de eldre versjonene 2025-11-25, 2025-06-18 og 2025-03-26 som de fleste klienter bruker i dag. Vi utsteder ingen sesjons-id-er, og GET /mcp svarer 405: det finnes ingen frittstående hendelsesstrøm.
Koble til
Claude Code / Claude Desktop (hoder støttes, anbefalt):
claude mcp add --transport http solkart https://mcp.solkart.no/mcp \
--header "X-API-Key: sk_live_…"
claude.ai og andre klienter som bare tar en URL: legg nøkkelen i spørrestrengen.
https://mcp.solkart.no/mcp?api_key=sk_live_…
Egen agent (Python, TypeScript …): pek MCP-klienten på adressen og send nøkkelen som Authorization: Bearer sk_live_… eller X-API-Key.
Uten nøkkel virker alle verktøyene som er åpne i API-et fra før, men da deler alle nøkkelløse brukere de samme IP-grensene, og kall uten nøkkel er begrenset til 30 per minutt. Nøkkelen gir deg dine egne kvoter: se autentisering og kvoter. Nøkkelen sendes uendret videre til api.solkart.no; MCP-serveren lagrer den ikke.
Verktøyene
| Verktøy | Gir | Bak kulissene | Nøkkel |
|---|---|---|---|
adressesok |
Adresse eller stedsnavn → koordinater | Kartverket/Geonorge | Nei |
pv_produksjon |
Års- og månedsproduksjon, inntil 4 takflater, klipping, P50–P95 | /api/pv/calc |
Nei |
snolast |
Karakteristisk snølast på mark, med kommunetabellen til sammenligning | /api/snowload/calc |
Nei |
snotap |
Snø- og smusstap per måned, eller snø på panelet neste 10 døgn | /api/snowsoiling/calc, /api/snow/outlook |
Nei |
tmy |
Årssummer, persentiler, valgte år og kilder, pluss nedlastingslenker | /api/tmy/stats, /api/tmy/sources |
Valgfri |
terrengkategori |
Terrengkategori og c_o per sektor, med kontrollpunkter | /api/terrain/jobs |
Nei (pilot) |
solproduksjon_naa |
Solproduksjon i Norge nå, fylke for fylke | Forsidens prognosekall | Nei |
solprognose |
Innstråling og produksjon time for time, 60 timer | /api/forecast |
Ja |
Verktøyene returnerer både et kort sammendrag i klartekst og hele svaret som structuredContent, med feltnavn på norsk. Store datamengder leveres ikke gjennom MCP: tmy gir statistikk og en nedlastingslenke, ikke 8760 timer, og solprognose gir timeserien for ett punkt.
terrengkategori tar 10 til 60 sekunder. Rekker den ikke ferdig innen ventetiden, svarer verktøyet med en jobb_id, og assistenten kaller det samme verktøyet på nytt med jobb_id for å hente resultatet (det lever i 15 minutter).
Takanalysen og sol og horisont er ikke med i første versjon.
Prøv med curl
curl -sS https://mcp.solkart.no/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-H 'MCP-Protocol-Version: 2025-06-18' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
curl -sS https://mcp.solkart.no/mcp \
-H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' \
-H 'MCP-Protocol-Version: 2025-06-18' -H "X-API-Key: $SOLKART_API_KEY" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"pv_produksjon",
"arguments":{"lat":59.2578,"lon":11.0030,"peakpower":10,"angle":35,"aspect":0}}}'
Med den nye protokollversjonen må hodene speile kroppen:
curl -sS https://mcp.solkart.no/mcp \
-H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' \
-H 'MCP-Protocol-Version: 2026-07-28' -H 'Mcp-Method: tools/call' -H 'Mcp-Name: snolast' \
-d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"snolast",
"arguments":{"lat":59.2578,"lon":11.0030},
"_meta":{"io.modelcontextprotocol/protocolVersion":"2026-07-28",
"io.modelcontextprotocol/clientCapabilities":{}}}}'
Feil
Feil i et verktøykall kommer som et vanlig resultat med isError: true og en forklaring på norsk, slik at assistenten kan rette opp selv. Protokollfeil kommer som JSON-RPC-feil:
| Status | Kode | Når |
|---|---|---|
400 |
-32700 |
Kroppen er ikke gyldig JSON |
400 |
-32600 |
Ikke gyldig JSON-RPC 2.0, eller en batch (støttes ikke) |
400 |
-32020 |
Hodene MCP-Protocol-Version, Mcp-Method eller Mcp-Name mangler eller matcher ikke kroppen |
400 |
-32022 |
Protokollversjonen støttes ikke; data.supported viser hvilke som gjør det |
403 |
-32600 |
Origin er ikke tillatt (nettleserklienter) |
404 |
-32601 |
Ukjent metode |
405 |
GET eller DELETE mot /mcp |
Forbehold
Alle tall er retningsgivende estimater, ikke målte verdier. Snølast og terrengkategori er beslutningsgrunnlag som ansvarlig prosjekterende kontrollerer og godkjenner. Assistenten får beskjed om dette i instruksjonene serveren sender med, men du bør si det videre til dem som leser svaret.