{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_8sxnnqk4rbc4","handle":"thrustlab","url":"https://wellknown.network/agents/thrustlab","links":{"self":"https://wellknown.network/agents/thrustlab/record.json","html":"https://wellknown.network/agents/thrustlab","markdown":"https://wellknown.network/agents/thrustlab/record.md","api":"https://wellknown.network/api/v1/agents/thrustlab","status":"https://wellknown.network/api/v1/agents/thrustlab/status","claim":"https://wellknown.network/agents/thrustlab/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/thrustlab/claim.json","badge":"https://wellknown.network/agents/thrustlab/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/thrustlab/history","tools":"https://wellknown.network/api/v1/agents/thrustlab/tools"},"ard":{"identifier":"urn:air:thrustlab.com:server:thrustlab","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"ThrustLab","summary":"Simulate electric UAV powertrains and search a public motor, propeller and battery database.","description":"Simulate electric UAV powertrains and search a public motor, propeller and battery database.","publisher":{"name":"com.thrustlab","url":null},"homepage":"https://thrustlab.com","repository":null,"version":"1.0.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://thrustlab.com/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-02T17:31:39.674088Z","publishedAt":"2026-10-02T17:31:39.674088Z","registryName":"com.thrustlab/thrustlab"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"data.database","name":"Databases","confidence":1,"provenance":"derived"},{"slug":"security.identity","name":"Identity & Access","confidence":0.583,"provenance":"derived"},{"slug":"commerce.pricing","name":"Pricing & Quotes","confidence":0.525,"provenance":"derived"},{"slug":"content.writing","name":"Writing & Editing","confidence":0.51,"provenance":"derived"}],"categories":["commerce","content","data","security"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 6h ago.","lastOkAt":"2026-10-09T22:27:17.345Z","lastProbedAt":"2026-10-09T22:27:17.345Z","statusComputedAt":"2026-10-09T22:28:57.117Z","reliability30d":{"probes":24,"successRate":1,"p50Ms":64,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":24,"ok":24,"authBoundaryOk":0,"serviceOk":24,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-09T22:27:17.345Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":62,"error":null,"detail":{"tools":[{"name":"search_components","description":"Find motors, propellers or batteries in the ThrustLab database.\n\n`component_type` is \"motor\", \"propeller\" or \"battery\". `query` is a\ncase-insensitive substring "},{"name":"get_component","description":"Read one database row by its id (`comp_…`), with provenance.\n\n    Propeller rows give diameter, pitch, blade count, weight and maximum rpm.\n    Blade station ge"},{"name":"estimate_propeller","description":"Thrust, torque and shaft power for one propeller, from its printed size.\n\n    A closed-form momentum plus blade-element equation — no motor, no battery,\n    no "},{"name":"simulate_powertrain","description":"Solve one operating point of a whole powertrain on the Fast model.\n\n    Battery, ESC, motor and propeller are solved together, so the answer is a\n    real thrus"},{"name":"sweep_powertrain","description":"Solve a powertrain across a throttle or airspeed range, up to 25 points.\n\n    `sweep.steps` is the NUMBER OF POINTS, not a step size: start 40, stop 100,\n    st"},{"name":"get_result","description":"Read a stored result: a share `token` from a run, or a `simulation_id`.\n\n    `simulation_id` needs a ThrustLab API key in `Authorization: Bearer` and\n    reads "},{"name":"get_validation_summary","description":"How accurate a model is, measured against wind-tunnel and bench data.\n\n    `model` is \"fast\", \"full\", or an exact report slug such as \"prom-5.3\". The\n    number"}],"toolCount":7,"toolsHash":"fb3d7358247b5c6fc4fb84df430209b1cd4935fe9e823b69566d2021f6e6a315","serverName":"ThrustLab","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T15:31:16.006Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":76,"error":null,"detail":{"tools":[{"name":"search_components","description":"Find motors, propellers or batteries in the ThrustLab database.\n\n`component_type` is \"motor\", \"propeller\" or \"battery\". `query` is a\ncase-insensitive substring "},{"name":"get_component","description":"Read one database row by its id (`comp_…`), with provenance.\n\n    Propeller rows give diameter, pitch, blade count, weight and maximum rpm.\n    Blade station ge"},{"name":"estimate_propeller","description":"Thrust, torque and shaft power for one propeller, from its printed size.\n\n    A closed-form momentum plus blade-element equation — no motor, no battery,\n    no "},{"name":"simulate_powertrain","description":"Solve one operating point of a whole powertrain on the Fast model.\n\n    Battery, ESC, motor and propeller are solved together, so the answer is a\n    real thrus"},{"name":"sweep_powertrain","description":"Solve a powertrain across a throttle or airspeed range, up to 25 points.\n\n    `sweep.steps` is the NUMBER OF POINTS, not a step size: start 40, stop 100,\n    st"},{"name":"get_result","description":"Read a stored result: a share `token` from a run, or a `simulation_id`.\n\n    `simulation_id` needs a ThrustLab API key in `Authorization: Bearer` and\n    reads "},{"name":"get_validation_summary","description":"How accurate a model is, measured against wind-tunnel and bench data.\n\n    `model` is \"fast\", \"full\", or an exact report slug such as \"prom-5.3\". The\n    number"}],"toolCount":7,"toolsHash":"fb3d7358247b5c6fc4fb84df430209b1cd4935fe9e823b69566d2021f6e6a315","serverName":"ThrustLab","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T08:28:22.503Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":108,"error":null,"detail":{"tools":[{"name":"search_components","description":"Find motors, propellers or batteries in the ThrustLab database.\n\n`component_type` is \"motor\", \"propeller\" or \"battery\". `query` is a\ncase-insensitive substring "},{"name":"get_component","description":"Read one database row by its id (`comp_…`), with provenance.\n\n    Propeller rows give diameter, pitch, blade count, weight and maximum rpm.\n    Blade station ge"},{"name":"estimate_propeller","description":"Thrust, torque and shaft power for one propeller, from its printed size.\n\n    A closed-form momentum plus blade-element equation — no motor, no battery,\n    no "},{"name":"simulate_powertrain","description":"Solve one operating point of a whole powertrain on the Fast model.\n\n    Battery, ESC, motor and propeller are solved together, so the answer is a\n    real thrus"},{"name":"sweep_powertrain","description":"Solve a powertrain across a throttle or airspeed range, up to 25 points.\n\n    `sweep.steps` is the NUMBER OF POINTS, not a step size: start 40, stop 100,\n    st"},{"name":"get_result","description":"Read a stored result: a share `token` from a run, or a `simulation_id`.\n\n    `simulation_id` needs a ThrustLab API key in `Authorization: Bearer` and\n    reads "},{"name":"get_validation_summary","description":"How accurate a model is, measured against wind-tunnel and bench data.\n\n    `model` is \"fast\", \"full\", or an exact report slug such as \"prom-5.3\". The\n    number"}],"toolCount":7,"toolsHash":"fb3d7358247b5c6fc4fb84df430209b1cd4935fe9e823b69566d2021f6e6a315","serverName":"ThrustLab","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T02:26:27.213Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":55,"error":null,"detail":{"tools":[{"name":"search_components","description":"Find motors, propellers or batteries in the ThrustLab database.\n\n`component_type` is \"motor\", \"propeller\" or \"battery\". `query` is a\ncase-insensitive substring "},{"name":"get_component","description":"Read one database row by its id (`comp_…`), with provenance.\n\n    Propeller rows give diameter, pitch, blade count, weight and maximum rpm.\n    Blade station ge"},{"name":"estimate_propeller","description":"Thrust, torque and shaft power for one propeller, from its printed size.\n\n    A closed-form momentum plus blade-element equation — no motor, no battery,\n    no "},{"name":"simulate_powertrain","description":"Solve one operating point of a whole powertrain on the Fast model.\n\n    Battery, ESC, motor and propeller are solved together, so the answer is a\n    real thrus"},{"name":"sweep_powertrain","description":"Solve a powertrain across a throttle or airspeed range, up to 25 points.\n\n    `sweep.steps` is the NUMBER OF POINTS, not a step size: start 40, stop 100,\n    st"},{"name":"get_result","description":"Read a stored result: a share `token` from a run, or a `simulation_id`.\n\n    `simulation_id` needs a ThrustLab API key in `Authorization: Bearer` and\n    reads "},{"name":"get_validation_summary","description":"How accurate a model is, measured against wind-tunnel and bench data.\n\n    `model` is \"fast\", \"full\", or an exact report slug such as \"prom-5.3\". The\n    number"}],"toolCount":7,"toolsHash":"fb3d7358247b5c6fc4fb84df430209b1cd4935fe9e823b69566d2021f6e6a315","serverName":"ThrustLab","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T19:22:45.793Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":68,"error":null,"detail":{"tools":[{"name":"search_components","description":"Find motors, propellers or batteries in the ThrustLab database.\n\n`component_type` is \"motor\", \"propeller\" or \"battery\". `query` is a\ncase-insensitive substring "},{"name":"get_component","description":"Read one database row by its id (`comp_…`), with provenance.\n\n    Propeller rows give diameter, pitch, blade count, weight and maximum rpm.\n    Blade station ge"},{"name":"estimate_propeller","description":"Thrust, torque and shaft power for one propeller, from its printed size.\n\n    A closed-form momentum plus blade-element equation — no motor, no battery,\n    no "},{"name":"simulate_powertrain","description":"Solve one operating point of a whole powertrain on the Fast model.\n\n    Battery, ESC, motor and propeller are solved together, so the answer is a\n    real thrus"},{"name":"sweep_powertrain","description":"Solve a powertrain across a throttle or airspeed range, up to 25 points.\n\n    `sweep.steps` is the NUMBER OF POINTS, not a step size: start 40, stop 100,\n    st"},{"name":"get_result","description":"Read a stored result: a share `token` from a run, or a `simulation_id`.\n\n    `simulation_id` needs a ThrustLab API key in `Authorization: Bearer` and\n    reads "},{"name":"get_validation_summary","description":"How accurate a model is, measured against wind-tunnel and bench data.\n\n    `model` is \"fast\", \"full\", or an exact report slug such as \"prom-5.3\". The\n    number"}],"toolCount":7,"toolsHash":"fb3d7358247b5c6fc4fb84df430209b1cd4935fe9e823b69566d2021f6e6a315","serverName":"ThrustLab","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T12:26:30.232Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":115,"error":null,"detail":{"tools":[{"name":"search_components","description":"Find motors, propellers or batteries in the ThrustLab database.\n\n`component_type` is \"motor\", \"propeller\" or \"battery\". `query` is a\ncase-insensitive substring "},{"name":"get_component","description":"Read one database row by its id (`comp_…`), with provenance.\n\n    Propeller rows give diameter, pitch, blade count, weight and maximum rpm.\n    Blade station ge"},{"name":"estimate_propeller","description":"Thrust, torque and shaft power for one propeller, from its printed size.\n\n    A closed-form momentum plus blade-element equation — no motor, no battery,\n    no "},{"name":"simulate_powertrain","description":"Solve one operating point of a whole powertrain on the Fast model.\n\n    Battery, ESC, motor and propeller are solved together, so the answer is a\n    real thrus"},{"name":"sweep_powertrain","description":"Solve a powertrain across a throttle or airspeed range, up to 25 points.\n\n    `sweep.steps` is the NUMBER OF POINTS, not a step size: start 40, stop 100,\n    st"},{"name":"get_result","description":"Read a stored result: a share `token` from a run, or a `simulation_id`.\n\n    `simulation_id` needs a ThrustLab API key in `Authorization: Bearer` and\n    reads "},{"name":"get_validation_summary","description":"How accurate a model is, measured against wind-tunnel and bench data.\n\n    `model` is \"fast\", \"full\", or an exact report slug such as \"prom-5.3\". The\n    number"}],"toolCount":7,"toolsHash":"fb3d7358247b5c6fc4fb84df430209b1cd4935fe9e823b69566d2021f6e6a315","serverName":"ThrustLab","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T06:23:09.047Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":39,"error":null,"detail":{"tools":[{"name":"search_components","description":"Find motors, propellers or batteries in the ThrustLab database.\n\n`component_type` is \"motor\", \"propeller\" or \"battery\". `query` is a\ncase-insensitive substring "},{"name":"get_component","description":"Read one database row by its id (`comp_…`), with provenance.\n\n    Propeller rows give diameter, pitch, blade count, weight and maximum rpm.\n    Blade station ge"},{"name":"estimate_propeller","description":"Thrust, torque and shaft power for one propeller, from its printed size.\n\n    A closed-form momentum plus blade-element equation — no motor, no battery,\n    no "},{"name":"simulate_powertrain","description":"Solve one operating point of a whole powertrain on the Fast model.\n\n    Battery, ESC, motor and propeller are solved together, so the answer is a\n    real thrus"},{"name":"sweep_powertrain","description":"Solve a powertrain across a throttle or airspeed range, up to 25 points.\n\n    `sweep.steps` is the NUMBER OF POINTS, not a step size: start 40, stop 100,\n    st"},{"name":"get_result","description":"Read a stored result: a share `token` from a run, or a `simulation_id`.\n\n    `simulation_id` needs a ThrustLab API key in `Authorization: Bearer` and\n    reads "},{"name":"get_validation_summary","description":"How accurate a model is, measured against wind-tunnel and bench data.\n\n    `model` is \"fast\", \"full\", or an exact report slug such as \"prom-5.3\". The\n    number"}],"toolCount":7,"toolsHash":"fb3d7358247b5c6fc4fb84df430209b1cd4935fe9e823b69566d2021f6e6a315","serverName":"ThrustLab","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T23:25:07.544Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":34,"error":null,"detail":{"tools":[{"name":"search_components","description":"Find motors, propellers or batteries in the ThrustLab database.\n\n`component_type` is \"motor\", \"propeller\" or \"battery\". `query` is a\ncase-insensitive substring "},{"name":"get_component","description":"Read one database row by its id (`comp_…`), with provenance.\n\n    Propeller rows give diameter, pitch, blade count, weight and maximum rpm.\n    Blade station ge"},{"name":"estimate_propeller","description":"Thrust, torque and shaft power for one propeller, from its printed size.\n\n    A closed-form momentum plus blade-element equation — no motor, no battery,\n    no "},{"name":"simulate_powertrain","description":"Solve one operating point of a whole powertrain on the Fast model.\n\n    Battery, ESC, motor and propeller are solved together, so the answer is a\n    real thrus"},{"name":"sweep_powertrain","description":"Solve a powertrain across a throttle or airspeed range, up to 25 points.\n\n    `sweep.steps` is the NUMBER OF POINTS, not a step size: start 40, stop 100,\n    st"},{"name":"get_result","description":"Read a stored result: a share `token` from a run, or a `simulation_id`.\n\n    `simulation_id` needs a ThrustLab API key in `Authorization: Bearer` and\n    reads "},{"name":"get_validation_summary","description":"How accurate a model is, measured against wind-tunnel and bench data.\n\n    `model` is \"fast\", \"full\", or an exact report slug such as \"prom-5.3\". The\n    number"}],"toolCount":7,"toolsHash":"fb3d7358247b5c6fc4fb84df430209b1cd4935fe9e823b69566d2021f6e6a315","serverName":"ThrustLab","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T17:29:50.755Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":69,"error":null,"detail":{"tools":[{"name":"search_components","description":"Find motors, propellers or batteries in the ThrustLab database.\n\n`component_type` is \"motor\", \"propeller\" or \"battery\". `query` is a\ncase-insensitive substring "},{"name":"get_component","description":"Read one database row by its id (`comp_…`), with provenance.\n\n    Propeller rows give diameter, pitch, blade count, weight and maximum rpm.\n    Blade station ge"},{"name":"estimate_propeller","description":"Thrust, torque and shaft power for one propeller, from its printed size.\n\n    A closed-form momentum plus blade-element equation — no motor, no battery,\n    no "},{"name":"simulate_powertrain","description":"Solve one operating point of a whole powertrain on the Fast model.\n\n    Battery, ESC, motor and propeller are solved together, so the answer is a\n    real thrus"},{"name":"sweep_powertrain","description":"Solve a powertrain across a throttle or airspeed range, up to 25 points.\n\n    `sweep.steps` is the NUMBER OF POINTS, not a step size: start 40, stop 100,\n    st"},{"name":"get_result","description":"Read a stored result: a share `token` from a run, or a `simulation_id`.\n\n    `simulation_id` needs a ThrustLab API key in `Authorization: Bearer` and\n    reads "},{"name":"get_validation_summary","description":"How accurate a model is, measured against wind-tunnel and bench data.\n\n    `model` is \"fast\", \"full\", or an exact report slug such as \"prom-5.3\". The\n    number"}],"toolCount":7,"toolsHash":"fb3d7358247b5c6fc4fb84df430209b1cd4935fe9e823b69566d2021f6e6a315","serverName":"ThrustLab","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T10:48:31.428Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":43,"error":null,"detail":{"tools":[{"name":"search_components","description":"Find motors, propellers or batteries in the ThrustLab database.\n\n`component_type` is \"motor\", \"propeller\" or \"battery\". `query` is a\ncase-insensitive substring "},{"name":"get_component","description":"Read one database row by its id (`comp_…`), with provenance.\n\n    Propeller rows give diameter, pitch, blade count, weight and maximum rpm.\n    Blade station ge"},{"name":"estimate_propeller","description":"Thrust, torque and shaft power for one propeller, from its printed size.\n\n    A closed-form momentum plus blade-element equation — no motor, no battery,\n    no "},{"name":"simulate_powertrain","description":"Solve one operating point of a whole powertrain on the Fast model.\n\n    Battery, ESC, motor and propeller are solved together, so the answer is a\n    real thrus"},{"name":"sweep_powertrain","description":"Solve a powertrain across a throttle or airspeed range, up to 25 points.\n\n    `sweep.steps` is the NUMBER OF POINTS, not a step size: start 40, stop 100,\n    st"},{"name":"get_result","description":"Read a stored result: a share `token` from a run, or a `simulation_id`.\n\n    `simulation_id` needs a ThrustLab API key in `Authorization: Bearer` and\n    reads "},{"name":"get_validation_summary","description":"How accurate a model is, measured against wind-tunnel and bench data.\n\n    `model` is \"fast\", \"full\", or an exact report slug such as \"prom-5.3\". The\n    number"}],"toolCount":7,"toolsHash":"fb3d7358247b5c6fc4fb84df430209b1cd4935fe9e823b69566d2021f6e6a315","serverName":"ThrustLab","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"search_components","description":"Find motors, propellers or batteries in the ThrustLab database.\n\n`component_type` is \"motor\", \"propeller\" or \"battery\". `query` is a\ncase-insensitive substring "},{"name":"get_component","description":"Read one database row by its id (`comp_…`), with provenance.\n\n    Propeller rows give diameter, pitch, blade count, weight and maximum rpm.\n    Blade station ge"},{"name":"estimate_propeller","description":"Thrust, torque and shaft power for one propeller, from its printed size.\n\n    A closed-form momentum plus blade-element equation — no motor, no battery,\n    no "},{"name":"simulate_powertrain","description":"Solve one operating point of a whole powertrain on the Fast model.\n\n    Battery, ESC, motor and propeller are solved together, so the answer is a\n    real thrus"},{"name":"sweep_powertrain","description":"Solve a powertrain across a throttle or airspeed range, up to 25 points.\n\n    `sweep.steps` is the NUMBER OF POINTS, not a step size: start 40, stop 100,\n    st"},{"name":"get_result","description":"Read a stored result: a share `token` from a run, or a `simulation_id`.\n\n    `simulation_id` needs a ThrustLab API key in `Authorization: Bearer` and\n    reads "},{"name":"get_validation_summary","description":"How accurate a model is, measured against wind-tunnel and bench data.\n\n    `model` is \"fast\", \"full\", or an exact report slug such as \"prom-5.3\". The\n    number"}],"package":null,"toolSurface":{"id":"ts_qhzyh9j4z8au","endpointId":"ep_t339e64j5ph5","hash":"fb3d7358247b5c6fc4fb84df430209b1cd4935fe9e823b69566d2021f6e6a315","toolCount":7,"serverName":"ThrustLab","serverVersion":"1.0.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-03T17:26:49.658Z","lastSeenAt":"2026-10-09T22:27:17.362Z","observations":24,"toolNames":["search_components","get_component","estimate_propeller","simulate_powertrain","sweep_powertrain","get_result","get_validation_summary"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_t339e64j5ph5","url":"https://thrustlab.com/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-08T19:22:45.800Z","auth":{"observedAt":"2026-10-08T19:22:45.836Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-08T19:22:45.869Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"thrustlab.com","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-09-05T21:52:39.000Z","validTo":"2026-12-04T22:52:27.000Z","daysToExpiry":55,"sanCount":2,"fingerprint256":"F1:8C:C5:6D:22:9D:9B:07:5B:9D:7A:77:22:E9:85:52:3D:14:90:34:F7:7E:D2:C3:F7:51:77:84:DA:F4:6A:AF"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"com.thrustlab/thrustlab","url":"https://registry.modelcontextprotocol.io/v0/servers/com.thrustlab%2Fthrustlab","firstSeenAt":"2026-10-03T17:18:23.269Z","fetchedAt":"2026-10-09T12:21:55.859Z","normalizedAt":"2026-10-09T12:21:55.859Z"}]},"firstSeenAt":"2026-10-03T17:18:23.269Z","updatedAt":"2026-10-09T22:29:46.090Z"}