{"serverId":"mcp-registry/io.github.filnith/field-ops","tools":[{"name":"check_feasibility","fixed":{"name":"check_feasibility","description":"Tells you BEFORE paying whether a request can be done, at what price and lead time, with an explicit refusal reason otherwise. Call this first. Modes: observe (closed questions, typed answers), watch (steerable log over a slot), capture (specified shots delivered under a licence).","inputSchema":{"type":"object","required":["location","declared_purpose"],"properties":{"mode":{"enum":["observe","watch","capture"],"type":"string","description":"Defaults to observe."},"hours":{"type":"number","description":"Mode watch."},"shots":{"type":"array","items":{"type":"object","required":["subject","type"],"properties":{"id":{"type":"string"},"type":{"enum":["static_shot","pan","tracking_shot","aerial","timelapse","photo_series"],"type":"string"},"framing":{"enum":["wide","medium","tight"],"type":"string"},"subject":{"type":"string","description":"Required. What must be in frame."},"altitude_m":{"type":"number","description":"Required for an aerial shot."},"duration_s":{"type":"number","description":"Required except photo_series."},"time_of_day":{"enum":["any","exact_time","sunrise","sunset"],"type":"string"}}},"description":"Mode capture. An underspecified shot is refused at feasibility."},"license":{"enum":["internal","web_publication","commercial"],"type":"string","description":"Mode capture: required. Sets the use granted and the price."},"location":{"type":"object","required":["lat","lon"],"properties":{"lat":{"type":"number"},"lon":{"type":"number"}}},"questions":{"type":"array","items":{"type":"object","required":["type"],"properties":{"id":{"type":"string"},"type":{"enum":["presence","count","length_cm","visual_state","posted_hours","vehicle_access","text_read"],"type":"string"},"values":{"type":"array","items":{"type":"string"},"description":"visual_state only: the allowed answers, supplied by you."},"question":{"type":"string"}}},"description":"Modes observe and watch."},"declared_purpose":{"type":"string","description":"Required. What the result will be used for."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":569,"tokensAfter":569},{"name":"mission_status","fixed":{"name":"mission_status","description":"Status of a placed mission.","inputSchema":{"type":"object","required":["mission"],"properties":{"mission":{"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":47,"tokensAfter":47},{"name":"order","fixed":{"name":"order","description":"Places an order. Returns a payment requirement when no proof is supplied.","inputSchema":{"type":"object","required":["location","declared_purpose"],"properties":{"mode":{"enum":["observe","watch","capture"],"type":"string"},"hours":{"type":"number"},"shots":{"type":"array","items":{"type":"object"}},"license":{"enum":["internal","web_publication","commercial"],"type":"string"},"deadline":{"type":"string"},"location":{"type":"object"},"questions":{"type":"array","items":{"type":"object"}},"declared_purpose":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":157,"tokensAfter":157}],"toolsChanged":3,"tokensSaved":0,"todo":[{"tool":"check_feasibility","params":["location"]},{"tool":"mission_status","params":["mission"]},{"tool":"order","params":["mode","hours","shots","license","deadline","location","questions","declared_purpose"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}