Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,070Paid calls: 1,524Letters: 13Defects: 1,322counted 3 min ago
teppi

Server definition

Hash
sha256:e1bddc73044edd387c0fe24831b9c89e9aa8247d94c8d34278ec9935823d0548
What it is
What a remote MCP server returned when asked what it offers: 5 tools

The blob, as servednamed by its sha256

{ "instructions": "Aerset: normativa de drones de España, con fuentes y fechas. Cinco herramientas de solo lectura sobre el corpus normativo, el motor de trámites, las zonas UAS de ENAIRE, los espacios protegidos de MITECO y los puntos de vuelo de la comunidad. ORIENTA y no autoriza: no concede permisos, no tramita nada y no afirma que una operación pueda realizarse. Cita siempre la fuente y su fecha, y manda la decisión operativa a AESA y al visor oficial de ENAIRE. · Spanish drone regulation, sourced and dated. Five read-only tools. It advises and never authorises: quote the source and its date, and send the operational decision to the authority.", "tools": [ { "description": "Calcula, con el motor determinista de Aerset, qué trámites exige la normativa para volar en un punto de España, en una fecha y con una aeronave concreta: qué régimen de la categoría abierta aplica por peso y marcado de clase, qué zonas UAS publica ENAIRE sobre el punto, qué espacios protegidos constan en MITECO y quién autoriza cada cosa, con el plazo que el catálogo atribuye a cada trámite. Cada línea nombra la autoridad que la exige y la fuente con su fecha de revisión. NO concede permisos, no tramita nada y no afirma que la operación pueda realizarse: el campo `not_covered` enumera las fuentes que esta respuesta no consulta (NOTAM, terreno, obstáculos, meteo). La decisión es del operador y se consulta con AESA. · Runs Aerset's deterministic permit engine over a point, a date and an aircraft in Spain and returns the requirement list: the open-category regime for that weight and class marking, the UAS zones ENAIRE publishes over the point, the protected areas MITECO records, and who demands each item with the lead time our catalogue attributes to it. It grants nothing and files nothing; `not_covered` names the sources it does not consult, and the decision stays with the operator and the authority.", "inputSchema": { "properties": { "class_marking": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Class Marking" }, "date": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Date" }, "drone_weight_g": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Drone Weight G" }, "environment": { "default": "RURAL", "title": "Environment", "type": "string" }, "lat": { "title": "Lat", "type": "number" }, "lon": { "title": "Lon", "type": "number" }, "night": { "default": false, "title": "Night", "type": "boolean" } }, "required": [ "lat", "lon" ], "title": "flight_requirementsArguments", "type": "object" }, "name": "flight_requirements", "outputSchema": { "properties": { "attribution": { "default": "Fuentes: BOE, Reglamento (UE) 2019/947, guías de AESA y EASA, ENAIRE (servAIS, ED-318) y MITECO/IEPNB. Cada pasaje y cada regla lleva la suya con su fecha.", "title": "Attribution", "type": "string" }, "available": { "default": true, "title": "Available", "type": "boolean" }, "checked_at": { "format": "date-time", "title": "Checked At", "type": "string" }, "covered": { "default": true, "title": "Covered", "type": "boolean" }, "disclaimer": { "default": "Orientación con fuentes, no autorización. Aerset no concede permisos ni los tramita. La última palabra la tienen AESA y el visor oficial de ENAIRE, y cada decisión operativa se consulta con la autoridad antes del vuelo.", "title": "Disclaimer", "type": "string" }, "for_date": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "For Date" }, "invalid_arguments": { "anyOf": [ { "items": {}, "type": "array" }, { "type": "null" } ], "default": null, "title": "Invalid Arguments" }, "judged_at_height_m": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Judged At Height M" }, "lat": { "default": 0, "title": "Lat", "type": "number" }, "lon": { "default": 0, "title": "Lon", "type": "number" }, "nearest_aerodrome_km": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Nearest Aerodrome Km" }, "not_covered": { "items": { "type": "string" }, "title": "Not Covered", "type": "array" }, "note": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Note" }, "protected_areas": { "items": { "additionalProperties": true, "type": "object" }, "title": "Protected Areas", "type": "array" }, "protected_available": { "default": true, "title": "Protected Available", "type": "boolean" }, "regime": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": null, "title": "Regime" }, "requirements": { "items": { "additionalProperties": true, "type": "object" }, "title": "Requirements", "type": "array" }, "viewer_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Viewer Url" }, "zones": { "items": { "additionalProperties": true, "type": "object" }, "title": "Zones", "type": "array" }, "zones_available": { "default": true, "title": "Zones Available", "type": "boolean" } }, "title": "RequirementsAnswer", "type": "object" } }, { "description": "Devuelve el catálogo completo de trámites que Aerset mantiene para volar un dron en España, regla a regla: su código, su título, la autoridad que la exige, las condiciones en las que aplica, el plazo que le atribuimos y si ese plazo está comprobado contra la fuente o no, más la URL de la fuente y la fecha en que se revisó. Es el conjunto sobre el que trabaja `flight_requirements`, publicado para poder citarlo entero. Una regla sin `reviewed_at` no dice nada, y con `lead_time_verified: false` el plazo NO está comprobado. · Returns Aerset's whole catalogue of Spanish drone paperwork, rule by rule: code, title, the authority that demands it, the conditions under which it applies, the lead time we attribute to it and whether that lead time has been checked against the source, plus the source URL and the review date. It is the set `flight_requirements` evaluates, published so it can be cited whole.", "inputSchema": { "properties": {}, "title": "rules_catalogueArguments", "type": "object" }, "name": "rules_catalogue", "outputSchema": { "properties": { "attribution": { "default": "Fuentes: BOE, Reglamento (UE) 2019/947, guías de AESA y EASA, ENAIRE (servAIS, ED-318) y MITECO/IEPNB. Cada pasaje y cada regla lleva la suya con su fecha.", "title": "Attribution", "type": "string" }, "available": { "default": true, "title": "Available", "type": "boolean" }, "checked_at": { "format": "date-time", "title": "Checked At", "type": "string" }, "disclaimer": { "default": "Orientación con fuentes, no autorización. Aerset no concede permisos ni los tramita. La última palabra la tienen AESA y el visor oficial de ENAIRE, y cada decisión operativa se consulta con la autoridad antes del vuelo.", "title": "Disclaimer", "type": "string" }, "invalid_arguments": { "anyOf": [ { "items": {}, "type": "array" }, { "type": "null" } ], "default": null, "title": "Invalid Arguments" }, "licence": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Licence" }, "licence_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Licence Url" }, "note": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Note" }, "reviewed_through": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Reviewed Through" }, "rules": { "items": { "additionalProperties": true, "type": "object" }, "title": "Rules", "type": "array" } }, "title": "RulesAnswer", "type": "object" } }, { "description": "Busca en el corpus normativo de drones de España: BOE, Reglamento (UE) 2019/947, guías de AESA y EASA, y MITECO. Devuelve PASAJES literales con el título del documento, su URL y su fecha — no un resumen y no una conclusión. Úsalo para citar la norma con su fuente y su fecha. Lo que no consta en estas fuentes se cita como «en nuestras fuentes no consta X», nunca como una ausencia en el mundo. Para saber qué trámites exige un vuelo concreto, usa `flight_requirements`. · Searches Aerset's sourced corpus of Spanish drone regulation and returns literal passages, each with its document title, URL and vintage. Retrieval only: nothing is summarised and no conclusion is drawn. Quote a passage with its source and its date; an absence from the corpus is an absence from our sources and says nothing about the world.", "inputSchema": { "properties": { "limit": { "default": 6, "title": "Limit", "type": "integer" }, "query": { "title": "Query", "type": "string" } }, "required": [ "query" ], "title": "search_regulationArguments", "type": "object" }, "name": "search_regulation", "outputSchema": { "$defs": { "Passage": { "properties": { "source": { "title": "Source", "type": "string" }, "text": { "title": "Text", "type": "string" }, "title": { "title": "Title", "type": "string" }, "url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Url" }, "vintage": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Vintage" } }, "required": [ "title", "source", "text" ], "title": "Passage", "type": "object" } }, "properties": { "attribution": { "default": "Fuentes: BOE, Reglamento (UE) 2019/947, guías de AESA y EASA, ENAIRE (servAIS, ED-318) y MITECO/IEPNB. Cada pasaje y cada regla lleva la suya con su fecha.", "title": "Attribution", "type": "string" }, "available": { "default": true, "title": "Available", "type": "boolean" }, "checked_at": { "format": "date-time", "title": "Checked At", "type": "string" }, "corpus_documents": { "default": 0, "title": "Corpus Documents", "type": "integer" }, "disclaimer": { "default": "Orientación con fuentes, no autorización. Aerset no concede permisos ni los tramita. La última palabra la tienen AESA y el visor oficial de ENAIRE, y cada decisión operativa se consulta con la autoridad antes del vuelo.", "title": "Disclaimer", "type": "string" }, "invalid_arguments": { "anyOf": [ { "items": {}, "type": "array" }, { "type": "null" } ], "default": null, "title": "Invalid Arguments" }, "note": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Note" }, "passages": { "items": { "$ref": "#/$defs/Passage" }, "title": "Passages", "type": "array" }, "query": { "default": "", "title": "Query", "type": "string" } }, "title": "RegulationAnswer", "type": "object" } }, { "description": "Busca puntos de vuelo cerca de una coordenada, de la comunidad de pilotos de Aerset: nombre, coordenada, tipo de dron al que va bien y la dificultad que se le comprobó, con la fecha de esa comprobación. Es conocimiento de la comunidad y NO una fuente oficial: dice adónde va la gente, no qué exige la norma. Que un punto figure aquí no dice nada sobre el espacio aéreo de hoy — la dificultad es la del día en que se comprobó y no se recalcula—, así que los trámites los contesta `flight_requirements` y la última palabra la tienen AESA y el visor oficial de ENAIRE. · Finds flying spots near a coordinate from Aerset's pilot community, with the difficulty each one was checked at and the date of that check. Community knowledge, not an official source: it says where people go and nothing about what the regulation demands. A spot appearing here says nothing about today's airspace — its difficulty is the day it was checked and is never recomputed — so ask `flight_requirements` for the paperwork, and the authority and ENAIRE's official viewer have the last word.", "inputSchema": { "properties": { "lat": { "title": "Lat", "type": "number" }, "lon": { "title": "Lon", "type": "number" }, "radius_km": { "default": 25, "title": "Radius Km", "type": "number" } }, "required": [ "lat", "lon" ], "title": "spots_nearArguments", "type": "object" }, "name": "spots_near", "outputSchema": { "properties": { "available": { "default": true, "title": "Available", "type": "boolean" }, "checked_at": { "format": "date-time", "title": "Checked At", "type": "string" }, "disclaimer": { "default": "Orientación con fuentes, no autorización. Aerset no concede permisos ni los tramita. La última palabra la tienen AESA y el visor oficial de ENAIRE, y cada decisión operativa se consulta con la autoridad antes del vuelo.", "title": "Disclaimer", "type": "string" }, "invalid_arguments": { "anyOf": [ { "items": {}, "type": "array" }, { "type": "null" } ], "default": null, "title": "Invalid Arguments" }, "note": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Note" }, "note_on_verdicts": { "default": "La dificultad de cada punto es la del día en que se comprobó, y esa fecha viaja con el punto; sin fecha, está sin comprobar. No se recalcula sola.", "title": "Note On Verdicts", "type": "string" }, "spots": { "items": { "additionalProperties": true, "type": "object" }, "title": "Spots", "type": "array" } }, "title": "SpotsAnswer", "type": "object" } }, { "description": "Devuelve los polígonos de las zonas geográficas UAS que ENAIRE publica dentro de un rectángulo, con el tipo de cada una, sus límites vertical inferior y superior y la fecha en que ENAIRE la actualizó. Es la capa que pinta un mapa, no un veredicto sobre un punto: para eso está `flight_requirements`. Una lista vacía significa que la consulta a ENAIRE no devolvió ninguna zona para ese rectángulo, y `available: false` significa que no se pudo consultar — ni la una ni la otra describen el cielo. El visor oficial de ENAIRE tiene la última palabra. · Returns the UAS geographical zones ENAIRE publishes inside a bounding box, each with its kind, its vertical limits and ENAIRE's own update date. It is a map layer and not a verdict about a point. An empty list means our query to ENAIRE returned nothing for that rectangle; `available: false` means the query did not happen. ENAIRE's official viewer has the last word.", "inputSchema": { "properties": { "bbox": { "title": "Bbox", "type": "string" } }, "required": [ "bbox" ], "title": "uas_zonesArguments", "type": "object" }, "name": "uas_zones", "outputSchema": { "properties": { "attribution": { "default": "Fuentes: BOE, Reglamento (UE) 2019/947, guías de AESA y EASA, ENAIRE (servAIS, ED-318) y MITECO/IEPNB. Cada pasaje y cada regla lleva la suya con su fecha.", "title": "Attribution", "type": "string" }, "available": { "default": true, "title": "Available", "type": "boolean" }, "checked_at": { "format": "date-time", "title": "Checked At", "type": "string" }, "disclaimer": { "default": "Orientación con fuentes, no autorización. Aerset no concede permisos ni los tramita. La última palabra la tienen AESA y el visor oficial de ENAIRE, y cada decisión operativa se consulta con la autoridad antes del vuelo.", "title": "Disclaimer", "type": "string" }, "invalid_arguments": { "anyOf": [ { "items": {}, "type": "array" }, { "type": "null" } ], "default": null, "title": "Invalid Arguments" }, "note": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Note" }, "truncated": { "default": false, "title": "Truncated", "type": "boolean" }, "viewer_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Viewer Url" }, "zones": { "items": { "additionalProperties": true, "type": "object" }, "title": "Zones", "type": "array" } }, "title": "ZonesAnswer", "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:e1bddc73044edd387c0fe24831b9c89e9aa8247d94c8d34278ec9935823d0548 | sha256sum