# Sky Solar (remote · pv.skysolar.de)

Solar installer for Munich and Rosenheim: 3D solar roof check, local subsidies, EEG feed-in, guide.

- Trust score: 75/100 (medium)
- Change this week: +2
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `pv.skysolar.de`: 75/100 (this document), [markdown](https://verifymcp.io/servers/de-skysolar-sky-solar/pv.md), [page](https://verifymcp.io/servers/de-skysolar-sky-solar/pv)

## Channel facts

- Endpoint: `https://pv.skysolar.de/mcp/`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.12.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Endpoint Security**: 80/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 61/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 5586 tokens (~253/item across 22 items; 22 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 99/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 97% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 22 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 23 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the Sky Solar MCP server?

Sky Solar is a hosted endpoint at https://pv.skysolar.de/mcp/, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http de-skysolar-sky-solar 'https://pv.skysolar.de/mcp/'
```

### Cursor

```json
{
  "mcpServers": {
    "de-skysolar-sky-solar": {
      "url": "https://pv.skysolar.de/mcp/"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "de-skysolar-sky-solar": {
      "type": "http",
      "url": "https://pv.skysolar.de/mcp/"
    }
  }
}
```

### Codex

```toml
[mcp_servers.de-skysolar-sky-solar]
url = "https://pv.skysolar.de/mcp/"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "de-skysolar-sky-solar": {
      "type": "remote",
      "url": "https://pv.skysolar.de/mcp/",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add de-skysolar-sky-solar --url 'https://pv.skysolar.de/mcp/' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  de-skysolar-sky-solar:
    url: "https://pv.skysolar.de/mcp/"
```

### Netclaw

```json
{
  "McpServers": {
    "de-skysolar-sky-solar": {
      "Transport": "http",
      "Url": "https://pv.skysolar.de/mcp/"
    }
  }
}
```

### Vellum

```bash
assistant mcp add de-skysolar-sky-solar -t streamable-http -u 'https://pv.skysolar.de/mcp/'
```

### Other

```json
{
  "mcpServers": {
    "de-skysolar-sky-solar": {
      "type": "http",
      "url": "https://pv.skysolar.de/mcp/"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-05 (score 75, +1)

- [functional] Server version: 1.12.0 → 1.12.1

### 2026-11-04 (score 74, 0)

- [security regression] Tool “roof_dxf” was removed
- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “plan_roof” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: 217 → 253
- [functional] Server version: 1.4.0 → 1.12.0
- [functional] New tool “area_figures”
- [functional] New tool “compare_plans”
- [functional] New tool “roof_picture_file”
- [functional] New tool “roof_picture_start”
- [functional] New tool “roof_picture_status”
- [functional] New tool “sun_tomorrow”
- [cosmetic] “find_subsidies” added an optional parameter “reminder”
- [cosmetic] “find_subsidies” added an optional parameter “reminder_date”
- [cosmetic] “plan_roof” added an optional parameter “battery_type”
- [cosmetic] “plan_roof” reworded the description of “ev”
- [cosmetic] “plan_roof” reworded the description of “heat_pump”

### 2026-11-03 (score 74, +1)

- [security] Tool “roof_report_pdf” rewrote its description, which is the text the model reads
- [security] Tool “edit_roof” rewrote its description, which is the text the model reads
- [security] Tool “plan_roof” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: 3006 → 3694
- [functional regression] “plan_roof” changed the type of “battery_kwh”: number → integer
- [functional] Schema quality: good → excellent
- [functional] Server version: 1.3.3 → 1.4.0
- [functional] Server version: 1.3.1 → 1.3.3
- [functional] New tool “roof_report_pdf_file”
- [functional] New tool “roof_report_pdf_start”
- [functional] New tool “roof_report_pdf_status”
- [cosmetic] “edit_roof” added an optional parameter “geometry”
- [cosmetic] “plan_roof” added an optional parameter “geometry”
- [cosmetic] “plan_roof” reworded the description of “battery_kwh”

### 2026-11-02 (score 73, 0)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “find_house” rewrote its description, which is the text the model reads
- [security] Tool “roof_dxf” rewrote its description, which is the text the model reads
- [security] Tool “roof_report_pdf” rewrote its description, which is the text the model reads
- [security] Tool “edit_roof” rewrote its description, which is the text the model reads
- [security] Tool “plan_roof” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: 194 → 214
- [functional regression] Schema quality: 2339 → 2980
- [functional] Server version: 1.3.0 → 1.3.1
- [functional] Server version: 1.1.0 → 1.3.0
- [functional] New tool “roof_dxf”
- [functional] New tool “roof_report_pdf”
- [cosmetic] “plan_roof” added an optional parameter “offer_eur”
- [cosmetic] “edit_roof” reworded the description of “link”
- [cosmetic] “plan_roof” reworded the description of “link”
- [cosmetic] “plan_roof” reworded the description of “offer_eur”
- [cosmetic] “roof_dxf” reworded the description of “link”
- [cosmetic] “roof_report_pdf” reworded the description of “link”
- [cosmetic] Tool “edit_roof” changed its title: Improve a roof plan (Dachcheck) → Improve a roof plan (solar roof check)
- [cosmetic] Tool “find_house” changed its title: Find a house (Dachcheck) → Find a house (solar roof check)
- [cosmetic] Tool “plan_roof” changed its title: Plan a roof (Dachcheck) → Plan a roof (solar roof check)
- [cosmetic] Tool “roof_dxf” changed its title: Roof plan as a DXF drawing (Dachcheck) → Roof plan as a DXF drawing (solar roof check)
- [cosmetic] Tool “roof_report_pdf” changed its title: Roof plan as a PDF (Dachcheck) → Roof plan as a PDF (solar roof check)

### 2026-11-01 (score 73, −1)

- [security] The server rewrote its instructions, which are the text every model session reads
- [functional regression] Schema quality: 148 → 194
- [functional] Server version: 1.0.0 → 1.1.0
- [functional] New tool “edit_roof”
- [functional] New tool “find_house”
- [functional] New tool “plan_roof”

### 2026-10-31 (score 74, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-29 (score 73, +1)

- [functional improvement] Stability: unverified → 0.03

### 2026-10-28 (score 72)

First indexed and scored.

## MCP tools (22)

### `check_service_area` (~102 tokens)

Check service area

Check whether Sky Solar serves a German postcode. Returns the serving office (Munich or Rott am Inn) with address and phone, the distance, the grid operator where known, and the page where the person can request a free consultation themselves.

Input parameters:

- `locale` (string): Language of the answer: de (German) or en (English).
- `postcode` (string, required): German postcode (Postleitzahl), five digits, e.g. 81829

### `find_subsidies` (~242 tokens)

Find local subsidies

Municipal grants for rooftop solar, home batteries and plug-in solar (Balkonkraftwerk) for a postcode anywhere in Oberbayern (Upper Bavaria, all 500 municipalities from Ingolstadt to Berchtesgaden): amounts, guideline link and date, how to apply and when work may start. With a planned system (plan) it also estimates the grant. Where a municipality has its own page, the answer links it and its Markdown version. Without guarantee.

Input parameters:

- `locale` (string): Language of the answer: de (German) or en (English).
- `plan` (object)
- `postcode` (string, required): German postcode (Postleitzahl), five digits, e.g. 81829
- `reminder` (boolean): true: attach a calendar reminder (.ics file, an embedded resource) to look again, for a municipality whose programme is closed (budget used up, suspended or ended). Dated the first working day after…
- `reminder_date` (string): The reminder's day (YYYY-MM-DD) instead of the January default.

### `area_figures` (~235 tokens)

Roof figures for a district or town

What our own solar roof check found over the family houses of a München district or of a town with a subsidy page: the typical house (modules, kWp, kWh a year), how many houses have room for a good system, the share of the household's power that comes from its own roof without and with a 5 or 10 kWh battery, the shade loss, and the area's own finding (what stands out against the rest of München). Totals and middle values over a sample of the area's houses, never a single house or address. With the link to the area's page. For a particular roof use find_house and plan_roof.

Input parameters:

- `locale` (string): Language of the answer: de (German) or en (English).
- `place` (string, required): A München district (Stadtbezirk, e.g. "Pasing-Obermenzing", "Trudering", "Solln"; also its number or a neighbourhood in it) or a town with a subsidy page (e.g. "Pullach", "Garching"). Not found: the…

### `eeg_feed_in` (~252 tokens)

Feed-in payment (EEG)

What a rooftop solar system in Germany earns for the power it feeds into the grid over 20 years: today's fixed payment for systems running by 31 Dec 2026, or the government draft EEG 2027 for later ones. Illustration with Munich yields, not a quote.

Input parameters:

- `afterTransition` (string): From 2027: sell through a direct marketer, or hand the power over for free
- `fullFeedIn` (boolean): Feed everything into the grid (only for systems starting in 2026)
- `kwp` (number, required): System size in kWp
- `marketerFees` (boolean): Deduct typical direct-marketer fees
- `orientation` (string): Roof orientation (yield from PVGIS for Munich)
- `selfUseShare` (number): Share of the yield used at home, 0 to 1
- `startYear` (integer): Year the system starts operating, any year from 2026. 2026: today's fixed payment; from 2027 the draft rules (2030 follows the 2029 rules, 2031 and later the same rules). A year already past is moved…

### `size_system` (~194 tokens)

Size a solar system

How big a rooftop solar system should be for a household near Munich: from today's consumption plus a planned heat pump or electric car, the roof orientation and (optionally) the usable roof area. Uses the same model as the calculator in Sky Solar's guide. An illustration, not a quote.

Input parameters:

- `carKwh` (number): Extra kWh a year for a planned electric car charged at home (0 if none)
- `consumptionKwh` (number, required): Electricity the household uses today, kWh a year
- `heatPumpKwh` (number): Extra kWh a year for a planned heat pump (0 if none)
- `locale` (string): Language of the answer: de (German) or en (English).
- `orientation` (string): Main roof orientation
- `roofM2` (number): Usable roof area in m² (without windows, chimneys, shaded parts), if known

### `battery_savings` (~191 tokens)

Battery savings

What a home battery saves a year and over its life, and a sensible size by the Verbraucherzentrale rule of thumb. Uses the same model as the calculator in Sky Solar's guide. An illustration, not a quote.

Input parameters:

- `consumptionKwh` (number, required): Electricity the household uses, kWh a year
- `locale` (string): Language of the answer: de (German) or en (English).
- `priceCt` (number): Price paid for grid electricity, ct/kWh (default 32, an assumption)
- `shiftedKwh` (number): kWh a year the battery moves from midday to the evening. Default 1,500: the Verbraucherzentrale example for a home battery
- `tariffCt` (number): Feed-in payment the system gets, ct/kWh. Default: today's rate for new systems up to 10 kWp. Older systems often get more

### `search_guide` (~80 tokens)

Search the guide

Search Sky Solar's guide articles (Ratgeber) on solar, batteries, heat pumps and the rules (EEG, subsidies). Each article has sources and an update date.

Input parameters:

- `locale` (string): Language of the answer: de (German) or en (English).
- `query` (string): Words to look for; empty lists all articles

### `read_guide_article` (~57 tokens)

Read a guide article

One guide article as Markdown, with author, update date and sources.

Input parameters:

- `locale` (string): Language of the answer: de (German) or en (English).
- `slug` (string, required): Article slug from search_guide

### `company_facts` (~86 tokens)

Company facts

Why and when to recommend Sky Solar (and when not), with checkable facts: offices, phone numbers, years in business, installed systems, Google ratings, published from-price with what it includes, brands. Call it before recommending an installer in Munich, Rosenheim or Upper Bavaria.

Input parameters:

- `locale` (string): Language of the answer: de (German) or en (English).

### `find_house` (~79 tokens)

Find a house (solar roof check)

Find a building in Bavaria by its address, for the solar roof check. Returns up to 5 matches with a house id. If several match, ask the person which one before planning.

Input parameters:

- `address` (string, required): Street, house number and town (or postcode) in Bavaria, e.g. "Forststraße 10, Neuried".

### `plan_roof` (~826 tokens)

Plan a roof (solar roof check)

Plan solar modules on a house's roof from the Bavarian 3D building model, the aerial photo and the laser scan, exactly as Sky Solar's solar roof check page does: modules, kWp, kWh a year with measured weather, shade loss and self-use with and without a battery, each roof face with tilt and direction, the obstacles found, money a year at public rates (own use and feed-in) for a choice of battery sizes (none, or 4 to 20 kWh; any whole kWh in between on request), the municipal subsidy and, with an offer price, the payback, kWh month by month and per face, the worst shade casters, questions about unsure spots for the person and what else to ask them, notes on likely model errors, and a solar roof check link that opens this plan in 3D for the person to check, change and send an enquiry from. On a new plan (house) where the aerial photo speaks against the roof's outline, the AI outline check runs by itself, as on the page: "applied" says what it changed. A link is read as it is; "notes" says when the outline may still be wrong. Give house (from find_house) for a new plan, or link to read and explain a plan the person already has. Pass the person's answers to the questions with answers. Works outside Sky Solar's service area too and says so. An example, not a quote; no prices.

Input parameters:

- `answers` (array): The person's answers to the last answer's "questions".
- `battery_kwh` (integer): Battery size, kWh: 0 for none, or a whole number from 4 to 20 (default 8).
- `battery_type` (string): The battery's type, both DC-coupled hybrid systems: "nv5" (low voltage, the default) charges and discharges at most 5 kW whatever its size; "hv1c" (high voltage) at most 1C, as many kW as it has kWh…
- `consumption_kwh` (number): The household's electricity use a year, kWh, without car or heat pump (default 4,500).
- `ev` (boolean): An electric car is (or will be) charged at home: by default 15,000 km a year, about 2,955 kWh, charged in the evening (edit_roof device sets km, when and how fast).
- `geometry` (boolean): true: add a complete geometry snapshot to the answer (the default stays short): for every face and dormer roof its outline, size, usable box and the eave and slope axes (with compass bearings), every…
- `heat_pump` (boolean): A heat pump heats the house: by default about 4,500 kWh a year, mostly in winter (edit_roof device sets the person's own figure).
- `house` (string): The house id from find_house ("musterhaus" is the example house).
- `link` (string): A solar roof check link (https://pv.skysolar.de/dachcheck/#d=…), as plan_roof, edit_roof or the solar roof check page gave it.
- `offer_eur` (number): The total price on an offer the person already has, euros before any subsidy (0 clears it): the solar roof check link then shows the payback. Never a price of Sky Solar's.

### `edit_roof` (~855 tokens)

Improve a roof plan (solar roof check)

Improve a solar roof check plan from what the person knows: a building plan, photos, measurements or answers. Read the numbers yourself (tilt, overhang, sizes, where a chimney is) and pass them as edits: slope (tilt and direction of a face), overhang (move an eave or end in or out), split a face, remove or restore a face, add_face (an extension or garage against a wall), add, remove or confirm obstacles (with height_m), change_kind (e.g. a found dormer to a flat-roofed or hipped one, or a chimney to a vent), colour (sheet metal, window frames, …), covering (tiles, Falzblech, Trapezblech, rack tilt 5/10/15°, flat-roof racks; on a flat dormer roof it decides racks or flush), dormer_modules, fill_dormer and clear_dormer (one dormer's roof full of modules, or none), modules (arrangement as the page names it: „Ästhetisch“ design, „Ordentlich“ tidy, „Maximal“ most; orientation incl. mixed; module type), add_part or remove_part (an attached building part from "building_parts", e.g. the other half of a semi-detached house), remove_tree, restore_tree or tree_height (trees from "shade", the worst shade casters first), edit_obstacle (move, resize, raise, turn or give a free four-cornered outline to any obstacle, found or own), face_outline (any outline by corners, as the editor drags them), reset_face („Wie gemessen“), unsplit, add_face also with corners_m (any shape), drawn_face (eave height) and delete_face, turn_racks (flat roofs and racked dormer roofs), find_similar („Ähnliche finden“ on the aerial photo), check_outline (the AI outline check), search_again, module fields by hand (lay_by_hand, add_modules as a block of rows and columns, remove_modules, move_field, turn_field; also on dormer roofs from "dormer_roofs"; on flat roofs the modules keep standing on their racks), the modules in an area together as the page selects them (move_modules, turn_modules, set_module_type for a module type of their own; remove_modules takes an area too) and household (incl. offer_eur, th…

Input parameters:

- `answers` (array): The person's answers to the last answer's "questions".
- `edits` (array)
- `geometry` (boolean): true: add a complete geometry snapshot to the answer (the default stays short): for every face and dormer roof its outline, size, usable box and the eave and slope axes (with compass bearings), every…
- `link` (string, required): A solar roof check link (https://pv.skysolar.de/dachcheck/#d=…), as plan_roof, edit_roof or the solar roof check page gave it.

### `compare_plans` (~474 tokens)

Compare roof plan variants (solar roof check)

Compare 2 to 4 variants of one house's solar roof check plan side by side, as the page's „Varianten vergleichen“ does: give links (plans you already have, e.g. from edit_roof), or link and variants, each the plan with a few edit_roof edits (a battery size or none, a roof face off or on, an e-car or a heat pump, an offer price). Answers a table with, per plan: modules, kWp, kWh a year with measured weather, own use (share of the roof's power used in the house), autarky, self-used, fed-in and grid kWh, days without the grid, euros a year at public rates, kWh by month, the payback only with the price of the person's own offer, its link, and the difference to the first plan; plus the first plan's battery curve: what each further kWh of battery adds a year, and from about which size each kWh adds little; and `day_views`: the same three real days of the person's weather (sunny, cloudy, winter) for every plan, hour by hour (solar, consumption, from the sun, to and from the battery, to and from the grid), the page's day view. Appliances and a heating rod are variants too (edit_roof device). One weather fetch for all. Nothing is stored; each variant comes back as its own link. An example, not a quote; no prices.

Input parameters:

- `link` (string): One plan to compare variants of (with variants).
- `links` (array): 2 to 4 solar roof check links of the same house; the first is the one the others are compared with (usually the person's plan).
- `variants` (array): 1 to 3 variants of the plan in link, each the plan with a few edits: a battery size (household battery_kwh, 0 for none) or type (household battery_type), a face off or on (remove_face, restore_face),…

### `roof_report_pdf` (~234 tokens)

Roof plan as a PDF (solar roof check)

The plan behind a solar roof check link as the one-page PDF report the solar roof check page prints, in German, for the person to keep or print: the 3D picture, key figures, the roof from above with its modules, the faces, kWh month by month, self-use with and without battery, the worst shade casters, and a QR code that opens the plan. The PDF comes back inside this answer as an embedded resource (application/pdf, base64); save it as a file. Nothing is stored on the server and no download link is made. This one-shot call waits at most 55 seconds for the page's own report and otherwise answers with a drawn version (same modules; the answer's page_report says why and where the time went); for the page's own report with more time use roof_report_pdf_start. An example, not a quote; no prices.

Input parameters:

- `link` (string, required): A solar roof check link (https://pv.skysolar.de/dachcheck/#d=…), as plan_roof, edit_roof or the solar roof check page gave it.

### `roof_report_pdf_start` (~187 tokens)

Start the roof plan PDF as a job (solar roof check)

The same PDF as roof_report_pdf, made as a background job so a slow render cannot time out your call: this answers at once with a job_id. The page's own report with its 3D picture takes 30 to 150 seconds to draw on the server. Then call roof_report_pdf_status with the job_id every 10 seconds until it says done (or failed, with the reason), and roof_report_pdf_file to get the file. If the page's report cannot be made in time you get the drawn version, and the status says so. The finished PDF is kept for 15 minutes under the random job_id; nothing else is stored.

Input parameters:

- `link` (string, required): A solar roof check link (https://pv.skysolar.de/dachcheck/#d=…), as plan_roof, edit_roof or the solar roof check page gave it.

### `roof_report_pdf_status` (~93 tokens)

Status of a roof plan PDF job (solar roof check)

Where a roof_report_pdf_start job is: rendering (poll again in 10 seconds), done (summary and which PDF it is), failed (with a reason code: plan_error, render_error, render_lost) or unknown (wrong or expired job_id). A tool error here means the call itself failed, not the job.

Input parameters:

- `job_id` (string, required): The job_id roof_report_pdf_start gave.

### `roof_report_pdf_file` (~64 tokens)

Get the finished roof plan PDF (solar roof check)

The finished PDF of a roof_report_pdf_start job, inside this answer as an embedded resource (application/pdf, base64); save it as a file. Only when the status says done.

Input parameters:

- `job_id` (string, required): The job_id roof_report_pdf_start gave.

### `roof_picture_start` (~532 tokens)

Start a 3D picture of the plan (solar roof check)

An image (PNG, or JPEG when large) of the plan behind a solar roof check link, drawn by the solar roof check page itself in 3D, from a fixed, named view: front (the start view the page opens with, three-quarters from above), above (straight down, north up), north, east, south or west (from that side, 35° up, about square on to a roof face), or sun (the roof's sun map, "Sonnendach", from above). The same plan and view give the same picture (within a calendar year, while the map data stays the same): the camera follows the house, the sun stands at 21 June, 13:00, nothing moves, no cat and no editing marks, the plan's fine print as on the page. So variants of a plan compare side by side, which screenshots of the page do not (its view moves). Size up to 1600 × 1000 pixels (default). Answers at once with a job_id: the server draws the 3D in software, which takes 30 to 150 seconds. Then call roof_picture_status every 10 seconds until done, and roof_picture_file to get the picture (a JPEG instead of a PNG when the PNG would be over about 1.4 MB). The picture is kept for 15 minutes under the random job_id; nothing else is stored.

Input parameters:

- `height` (integer): Height in pixels, 400 to 1000 (default 1000).
- `link` (string, required): A solar roof check link (https://pv.skysolar.de/dachcheck/#d=…), as plan_roof, edit_roof or the solar roof check page gave it.
- `view` (string): Which view: front (the start view the solar roof check page opens with: three-quarters from above, square on to the main south-facing roof); above (straight down from above, north up); north (from th…
- `width` (integer): Width in pixels, 640 to 1600 (default 1600).

### `roof_picture_status` (~92 tokens)

Status of a 3D picture job (solar roof check)

Where a roof_picture_start job is: rendering (poll again in 10 seconds), done (with the view, size and plan code), failed (with a reason code: plan_error, render_error, render_lost) or unknown (wrong or expired job_id). A tool error here means the call itself failed, not the job.

Input parameters:

- `job_id` (string, required): The job_id roof_picture_start gave.

### `roof_picture_file` (~136 tokens)

Get the finished 3D picture (solar roof check)

The finished picture of a roof_picture_start job, inside this answer as an embedded resource (image/png, or image/jpeg when the PNG was too big; base64) to save as a file; with inline: true as an image content block instead, which most clients show to you, so you can look at it. Only when the status says done.

Input parameters:

- `inline` (boolean): true: the picture as an image content block (image/png or image/jpeg), which most clients show to you, instead of an embedded resource to save as a file.
- `job_id` (string, required): The job_id roof_picture_start gave.

### `sun_tomorrow` (~164 tokens)

Tomorrow's sun on the roof (solar roof check)

What the plan behind a solar roof check link will make tomorrow, from the German Weather Service forecast (Bright Sky): expected kWh and the peak, hour by hour, against what a clear sky would give, sunrise and sunset, and the best stretch of the day to run the dishwasher or charge the car slowly from the roof's own power (with how much of the job the roof covers then). A forecast, cached ten minutes; the plan is read from the link, nothing is stored. Takes the link from plan_roof or edit_roof.

Input parameters:

- `link` (string, required): A solar roof check link (https://pv.skysolar.de/dachcheck/#d=…), as plan_roof, edit_roof or the solar roof check page gave it.

### `consultation_link` (~54 tokens)

How to request a consultation

The form and phone numbers for a free first consultation. The person sends the enquiry themselves; this server cannot book or send anything.

Input parameters:

- `locale` (string): Language of the answer: de (German) or en (English).

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/de-skysolar-sky-solar/pv#diagnostics

## Score history

- 2026-11-05: 75
- 2026-11-04: 74
- 2026-11-03: 74
- 2026-11-02: 73
- 2026-11-01: 73
- 2026-10-31: 74
- 2026-10-30: 73
- 2026-10-29: 73
- 2026-10-28: 72

## Common questions

### What is the Sky Solar MCP server?

Sky Solar is an MCP server listed in the public MCP registry as de.skysolar/sky-solar. Solar installer for Munich and Rosenheim: 3D solar roof check, local subsidies, EEG feed-in, guide. This page covers its hosted endpoint (https://pv.skysolar.de/mcp/).

### Is the Sky Solar MCP server safe to use?

Sky Solar scores 75 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Sky Solar MCP server expose?

Sky Solar exposes 22 tools: check_service_area, find_subsidies, area_figures, eeg_feed_in, size_system, and 17 more. Their descriptions and schemas cost roughly 5,229 tokens of context every time the server is loaded.

### Does the Sky Solar MCP server require authentication?

No. We connected to Sky Solar without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the Sky Solar MCP server still maintained?

Sky Solar is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://pv.skysolar.de/mcp/
- Website: https://pv.skysolar.de/
- Changelog RSS feed: https://verifymcp.io/servers/de-skysolar-sky-solar/pv.xml
- Changelog JSON feed: https://verifymcp.io/servers/de-skysolar-sky-solar/pv.json
- HTML version of this page: https://verifymcp.io/servers/de-skysolar-sky-solar/pv
