DeepPVMapper
Open registry of 1.14M+ rooftop-solar detections across France, queryable by natural language.
| Endpoint | https://zelhliylrlktnasircwp.supabase.co/functions/v1/mcp/mcp (streamable-http) |
|---|---|
| Registry version | 0.1.0 |
| Now | 17 tools · grade D (56) · pin ts_203bc2d01e7170662b64dfb81b4c414b · protocol 2025-06-18 |
| First / last listed | 2026-10-27 06:10 UTC / 2026-10-27 06:10 UTC |
| Grade over time | 2026-10-27: D (56), 17 tools |
Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.
Tools: get_data_quality_reference get_department_capacity_stats get_department_yearly_stats search_detections aggregate_detection_capacity get_detections_in_bbox get_community_activity get_community_activity_in_area count_detections get_source_breakdown get_detection_details get_department_profile get_field_coverage get_field_distribution get_field_reference get_source_reference get_started
get_data_quality_reference | Return the DeepPVMapper/OpenPVMapper registry's documented data-quality characteristics: estimated detection recall, which fields are model-derived estimates vs. structural/observed fields, the source-encoding table, the recommended confidence threshold, confidence signals, and licensing/liability terms. Call this before advising how much to trust a result for a specific use case (e.g. exploratory params: none |
get_department_capacity_stats | Get installed rooftop-PV capacity (total kWp) and system counts for one or all French départements, from the DeepPVMapper/OpenPVMapper registry. This is a fixed, pre-computed department-wide aggregate with no other filters — use aggregate_detection_capacity instead if you need a filtered subset (e.g. only cross-validated detections). Data quality note: this is a detection dataset, not an exhaustiv params: dpt, top_n |
get_department_yearly_stats | Get yearly system counts and capacity by département, based on first-seen imagery year. Useful for tracking apparent PV deployment growth over time. Data quality note: this is a detection dataset, not an exhaustive inventory (estimated recall ~0.6). A missing detection does not mean no PV installation exists there. kwp, surface, tilt and azimuth are model estimates, not surveyed values. In this se params: dpt |
search_detections | Search individual rooftop-PV detections by département, commune (INSEE code), estimated capacity range, and/or cross-validation confidence (min_vintages, cross_validated). Returns a bounded list of detection records plus a quality_summary for the returned sample (use get_detections_in_bbox instead for map/spatial queries with geometry). Data quality note: this is a detection dataset, not an exhaus params: dpt, insee, min_kwp, max_kwp, min_vintages, cross_validated, quality_filter*, sources_include, min_frpv_proba, has_rnb_id, has_frpv_proba, false_positive_status, min_surface, max_surface, min_tilt, max_tilt, min_azimuth, max_azimuth, min_first_seen, max_first_seen, min_last_seen, max_last_seen, max_vintages, limit* |
aggregate_detection_capacity | Compute the total estimated installed capacity (kWp) and count of detections matching a set of filters — département, commune, capacity range, and cross-validation across sources (cross_validated) or imagery vintages (min_vintages) — plus a quality_summary for the summed sample. Unlike get_department_capacity_stats, which is a fixed pre-computed département-wide aggregate with no other filters, th params: dpt, insee, min_kwp, max_kwp, min_vintages, cross_validated, quality_filter*, sources_include, min_frpv_proba, has_rnb_id, has_frpv_proba, false_positive_status, min_surface, max_surface, min_tilt, max_tilt, min_azimuth, max_azimuth, min_first_seen, max_first_seen, min_last_seen, max_last_seen, max_vintages, max_rows* |
get_detections_in_bbox | Get rooftop-PV detections within a geographic bounding box (WGS84 lon/lat), including footprint geometry. Intended for map-style spatial queries over a small area. Data quality note: this is a detection dataset, not an exhaustive inventory (estimated recall ~0.6). A missing detection does not mean no PV installation exists there. kwp, surface, tilt and azimuth are model estimates, not surveyed val params: min_lon*, min_lat*, max_lon*, max_lat*, max_count* |
get_community_activity | Get a snapshot of ongoing community contribution activity on the map: how many corrections are currently pending moderation, their breakdown by action type (add / modify / delete), and the most recent submissions (timestamp, action, target). Submitted free-text comments are intentionally excluded from this tool. This reflects unmoderated, unverified user activity, not the registry itself — do not params: recent_limit* |
get_community_activity_in_area | Find pending, unmoderated community contributions relevant to a specific area, to answer "has anyone flagged anything here that is not in the registry yet?" Two independent filters: dpt finds pending edits/deletions (action=modify/delete) targeting existing detections in that département; a full bounding box (min_lon/min_lat/max_lon/max_lat) finds pending new additions (action=add) whose proposed params: dpt, min_lon, min_lat, max_lon, max_lat, scan_limit*, recent_limit* |
count_detections | Count detections matching a set of filters, exactly, without downloading rows (fast, no row cap). Use this for "how many ..." questions, e.g. "how many installations have an RNB id?" -> has_rnb_id=true; "how many are identified by 2+ sources?" -> quality_filter=true; "how many come from OpenStreetMap?" -> sources_include=[2]. Returns the matching count, the unfiltered registry total and the percen params: dpt, insee, min_kwp, max_kwp, min_vintages, cross_validated, quality_filter*, sources_include, min_frpv_proba, has_rnb_id, has_frpv_proba, false_positive_status, min_surface, max_surface, min_tilt, max_tilt, min_azimuth, max_azimuth, min_first_seen, max_first_seen, min_last_seen, max_last_seen, max_vintages, breakdown_rnb_id* |
get_source_breakdown | Break down detections by source code (0=DPVM pipeline, 1=FRPV reference, 2=OSM, 3=manual correction, 4=recall sample), for one département or all of France, with human-readable labels. A detection can carry several sources, so per-source counts overlap and do not add up to the total. Also returns how many detections are identified by 2+ sources (the meaning of quality_filter). Data quality note: t params: dpt |
get_detection_details | Get the full record of one detection by id: technical characteristics (surface, kwp, tilt, azimuth — model estimates), imagery years, sources decoded into plain labels, frpv_proba, false-positive flag, rnb_id and location codes, plus simple confidence signals. Data quality note: this is a detection dataset, not an exhaustive inventory (estimated recall ~0.6). A missing detection does not mean no P params: id* |
get_department_profile | One-call profile of a département: installed capacity and national rank, yearly trend (by first-seen imagery year), source mix, share identified by 2+ sources, and share matched to an RNB building id. Cross-references the pre-computed department statistics with live counts. Data quality note: this is a detection dataset, not an exhaustive inventory (estimated recall ~0.6). A missing detection does params: dpt* |
get_field_coverage | Completeness report: for each optional field of the registry (rnb_id, frpv_proba, false_positive, false_positive_source), how many detections have it filled in and what percentage. Answers "how many installations have an RNB id / an FRPV comparison / a false-positive flag?" in one call, for France or one département. For a single filtered count use count_detections instead. Null means "not availab params: dpt |
get_field_distribution | Histogram of a numeric field (kwp, surface, tilt, azimuth, n_vintages, first_seen, last_seen) with exact counts per bin, for France or one département. Answers "how are installations distributed by size / tilt / orientation / year?". kwp, surface, tilt and azimuth are model estimates. first_seen/last_seen are imagery years, not installation dates. Data quality note: this is a detection dataset, no params: field*, dpt, bin_edges, min_year, max_year, quality_filter* |
get_field_reference | Field-by-field documentation of a detection record: type, unit, nullability, whether it is observed or a model estimate, how to read it, and which tool filters or reports it. Call this when the user asks what a field means or how reliable it is. params: none |
get_source_reference | Explain the data sources behind the registry's `sources` field: for each source, its code, short key, name, accepted aliases, and where the data comes from (with references: code, thesis, papers). Use it for questions like "what is FRPV?", "where does the OSM data come from?", "what is a manual correction?". The `sources` field answers "where do we have this installation?": each listed code is a d params: source |
get_started | START HERE. Call this first when the user is new, asks what this server can do, or asks a vague question about DeepPVMapper. Returns a plain-language introduction, example questions, which tool answers which kind of question, a glossary and the main caveats. Reply to the user in their own language. params: none |
Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.