{"name":"doana-aviation-extractor","version":"1","transport":"streamable-http","url":"https://doana.ca/api/mcp","authentication":"oauth2","when_to_use":"Use these tools to extract EASA Form 1 / dual-release fields, poll a job, or read weekly quota. Do not use them to certify airworthiness or fetch arbitrary URLs.","tools":[{"operationId":"create_mcp_upload","name":"create_mcp_upload","description":"Not for ChatGPT: there, attach the file to extract_easa_form1 directly. For other clients, only for a file larger than 64 KiB or one that does not fit in a tool call; smaller files go to extract_easa_form1 with content_base64. Create an upload slot for one PDF, JPEG, or PNG (PDF up to 50 MB and 20 pages, JPEG or PNG up to 20 MB). Either HTTP PUT the raw binary bytes to upload_url with every required_headers entry, or give the user browser_upload_url to upload from their browser when this environment cannot make outbound requests. Then call extract_easa_form1 with upload_id.","inputSchema":{"type":"object","additionalProperties":false,"required":["file_name","mime_type","size_bytes"],"properties":{"file_name":{"type":"string","minLength":1,"maxLength":255},"mime_type":{"type":"string","enum":["application/pdf","image/jpeg","image/png"]},"size_bytes":{"type":"integer","minimum":1,"maximum":50000000,"description":"Per type: PDF up to 50 MB and 20 pages, JPEG or PNG up to 20 MB."}}}},{"operationId":"extract_easa_form1","name":"extract_easa_form1","description":"Extract one EASA Form 1 from a PDF, JPEG, or PNG (PDF up to 50 MB and 20 pages, JPEG or PNG up to 20 MB). Pass exactly one source. In ChatGPT: attach the document and pass it as file. Elsewhere, default for a file up to 64 KiB: content_base64 of the original bytes, lossless. Only above 64 KiB, or when the file does not fit in a tool call, use upload_id from create_mcp_upload. Do not send file://, data:, gs:// or arbitrary https URLs.","inputSchema":{"type":"object","additionalProperties":false,"properties":{"file":{"type":"object","additionalProperties":false,"required":["download_url","file_id"],"properties":{"download_url":{"type":"string","description":"Short-lived signed URL of the attachment, hosted by OpenAI. Filled by ChatGPT."},"file_id":{"type":"string","description":"OpenAI file id. Filled by ChatGPT."},"file_name":{"type":"string"},"mime_type":{"type":"string"}},"description":"The attached file. In ChatGPT, attach the document and pass it here."},"upload_id":{"type":"string","format":"uuid","description":"From create_mcp_upload, once the slot has been filled. Not used in ChatGPT."},"content_base64":{"type":"string","description":"Standard base64 of the original file bytes, lossless, for a file up to 64 KiB. Not used in ChatGPT."},"file_name":{"type":"string","description":"Original file name for upload_id or content_base64."},"mime_type":{"type":"string","description":"MIME type for upload_id or content_base64."},"idempotency_key":{"type":"string","minLength":1,"maxLength":128}},"oneOf":[{"required":["file"]},{"required":["upload_id"]},{"required":["content_base64"]}]}},{"operationId":"get_extraction_result","name":"get_extraction_result","description":"Read the current status and structured result of one EASA Form 1 job.","inputSchema":{"type":"object","additionalProperties":false,"required":["job_id"],"properties":{"job_id":{"type":"string","format":"uuid"}}}},{"operationId":"get_usage","name":"get_usage","description":"Return the authenticated personal account weekly EASA Form 1 quota.","inputSchema":{"type":"object","additionalProperties":false,"properties":{}}}]}