accueil / serveurs / Recherche & Web / io.github.gabrielkasmi/deeppvmapper
io.github.gabrielkasmi/deeppvmapper
serveur MCP (Model Context Protocol) · deeppvmapper 0.2.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que io.github.gabrielkasmi/deeppvmapper est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.github.gabrielkasmi/deeppvmapper » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 17 outils
- aggregate_detection_capacity≈ 1480 tokens
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, this tool sums a live filtered subset, up to max_rows detections. Example: "installed capacity in Gironde confirmed by at least two sources" -> dpt="33", cross_validated=true. 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 server, quality_filter=true keeps only detections identified by 2 or more sources (see source_encoding in get_data_quality_reference). Call get_data_quality_reference for the full picture before assessing fitness for a specific use case.
Paramètres, retour & exemple (24)
Paramètresdpt· string · optionnel
French département code, e.g. "33".insee· string · optionnel
INSEE commune code.max_kwp· number · optionnel
Maximum estimated installed capacity, in kWp.min_kwp· number · optionnel
Minimum estimated installed capacity, in kWp.max_rows· integer · requis
Cap on the number of matching detection rows fetched to compute the capacity sum. If the true match count exceeds this, total_kwp is a partial lower bound and `truncated` is true — increase max_rows or narrow the filters (e.g. add dpt or insee) for an exact total.max_tilt· number · optionnel
Maximum estimated tilt from horizontal, in degrees.min_tilt· number · optionnel
Minimum estimated tilt from horizontal, in degrees.has_rnb_id· boolean · optionnel
true = only detections matched to an RNB building identifier (rnb_id not null); false = only detections without one.max_azimuth· number · optionnel
Maximum estimated azimuth, degrees clockwise from true north (180 = south).max_surface· number · optionnel
Maximum estimated PV array area, in m².min_azimuth· number · optionnel
Minimum estimated azimuth, degrees clockwise from true north (180 = south).min_surface· number · optionnel
Minimum estimated PV array area, in m².max_vintages· integer · optionnel
Maximum number of imagery vintages (e.g. 1 = seen in a single year only).min_vintages· integer · optionnel
Minimum number of distinct imagery vintages (years) the installation was independently detected in. Use 2+ as a persistence/confidence signal, since a one-off detection in a single vintage is more likely to be a transient artifact.max_last_seen· integer · optionnel
Upper bound on last_seen imagery year.min_last_seen· integer · optionnel
Lower bound on last_seen imagery year.has_frpv_proba· boolean · optionnel
true = only detections that have an FRPV comparison (frpv_proba not null); false = only those without one. A null frpv_proba means "no comparison available", not probability 0.max_first_seen· integer · optionnel
Upper bound on first_seen imagery year.min_first_seen· integer · optionnel
Earliest imagery year of first detection, lower bound (e.g. 2018). Not an installation date.min_frpv_proba· number · optionnel
Minimum frpv_proba. The data contract recommends 0.1 as a precision/recall trade-off. Note: detections with a null frpv_proba (no FRPV comparison available) are excluded when this is set; null does not mean probability 0.quality_filter· boolean · requis
If true, only include detections identified by 2 OR MORE sources(the `sources` field lists at least two codes, e.g. "0,1" = DeepPVMapper pipeline + FRPV reference, "0,2" = pipeline + OpenStreetMap). Default false: all detections are included, including those found by a single source (typically the automated pipeline alone).cross_validated· boolean · optionnel
Alias of quality_filter, kept for backward compatibility.sources_include· array · optionnel
Only include detections present in ALL of these sources. Accepts names or codes, case-insensitive: dpvm/deeppvmapper/kasmi (0), frpv/thebault (1), osm/openstreetmap (2), manual/annotation (3), recall (4). Examples: ["osm"] = detections that are in OpenStreetMap; ["dpvm","frpv"] = present in both DeepPVMapper and FRPV. See get_source_reference for what each source is and where it comes from.false_positive_status· string · optionnel · flagged | not_flagged | unrecorded
flagged = false_positive is true; not_flagged = false_positive is false; unrecorded = false_positive is null (no status recorded — NOT a confirmed true positive).
Exemple d'appel{"name": "aggregate_detection_capacity", "arguments": {"max_rows": 1, "quality_filter": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - count_detections≈ 1406 tokens
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 percentage. Counts are DETECTED systems, not an inventory. 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 server, quality_filter=true keeps only detections identified by 2 or more sources (see source_encoding in get_data_quality_reference). Call get_data_quality_reference for the full picture before assessing fitness for a specific use case.
Paramètres, retour & exemple (24)
Paramètresdpt· string · optionnel
French département code, e.g. "33".insee· string · optionnel
INSEE commune code.max_kwp· number · optionnel
Maximum estimated installed capacity, in kWp.min_kwp· number · optionnel
Minimum estimated installed capacity, in kWp.max_tilt· number · optionnel
Maximum estimated tilt from horizontal, in degrees.min_tilt· number · optionnel
Minimum estimated tilt from horizontal, in degrees.has_rnb_id· boolean · optionnel
true = only detections matched to an RNB building identifier (rnb_id not null); false = only detections without one.max_azimuth· number · optionnel
Maximum estimated azimuth, degrees clockwise from true north (180 = south).max_surface· number · optionnel
Maximum estimated PV array area, in m².min_azimuth· number · optionnel
Minimum estimated azimuth, degrees clockwise from true north (180 = south).min_surface· number · optionnel
Minimum estimated PV array area, in m².max_vintages· integer · optionnel
Maximum number of imagery vintages (e.g. 1 = seen in a single year only).min_vintages· integer · optionnel
Minimum number of distinct imagery vintages (years) the installation was independently detected in. Use 2+ as a persistence/confidence signal, since a one-off detection in a single vintage is more likely to be a transient artifact.max_last_seen· integer · optionnel
Upper bound on last_seen imagery year.min_last_seen· integer · optionnel
Lower bound on last_seen imagery year.has_frpv_proba· boolean · optionnel
true = only detections that have an FRPV comparison (frpv_proba not null); false = only those without one. A null frpv_proba means "no comparison available", not probability 0.max_first_seen· integer · optionnel
Upper bound on first_seen imagery year.min_first_seen· integer · optionnel
Earliest imagery year of first detection, lower bound (e.g. 2018). Not an installation date.min_frpv_proba· number · optionnel
Minimum frpv_proba. The data contract recommends 0.1 as a precision/recall trade-off. Note: detections with a null frpv_proba (no FRPV comparison available) are excluded when this is set; null does not mean probability 0.quality_filter· boolean · requis
If true, only include detections identified by 2 OR MORE sources(the `sources` field lists at least two codes, e.g. "0,1" = DeepPVMapper pipeline + FRPV reference, "0,2" = pipeline + OpenStreetMap). Default false: all detections are included, including those found by a single source (typically the automated pipeline alone).cross_validated· boolean · optionnel
Alias of quality_filter, kept for backward compatibility.sources_include· array · optionnel
Only include detections present in ALL of these sources. Accepts names or codes, case-insensitive: dpvm/deeppvmapper/kasmi (0), frpv/thebault (1), osm/openstreetmap (2), manual/annotation (3), recall (4). Examples: ["osm"] = detections that are in OpenStreetMap; ["dpvm","frpv"] = present in both DeepPVMapper and FRPV. See get_source_reference for what each source is and where it comes from.breakdown_rnb_id· boolean · requis
If true, also return how many of the matching detections do / do not have an rnb_id (ignores has_rnb_id for this breakdown).false_positive_status· string · optionnel · flagged | not_flagged | unrecorded
flagged = false_positive is true; not_flagged = false_positive is false; unrecorded = false_positive is null (no status recorded — NOT a confirmed true positive).
Exemple d'appel{"name": "count_detections", "arguments": {"quality_filter": true, "breakdown_rnb_id": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_community_activity≈ 208 tokens
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 present it as confirmed detection data.
Paramètres, retour & exemple (1)
Paramètresrecent_limit· integer · requis
How many of the most recent pending contributions to list.
Exemple d'appel{"name": "get_community_activity", "arguments": {"recent_limit": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_community_activity_in_area≈ 488 tokens
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 footprint centroid falls inside it. Combine with get_department_capacity_stats / search_detections / get_detections_in_bbox for the confirmed registry picture, and present this separately and clearly as unverified, pending community input — not confirmed detection data. Free-text comments are never included.
Paramètres, retour & exemple (7)
Paramètresdpt· string · optionnel
Filter pending edits/deletions of EXISTING detections (action=modify or delete) to this département. Does not apply to proposed new additions (action=add), which have no département recorded on the pending item itself — use the bbox parameters for those.max_lat· number · optionnelmax_lon· number · optionnelmin_lat· number · optionnelmin_lon· number · optionnelscan_limit· integer · requis
How many recent proposed additions (action=add) to scan for a bbox match. Only relevant when all four bbox parameters are given — there is no server-side spatial index on pending items, so matching is done by fetching this many of the most recent ones and checking their centroid against the box.recent_limit· integer · requis
Maximum number of matching items to return per category.
Exemple d'appel{"name": "get_community_activity_in_area", "arguments": {"scan_limit": 1, "recent_limit": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_data_quality_reference≈ 206 tokens
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 research vs. a commercial or regulatory decision) — pair it with the quality_summary attached to search_detections / aggregate_detection_capacity results, which reflects the specific query rather than the registry as a whole.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_data_quality_reference", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_department_capacity_stats≈ 329 tokens
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 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 server, quality_filter=true keeps only detections identified by 2 or more sources (see source_encoding in get_data_quality_reference). Call get_data_quality_reference for the full picture before assessing fitness for a specific use case.
Paramètres, retour & exemple (2)
Paramètresdpt· string · optionnel
French département code, e.g. "33" for Gironde. Omit for all départements.top_n· integer · optionnel
If set and dpt is omitted, return only the top N départements by installed capacity.
Exemple d'appel{"name": "get_department_capacity_stats", "arguments": {"dpt": "texte", "top_n": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_department_profile≈ 265 tokens
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 not mean no PV installation exists there. kwp, surface, tilt and azimuth are model estimates, not surveyed values. In this server, quality_filter=true keeps only detections identified by 2 or more sources (see source_encoding in get_data_quality_reference). Call get_data_quality_reference for the full picture before assessing fitness for a specific use case.
Paramètres, retour & exemple (1)
Paramètresdpt· string · requis
French département code, e.g. "33".
Exemple d'appel{"name": "get_department_profile", "arguments": {"dpt": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_department_yearly_stats≈ 236 tokens
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 server, quality_filter=true keeps only detections identified by 2 or more sources (see source_encoding in get_data_quality_reference). Call get_data_quality_reference for the full picture before assessing fitness for a specific use case.
Paramètres, retour & exemple (1)
Paramètresdpt· string · optionnel
French département code, e.g. "33". Omit for all départements.
Exemple d'appel{"name": "get_department_yearly_stats", "arguments": {"dpt": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_detection_details≈ 280 tokens
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 PV installation exists there. kwp, surface, tilt and azimuth are model estimates, not surveyed values. In this server, quality_filter=true keeps only detections identified by 2 or more sources (see source_encoding in get_data_quality_reference). Call get_data_quality_reference for the full picture before assessing fitness for a specific use case.
Paramètres, retour & exemple (1)
Paramètresid· integer · requis
Registry identifier of the detection (the `id` field).
Exemple d'appel{"name": "get_detection_details", "arguments": {"id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_detections_in_bbox≈ 323 tokens
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 values. In this server, quality_filter=true keeps only detections identified by 2 or more sources (see source_encoding in get_data_quality_reference). Call get_data_quality_reference for the full picture before assessing fitness for a specific use case.
Paramètres, retour & exemple (5)
Paramètresmax_lat· number · requismax_lon· number · requismin_lat· number · requismin_lon· number · requismax_count· integer · requis
Maximum number of detections to return (max 500 here; the underlying API defaults to 2000, capped lower to keep responses manageable for an LLM).
Exemple d'appel{"name": "get_detections_in_bbox", "arguments": {"max_lat": 1, "max_lon": 1, "min_lat": 1, "min_lon": 1, "max_count": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_field_coverage≈ 305 tokens
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 available/recorded", never "0" or "confirmed ok". 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 server, quality_filter=true keeps only detections identified by 2 or more sources (see source_encoding in get_data_quality_reference). Call get_data_quality_reference for the full picture before assessing fitness for a specific use case.
Paramètres, retour & exemple (1)
Paramètresdpt· string · optionnel
French département code. Omit for all of France.
Exemple d'appel{"name": "get_field_coverage", "arguments": {"dpt": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_field_distribution≈ 516 tokens
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, 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 server, quality_filter=true keeps only detections identified by 2 or more sources (see source_encoding in get_data_quality_reference). Call get_data_quality_reference for the full picture before assessing fitness for a specific use case.
Paramètres, retour & exemple (6)
Paramètresdpt· string · optionnel
French département code. Omit for all of France.field· string · requis · kwp | surface | tilt | azimuth | n_vintages | first_seen | last_seen
Numeric field to describe.max_year· integer · optionnel
For first_seen / last_seen: last year to count.min_year· integer · optionnel
For first_seen / last_seen: first year to count.bin_edges· array · optionnel
Custom ascending bin edges; each bin is [edge_i, edge_i+1) and the last is closed. Ignored for first_seen / last_seen, which are counted per year (use min_year / max_year).quality_filter· boolean · requis
If true, restrict to detections identified by 2+ sources.
Exemple d'appel{"name": "get_field_distribution", "arguments": {"field": "kwp", "quality_filter": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_field_reference≈ 110 tokens
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.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_field_reference", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_source_breakdown≈ 291 tokens
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: 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 server, quality_filter=true keeps only detections identified by 2 or more sources (see source_encoding in get_data_quality_reference). Call get_data_quality_reference for the full picture before assessing fitness for a specific use case.
Paramètres, retour & exemple (1)
Paramètresdpt· string · optionnel
French département code, e.g. "33". Omit for all of France.
Exemple d'appel{"name": "get_source_breakdown", "arguments": {"dpt": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_source_reference≈ 226 tokens
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 dataset or process that contains it. Example: "0,1" = present in both DeepPVMapper (DPVM) and FRPV; "0,2" = present in DeepPVMapper and OpenStreetMap.
Paramètres, retour & exemple (1)
Paramètressource· string · optionnel
A source name, alias or code (e.g. "frpv", "OpenStreetMap", "kasmi", "3"). Omit to list all.
Exemple d'appel{"name": "get_source_reference", "arguments": {"source": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_started≈ 121 tokens
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.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_started", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - search_detections≈ 1360 tokens
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 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 server, quality_filter=true keeps only detections identified by 2 or more sources (see source_encoding in get_data_quality_reference). Call get_data_quality_reference for the full picture before assessing fitness for a specific use case.
Paramètres, retour & exemple (24)
Paramètresdpt· string · optionnel
French département code, e.g. "33".insee· string · optionnel
INSEE commune code.limit· integer · requis
Maximum number of records to return (max 200).max_kwp· number · optionnel
Maximum estimated installed capacity, in kWp.min_kwp· number · optionnel
Minimum estimated installed capacity, in kWp.max_tilt· number · optionnel
Maximum estimated tilt from horizontal, in degrees.min_tilt· number · optionnel
Minimum estimated tilt from horizontal, in degrees.has_rnb_id· boolean · optionnel
true = only detections matched to an RNB building identifier (rnb_id not null); false = only detections without one.max_azimuth· number · optionnel
Maximum estimated azimuth, degrees clockwise from true north (180 = south).max_surface· number · optionnel
Maximum estimated PV array area, in m².min_azimuth· number · optionnel
Minimum estimated azimuth, degrees clockwise from true north (180 = south).min_surface· number · optionnel
Minimum estimated PV array area, in m².max_vintages· integer · optionnel
Maximum number of imagery vintages (e.g. 1 = seen in a single year only).min_vintages· integer · optionnel
Minimum number of distinct imagery vintages (years) the installation was independently detected in. Use 2+ as a persistence/confidence signal, since a one-off detection in a single vintage is more likely to be a transient artifact.max_last_seen· integer · optionnel
Upper bound on last_seen imagery year.min_last_seen· integer · optionnel
Lower bound on last_seen imagery year.has_frpv_proba· boolean · optionnel
true = only detections that have an FRPV comparison (frpv_proba not null); false = only those without one. A null frpv_proba means "no comparison available", not probability 0.max_first_seen· integer · optionnel
Upper bound on first_seen imagery year.min_first_seen· integer · optionnel
Earliest imagery year of first detection, lower bound (e.g. 2018). Not an installation date.min_frpv_proba· number · optionnel
Minimum frpv_proba. The data contract recommends 0.1 as a precision/recall trade-off. Note: detections with a null frpv_proba (no FRPV comparison available) are excluded when this is set; null does not mean probability 0.quality_filter· boolean · requis
If true, only include detections identified by 2 OR MORE sources(the `sources` field lists at least two codes, e.g. "0,1" = DeepPVMapper pipeline + FRPV reference, "0,2" = pipeline + OpenStreetMap). Default false: all detections are included, including those found by a single source (typically the automated pipeline alone).cross_validated· boolean · optionnel
Alias of quality_filter, kept for backward compatibility.sources_include· array · optionnel
Only include detections present in ALL of these sources. Accepts names or codes, case-insensitive: dpvm/deeppvmapper/kasmi (0), frpv/thebault (1), osm/openstreetmap (2), manual/annotation (3), recall (4). Examples: ["osm"] = detections that are in OpenStreetMap; ["dpvm","frpv"] = present in both DeepPVMapper and FRPV. See get_source_reference for what each source is and where it comes from.false_positive_status· string · optionnel · flagged | not_flagged | unrecorded
flagged = false_positive is true; not_flagged = false_positive is false; unrecorded = false_positive is null (no status recorded — NOT a confirmed true positive).
Exemple d'appel{"name": "search_detections", "arguments": {"limit": 1, "quality_filter": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».
Source
https://zelhliylrlktnasircwp.supabase.co/functions/v1/mcp/mcp