Flipvo: contractor licenses, business entities, drive times, airports
Pay-per-call tools over x402 (USDC on Base): FL/OR contractor licenses, entities, drive times.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"flipvo-agent-tools": {
"url": "https://api.flipvo.com/mcp"
}
}
}Remote endpoints
https://api.flipvo.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (7)
🟢pipe_check
$0.001 per call. Pay with x402 (USDC on Base) in _meta["x402/payment"]. Cheapest paid call: proves wallet, 402 and receipt work (x402 only).
Input Schema
{
"type": "object",
"properties": {}
}Output Schema
{
"type": "object",
"properties": {
"pong": {
"type": "boolean"
},
"ts": {
"type": "string"
}
}
}🟢drive_time(origin, destination, near)
$0.01 per call. Pay with x402 (USDC on Base) in _meta["x402/payment"]; MPP (tempo) on the HTTP URL /v1/drive. Driving time/distance between two named places.
Input Schema
{
"type": "object",
"properties": {
"origin": {
"examples": [
"MCO"
],
"maxLength": 200,
"minLength": 1,
"title": "Origin",
"type": "string"
},
"destination": {
"examples": [
"Hilton Downtown Orlando"
],
"maxLength": 200,
"minLength": 1,
"title": "Destination",
"type": "string"
},
"near": {
"anyOf": [
{
"maxLength": 200,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Disambiguation hint, e.g. 'Orlando, FL'",
"title": "Near"
}
},
"required": [
"origin",
"destination"
],
"title": "DriveRequest"
}Output Schema
{
"type": "object",
"properties": {
"origin": {
"$ref": "#/$defs/PlaceOut"
},
"destination": {
"$ref": "#/$defs/PlaceOut"
},
"distance_m": {
"title": "Distance M",
"type": "integer"
},
"duration_s": {
"title": "Duration S",
"type": "integer"
},
"miles": {
"title": "Miles",
"type": "number"
},
"minutes": {
"title": "Minutes",
"type": "number"
},
"estimated": {
"description": "true = straight-line fallback, not a road route",
"title": "Estimated",
"type": "boolean"
},
"attribution": {
"title": "Attribution",
"type": "string"
}
},
"required": [
"origin",
"destination",
"distance_m",
"duration_s",
"miles",
"minutes",
"estimated",
"attribution"
],
"$defs": {
"PlaceOut": {
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"lat": {
"title": "Lat",
"type": "number"
},
"lon": {
"title": "Lon",
"type": "number"
},
"kind": {
"title": "Kind",
"type": "string"
},
"source": {
"title": "Source",
"type": "string"
},
"confidence": {
"title": "Confidence",
"type": "number"
}
},
"required": [
"name",
"lat",
"lon",
"kind",
"source",
"confidence"
],
"title": "PlaceOut",
"type": "object"
}
},
"title": "DriveResponse"
}🟢drive_matrix(origins, destinations, near)
$0.05 per call. Pay with x402 (USDC on Base) in _meta["x402/payment"]; MPP (tempo) on the HTTP URL /v1/matrix. Drive-time matrix, up to 100 origin x destination elements per call.
Input Schema
{
"type": "object",
"properties": {
"origins": {
"items": {
"type": "string"
},
"maxItems": 100,
"minItems": 1,
"title": "Origins",
"type": "array"
},
"destinations": {
"items": {
"type": "string"
},
"maxItems": 100,
"minItems": 1,
"title": "Destinations",
"type": "array"
},
"near": {
"anyOf": [
{
"maxLength": 200,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Near"
}
},
"required": [
"origins",
"destinations"
],
"title": "MatrixRequest"
}Output Schema
{
"type": "object",
"properties": {
"origins": {
"items": {
"$ref": "#/$defs/PlaceOut"
},
"title": "Origins",
"type": "array"
},
"destinations": {
"items": {
"$ref": "#/$defs/PlaceOut"
},
"title": "Destinations",
"type": "array"
},
"rows": {
"items": {
"items": {
"$ref": "#/$defs/MatrixCell"
},
"type": "array"
},
"title": "Rows",
"type": "array"
},
"attribution": {
"title": "Attribution",
"type": "string"
}
},
"required": [
"origins",
"destinations",
"rows",
"attribution"
],
"$defs": {
"MatrixCell": {
"properties": {
"distance_m": {
"title": "Distance M",
"type": "integer"
},
"duration_s": {
"title": "Duration S",
"type": "integer"
},
"estimated": {
"title": "Estimated",
"type": "boolean"
}
},
"required": [
"distance_m",
"duration_s",
"estimated"
],
"title": "MatrixCell",
"type": "object"
},
"PlaceOut": {
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"lat": {
"title": "Lat",
"type": "number"
},
"lon": {
"title": "Lon",
"type": "number"
},
"kind": {
"title": "Kind",
"type": "string"
},
"source": {
"title": "Source",
"type": "string"
},
"confidence": {
"title": "Confidence",
"type": "number"
}
},
"required": [
"name",
"lat",
"lon",
"kind",
"source",
"confidence"
],
"title": "PlaceOut",
"type": "object"
}
},
"title": "MatrixResponse"
}🟢license_verify(state, license_number, name)
$0.05 per call. Pay with x402 (USDC on Base) in _meta["x402/payment"]; MPP (tempo) on the HTTP URL /v1/license/verify. Contractor license status plus matching business-entity record. Served states: FL, OR. Empty licenses is a paid 200.
Input Schema
{
"type": "object",
"properties": {
"state": {
"examples": [
"FL"
],
"maxLength": 2,
"minLength": 2,
"pattern": "^[A-Za-z]{2}$",
"title": "State",
"type": "string"
},
"license_number": {
"anyOf": [
{
"maxLength": 32,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "License Number"
},
"name": {
"anyOf": [
{
"maxLength": 200,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Name"
}
},
"required": [
"state"
],
"description": "Every input rule lives here, so an invalid body is refused before the 402 (#118).",
"title": "LicenseVerifyRequest"
}Output Schema
{
"type": "object",
"properties": {
"state": {
"title": "State",
"type": "string"
},
"query": {
"additionalProperties": {
"type": "string"
},
"title": "Query",
"type": "object"
},
"licenses": {
"items": {
"$ref": "#/$defs/LicenseOut"
},
"title": "Licenses",
"type": "array"
},
"data_as_of": {
"additionalProperties": {
"type": "string"
},
"title": "Data As Of",
"type": "object"
},
"attribution": {
"title": "Attribution",
"type": "string"
}
},
"required": [
"state",
"query",
"licenses",
"data_as_of",
"attribution"
],
"$defs": {
"CandidateOut": {
"properties": {
"entity_number": {
"title": "Entity Number",
"type": "string"
},
"name": {
"title": "Name",
"type": "string"
},
"status": {
"title": "Status",
"type": "string"
}
},
"required": [
"entity_number",
"name",
"status"
],
"title": "CandidateOut",
"type": "object"
},
"EntityOut": {
"properties": {
"band": {
"title": "Band",
"type": "string"
},
"entity_number": {
"title": "Entity Number",
"type": "string"
},
"name": {
"title": "Name",
"type": "string"
},
"status": {
"title": "Status",
"type": "string"
},
"entity_type": {
"title": "Entity Type",
"type": "string"
},
"file_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"title": "File Date"
},
"last_transaction_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"title": "Last Transaction Date"
},
"principal_address": {
"additionalProperties": {
"type": "string"
},
"title": "Principal Address",
"type": "object"
},
"registered_agent": {
"title": "Registered Agent",
"type": "string"
}
},
"required": [
"band",
"entity_number",
"name",
"status",
"entity_type",
"file_date",
"last_transaction_date",
"principal_address",
"registered_agent"
],
"title": "EntityOut",
"type": "object"
},
"LicenseOut": {
"properties": {
"license_number": {
"title": "License Number",
"type": "string"
},
"license_type": {
"title": "License Type",
"type": "string"
},
"licensee_name": {
"title": "Licensee Name",
"type": "string"
},
"dba_name": {
"title": "Dba Name",
"type": "string"
},
"status": {
"title": "Status",
"type": "string"
},
"active": {
"title": "Active",
"type": "boolean"
},
"original_licensure_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"title": "Original Licensure Date"
},
"expiration_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"title": "Expiration Date"
},
"city": {
"title": "City",
"type": "string"
},
"state": {
"title": "State",
"type": "string"
},
"zip": {
"title": "Zip",
"type": "string"
},
"entity": {
"anyOf": [
{
"$ref": "#/$defs/EntityOut"
},
{
"type": "null"
}
]
},
"candidates": {
"items": {
"$ref": "#/$defs/CandidateOut"
},
"title": "Candidates",
"type": "array"
},
"details": {
"additionalProperties": {
"type": "string"
},
"title": "Details",
"type": "object"
}
},
"required": [
"license_number",
"license_type",
"licensee_name",
"dba_name",
"status",
"active",
"original_licensure_date",
"expiration_date",
"city",
"state",
"zip",
"entity",
"candidates",
"details"
],
"title": "LicenseOut",
"type": "object"
}
},
"title": "LicenseVerifyResponse"
}🟢entity_lookup(state, entity_number, name)
$0.01 per call. Pay with x402 (USDC on Base) in _meta["x402/payment"]; MPP (tempo) on the HTTP URL /v1/entity/lookup. State business-registry record (status, formation, registered agent, officers) by entity number or exact name. Served states: FL, OR. Up to 10 entities; empty entities is a paid 200.
Input Schema
{
"type": "object",
"properties": {
"state": {
"enum": [
"FL",
"OR"
],
"examples": [
"FL"
],
"maxLength": 2,
"minLength": 2,
"title": "State",
"type": "string"
},
"entity_number": {
"anyOf": [
{
"maxLength": 32,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"examples": [
"P12345"
],
"title": "Entity Number"
},
"name": {
"anyOf": [
{
"maxLength": 200,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Name"
}
},
"required": [
"state"
],
"description": "Every input rule lives here, so an invalid body is refused before the 402 (#118).",
"title": "EntityLookupRequest"
}Output Schema
{
"type": "object",
"properties": {
"state": {
"title": "State",
"type": "string"
},
"query": {
"additionalProperties": {
"type": "string"
},
"title": "Query",
"type": "object"
},
"entities": {
"items": {
"$ref": "#/$defs/EntityOut"
},
"title": "Entities",
"type": "array"
},
"truncated": {
"description": "More than 10 entities matched.",
"title": "Truncated",
"type": "boolean"
},
"data_as_of": {
"additionalProperties": {
"type": "string"
},
"title": "Data As Of",
"type": "object"
},
"source": {
"title": "Source",
"type": "string"
},
"coverage": {
"title": "Coverage",
"type": "string"
}
},
"required": [
"state",
"query",
"entities",
"truncated",
"data_as_of",
"source",
"coverage"
],
"$defs": {
"AddressOut": {
"properties": {
"line1": {
"title": "Line1",
"type": "string"
},
"line2": {
"title": "Line2",
"type": "string"
},
"city": {
"title": "City",
"type": "string"
},
"state": {
"title": "State",
"type": "string"
},
"zip": {
"title": "Zip",
"type": "string"
},
"country": {
"title": "Country",
"type": "string"
}
},
"required": [
"line1",
"line2",
"city",
"state",
"zip",
"country"
],
"title": "AddressOut",
"type": "object"
},
"EntityOut": {
"properties": {
"entity_number": {
"title": "Entity Number",
"type": "string"
},
"name": {
"title": "Name",
"type": "string"
},
"status": {
"description": "As the state gives it: FL 'A'/'I', OR 'active'.",
"title": "Status",
"type": "string"
},
"active": {
"title": "Active",
"type": "boolean"
},
"entity_type": {
"title": "Entity Type",
"type": "string"
},
"formed": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"title": "Formed"
},
"principal_address": {
"$ref": "#/$defs/AddressOut"
},
"registered_agent": {
"$ref": "#/$defs/RegisteredAgentOut"
},
"officers": {
"items": {
"$ref": "#/$defs/OfficerOut"
},
"title": "Officers",
"type": "array"
},
"details": {
"additionalProperties": {
"type": "string"
},
"title": "Details",
"type": "object"
}
},
"required": [
"entity_number",
"name",
"status",
"active",
"entity_type",
"formed",
"principal_address",
"registered_agent",
"officers",
"details"
],
"title": "EntityOut",
"type": "object"
},
"OfficerOut": {
"properties": {
"title": {
"description": "As the state gives it, e.g. FL 'P', 'MGR', 'AMBR'.",
"title": "Title",
"type": "string"
},
"name": {
"title": "Name",
"type": "string"
},
"type": {
"description": "'person' or 'entity'; '' when the state does not say.",
"title": "Type",
"type": "string"
}
},
"required": [
"title",
"name",
"type"
],
"title": "OfficerOut",
"type": "object"
},
"RegisteredAgentOut": {
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"address": {
"$ref": "#/$defs/AddressOut"
}
},
"required": [
"name",
"address"
],
"title": "RegisteredAgentOut",
"type": "object"
}
},
"title": "EntityLookupResponse"
}🟢license_search(state, trade, city, zip, active_only, ...)
$0.10 per call. Pay with x402 (USDC on Base) in _meta["x402/payment"]; MPP (tempo) on the HTTP URL /v1/license/search. Licensed contractors by trade and city or zip: license number, name, license type and class, status, expiry, address. Trades FL: alarm, demolition, drywall, electrical, garage_door, gas_line, general, glazing, hvac, irrigation, low_voltage, marine, plumbing, pollutant_storage, pool, pool_specialty, residential_electrical, roofing, sheet_metal, sign_electrical, solar, specialty_structure, underground_utility, window_door; OR: commercial_general, commercial_specialty, home_inspector, lead_paint, locksmith, residential_general, residential_specialty. Up to 25 results, active first, with total_matches; empty results is a paid 200.
Input Schema
{
"type": "object",
"properties": {
"state": {
"enum": [
"FL",
"OR"
],
"examples": [
"FL"
],
"maxLength": 2,
"minLength": 2,
"title": "State",
"type": "string"
},
"trade": {
"description": "Offered per state. FL: alarm, demolition, drywall, electrical, garage_door, gas_line, general, glazing, hvac, irrigation, low_voltage, marine, plumbing, pollutant_storage, pool, pool_specialty, residential_electrical, roofing, sheet_metal, sign_electrical, solar, specialty_structure, underground_utility, window_door; OR: commercial_general, commercial_specialty, home_inspector, lead_paint, locksmith, residential_general, residential_specialty.",
"enum": [
"alarm",
"commercial_general",
"commercial_specialty",
"demolition",
"drywall",
"electrical",
"garage_door",
"gas_line",
"general",
"glazing",
"home_inspector",
"hvac",
"irrigation",
"lead_paint",
"locksmith",
"low_voltage",
"marine",
"plumbing",
"pollutant_storage",
"pool",
"pool_specialty",
"residential_electrical",
"residential_general",
"residential_specialty",
"roofing",
"sheet_metal",
"sign_electrical",
"solar",
"specialty_structure",
"underground_utility",
"window_door"
],
"examples": [
"roofing"
],
"maxLength": 40,
"title": "Trade",
"type": "string"
},
"city": {
"anyOf": [
{
"maxLength": 100,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Exact match after normalizing case and spaces, on addresses in the requested state. Exactly one of city or zip.",
"examples": [
"Tampa"
],
"title": "City"
},
"zip": {
"anyOf": [
{
"maxLength": 10,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "5-digit ZIP (ZIP+4 accepted; the first 5 digits match).",
"examples": [
"33602"
],
"title": "Zip"
},
"active_only": {
"default": true,
"title": "Active Only",
"type": "boolean"
},
"limit": {
"default": 25,
"maximum": 25,
"minimum": 1,
"title": "Limit",
"type": "integer"
}
},
"required": [
"state",
"trade"
],
"description": "Every input rule lives here, so an invalid body is refused before the 402 (#118).",
"title": "LicenseSearchRequest"
}Output Schema
{
"type": "object",
"properties": {
"state": {
"title": "State",
"type": "string"
},
"query": {
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "boolean"
},
{
"type": "integer"
}
]
},
"title": "Query",
"type": "object"
},
"results": {
"items": {
"$ref": "#/$defs/SearchResultOut"
},
"title": "Results",
"type": "array"
},
"total_matches": {
"description": "Matches before the limit.",
"title": "Total Matches",
"type": "integer"
},
"truncated": {
"description": "total_matches is more than the results returned.",
"title": "Truncated",
"type": "boolean"
},
"data_as_of": {
"additionalProperties": {
"type": "string"
},
"title": "Data As Of",
"type": "object"
},
"source": {
"title": "Source",
"type": "string"
},
"coverage": {
"title": "Coverage",
"type": "string"
}
},
"required": [
"state",
"query",
"results",
"total_matches",
"truncated",
"data_as_of",
"source",
"coverage"
],
"$defs": {
"SearchResultOut": {
"properties": {
"license_number": {
"title": "License Number",
"type": "string"
},
"name": {
"title": "Name",
"type": "string"
},
"dba_name": {
"title": "Dba Name",
"type": "string"
},
"license_type": {
"title": "License Type",
"type": "string"
},
"class_code": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "FL: the license's class when the trade names a class inside its license type (e.g. SCC glazing is class GLZ); null when the whole type is the trade, and for OR.",
"title": "Class Code"
},
"trade": {
"title": "Trade",
"type": "string"
},
"status": {
"description": "As the state gives it: FL primary status 'C'/'P'/'S'; OR 'active'/'expired'.",
"title": "Status",
"type": "string"
},
"active": {
"title": "Active",
"type": "boolean"
},
"expires": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"title": "Expires"
},
"city": {
"title": "City",
"type": "string"
},
"zip": {
"title": "Zip",
"type": "string"
},
"state": {
"description": "The license holder's address state.",
"title": "State",
"type": "string"
}
},
"required": [
"license_number",
"name",
"dba_name",
"license_type",
"trade",
"status",
"active",
"expires",
"city",
"zip",
"state"
],
"title": "SearchResultOut",
"type": "object"
}
},
"title": "LicenseSearchResponse"
}🟢airport_nearest(location, near, k, airport_size)
$0.02 per call. Pay with x402 (USDC on Base) in _meta["x402/payment"]; MPP (tempo) on the HTTP URL /v1/airport/nearest. Up to 5 airports with scheduled service nearest a named place, ranked by real road drive time, with IATA codes.
Input Schema
{
"type": "object",
"properties": {
"location": {
"examples": [
"Lakeland, FL"
],
"maxLength": 200,
"minLength": 1,
"pattern": "\\S",
"title": "Location",
"type": "string"
},
"near": {
"anyOf": [
{
"maxLength": 200,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Disambiguation hint, e.g. 'Florida'",
"title": "Near"
},
"k": {
"default": 3,
"description": "How many airports",
"maximum": 5,
"minimum": 1,
"title": "K",
"type": "integer"
},
"airport_size": {
"default": "scheduled",
"description": "scheduled: any airport with scheduled passenger service. large: OurAirports type large_airport with scheduled service.",
"enum": [
"scheduled",
"large"
],
"title": "Airport Size",
"type": "string"
}
},
"required": [
"location"
],
"description": "Every input rule lives here, so an invalid body is refused before the 402 (#118).",
"title": "NearestAirportRequest"
}Output Schema
{
"type": "object",
"properties": {
"origin": {
"$ref": "#/$defs/PlaceOut"
},
"airports": {
"description": "Nearest first by road drive time",
"items": {
"$ref": "#/$defs/AirportOut"
},
"title": "Airports",
"type": "array"
},
"attribution": {
"title": "Attribution",
"type": "string"
},
"airports_data_as_of": {
"description": "When our OurAirports file was fetched (UTC)",
"title": "Airports Data As Of",
"type": "string"
}
},
"required": [
"origin",
"airports",
"attribution",
"airports_data_as_of"
],
"$defs": {
"AirportOut": {
"properties": {
"iata": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "null for the few scheduled airports without one",
"title": "Iata"
},
"icao": {
"description": "OurAirports ident: the ICAO code where one exists",
"title": "Icao",
"type": "string"
},
"name": {
"title": "Name",
"type": "string"
},
"municipality": {
"title": "Municipality",
"type": "string"
},
"type": {
"description": "OurAirports type: large_airport, medium_airport, ...",
"title": "Type",
"type": "string"
},
"lat": {
"title": "Lat",
"type": "number"
},
"lon": {
"title": "Lon",
"type": "number"
},
"distance_m": {
"title": "Distance M",
"type": "integer"
},
"duration_s": {
"title": "Duration S",
"type": "integer"
},
"miles": {
"title": "Miles",
"type": "number"
},
"minutes": {
"title": "Minutes",
"type": "number"
}
},
"required": [
"iata",
"icao",
"name",
"municipality",
"type",
"lat",
"lon",
"distance_m",
"duration_s",
"miles",
"minutes"
],
"title": "AirportOut",
"type": "object"
},
"PlaceOut": {
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"lat": {
"title": "Lat",
"type": "number"
},
"lon": {
"title": "Lon",
"type": "number"
},
"kind": {
"title": "Kind",
"type": "string"
},
"source": {
"title": "Source",
"type": "string"
},
"confidence": {
"title": "Confidence",
"type": "number"
}
},
"required": [
"name",
"lat",
"lon",
"kind",
"source",
"confidence"
],
"title": "PlaceOut",
"type": "object"
}
},
"title": "NearestAirportResponse"
}Community
Evidence