Sky Solar
REMOTE · PV.SKYSOLAR.DE
Solar installer for Munich and Rosenheim: 3D solar roof check, local subsidies, EEG feed-in, guide.
Available components
Last scanned (6 hours ago)
Scores higher than 64% of remote servers
Reachable. Last reached 5 Nov 2026.
Category IoT and Hardware
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. How we score → Why this is hard to score →
Endpoint Security80
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one. See how to fix → View diagnostics → Partial
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability61
- AI-judged instruction clarity (excellent).Pass
- 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. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
- Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage99
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 97% of tool parameters carry a description.Partial
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 22 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 23 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 5 Nov 26 +1
- Server version: 1.12.0 → 1.12.1 functional
- 4 Nov 26 0
- 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 security
- 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” functional
- “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” cosmetic
- 3 Nov 26 +1
- 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 security
- Schema quality: 3006 → 3694 ▼ functional
- “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” functional
- “edit_roof” added an optional parameter “geometry” cosmetic
- “plan_roof” added an optional parameter “geometry” cosmetic
- “plan_roof” reworded the description of “battery_kwh” cosmetic
- 2 Nov 26 0
- 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 security
- Schema quality: 194 → 214 ▼ functional
- 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” functional
- “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) cosmetic
- 1 Nov 26 −1
- The server rewrote its instructions, which are the text every model session reads security
- 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” functional
- 31 Oct 26 +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.
- 29 Oct 26 +1
- Stability: unverified → 0.03 ▲ functional
- 28 Oct 26 72
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Probed https://pv.skysolar.de/mcp/
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=pv.skysolar.de | CN=YR1,O=Let's Encrypt,C=US | 23 Oct 2026 | 21 Jan 2027 | RSA 2048 | SHA256-RSA | 5ab5a337c298040b4ff250c5b9b9dc582de |
| SANs: pv.skysolar.de | ||||||
| CN=YR1,O=Let's Encrypt,C=US (CA) | CN=Root YR,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | RSA 2048 | SHA256-RSA | a20253f15f2691c05dc1ce13b9bcca4e |
| CN=Root YR,O=ISRG,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | RSA 4096 | SHA256-RSA | f24b6d17f9d9ad7cb1c9fea78782699f |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of pv.skysolar.de. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| de. | present | 26755 | 8 | Verified |
| skysolar.de. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=63072000 |
| x-content-type-options | nosniff |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://pv.skysolar.de/mcp/ | Verified | 200 | |
| http (plaintext) | http://pv.skysolar.de/mcp/ | HTTPS enforced | 308 | https://pv.skysolar.de/mcp/ |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
area_figures Roof figures for a district or town ~235
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.
| Name | Type | Req | Description |
|---|---|---|---|
| locale | string | – | Language of the answer: de (German) or en (English). |
| place | string | yes | 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… |
No output schema declared.
No examples provided.
battery_savings Battery savings ~191
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.
| Name | Type | Req | Description |
|---|---|---|---|
| consumptionKwh | number | yes | 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 |
No output schema declared.
No examples provided.
check_service_area Check service area ~102
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.
| Name | Type | Req | Description |
|---|---|---|---|
| locale | string | – | Language of the answer: de (German) or en (English). |
| postcode | string | yes | German postcode (Postleitzahl), five digits, e.g. 81829 |
No output schema declared.
No examples provided.
company_facts Company facts ~86
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.
| Name | Type | Req | Description |
|---|---|---|---|
| locale | string | – | Language of the answer: de (German) or en (English). |
No output schema declared.
No examples provided.
compare_plans Compare roof plan variants (solar roof check) ~474
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.
| Name | Type | Req | Description |
|---|---|---|---|
| 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),… |
No output schema declared.
No examples provided.
consultation_link How to request a consultation ~54
The form and phone numbers for a free first consultation. The person sends the enquiry themselves; this server cannot book or send anything.
| Name | Type | Req | Description |
|---|---|---|---|
| locale | string | – | Language of the answer: de (German) or en (English). |
No output schema declared.
No examples provided.
edit_roof Improve a roof plan (solar roof check) ~855
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…
| Name | Type | Req | Description |
|---|---|---|---|
| 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 | yes | A solar roof check link (https://pv.skysolar.de/dachcheck/#d=…), as plan_roof, edit_roof or the solar roof check page gave it. |
No output schema declared.
No examples provided.
eeg_feed_in Feed-in payment (EEG) ~252
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.
| Name | Type | Req | Description |
|---|---|---|---|
| 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 | yes | 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… |
No output schema declared.
No examples provided.
find_house Find a house (solar roof check) ~79
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.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | Street, house number and town (or postcode) in Bavaria, e.g. "Forststraße 10, Neuried". |
No output schema declared.
No examples provided.
find_subsidies Find local subsidies ~242
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.
| Name | Type | Req | Description |
|---|---|---|---|
| locale | string | – | Language of the answer: de (German) or en (English). |
| plan | object | – | – |
| postcode | string | yes | 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. |
No output schema declared.
No examples provided.
plan_roof Plan a roof (solar roof check) ~826
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.
| Name | Type | Req | Description |
|---|---|---|---|
| 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. |
No output schema declared.
No examples provided.
read_guide_article Read a guide article ~57
One guide article as Markdown, with author, update date and sources.
| Name | Type | Req | Description |
|---|---|---|---|
| locale | string | – | Language of the answer: de (German) or en (English). |
| slug | string | yes | Article slug from search_guide |
No output schema declared.
No examples provided.
roof_picture_file Get the finished 3D picture (solar roof check) ~136
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.
| Name | Type | Req | Description |
|---|---|---|---|
| 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 | yes | The job_id roof_picture_start gave. |
No output schema declared.
No examples provided.
roof_picture_start Start a 3D picture of the plan (solar roof check) ~532
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.
| Name | Type | Req | Description |
|---|---|---|---|
| height | integer | – | Height in pixels, 400 to 1000 (default 1000). |
| link | string | yes | 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). |
No output schema declared.
No examples provided.
roof_picture_status Status of a 3D picture job (solar roof check) ~92
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.
| Name | Type | Req | Description |
|---|---|---|---|
| job_id | string | yes | The job_id roof_picture_start gave. |
No output schema declared.
No examples provided.
roof_report_pdf Roof plan as a PDF (solar roof check) ~234
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.
| Name | Type | Req | Description |
|---|---|---|---|
| link | string | yes | A solar roof check link (https://pv.skysolar.de/dachcheck/#d=…), as plan_roof, edit_roof or the solar roof check page gave it. |
No output schema declared.
No examples provided.
roof_report_pdf_file Get the finished roof plan PDF (solar roof check) ~64
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.
| Name | Type | Req | Description |
|---|---|---|---|
| job_id | string | yes | The job_id roof_report_pdf_start gave. |
No output schema declared.
No examples provided.
roof_report_pdf_start Start the roof plan PDF as a job (solar roof check) ~187
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.
| Name | Type | Req | Description |
|---|---|---|---|
| link | string | yes | A solar roof check link (https://pv.skysolar.de/dachcheck/#d=…), as plan_roof, edit_roof or the solar roof check page gave it. |
No output schema declared.
No examples provided.
roof_report_pdf_status Status of a roof plan PDF job (solar roof check) ~93
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.
| Name | Type | Req | Description |
|---|---|---|---|
| job_id | string | yes | The job_id roof_report_pdf_start gave. |
No output schema declared.
No examples provided.
search_guide Search the guide ~80
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.
| Name | Type | Req | Description |
|---|---|---|---|
| locale | string | – | Language of the answer: de (German) or en (English). |
| query | string | – | Words to look for; empty lists all articles |
No output schema declared.
No examples provided.
size_system Size a solar system ~194
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.
| Name | Type | Req | Description |
|---|---|---|---|
| carKwh | number | – | Extra kWh a year for a planned electric car charged at home (0 if none) |
| consumptionKwh | number | yes | 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 |
No output schema declared.
No examples provided.
sun_tomorrow Tomorrow's sun on the roof (solar roof check) ~164
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.
| Name | Type | Req | Description |
|---|---|---|---|
| link | string | yes | A solar roof check link (https://pv.skysolar.de/dachcheck/#d=…), as plan_roof, edit_roof or the solar roof check page gave it. |
No output schema declared.
No examples provided.
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.
remote · pv.skysolar.de
claude mcp add --transport http de-skysolar-sky-solar 'https://pv.skysolar.de/mcp/'
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.