Flipvo: licenses, entities, NPI, OFAC and OIG screens, carriers, OSHA, drive times
Server Details
Pay-per-call agent tools (x402, MPP): licenses, entities, NPI, OIG/OFAC screens, FMCSA, OSHA, drive
- Status
- Healthy
- Uptime
- 100.0% over 19 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 13 tools
Most tools target distinct data products (airports, carriers, drives, entities, licenses, nonprofits, NPIs, OSHA, sanctions), but there is some overlap: license_search vs license_verify and exclusions_screen vs npi_verify both touch similar domains. Descriptions largely disambiguate, though an agent could still hesitate when screening an NPI for OIG exclusions.
All 13 tools use consistent snake_case with a domain noun followed by an action or descriptor (e.g., carrier_lookup, license_verify, sanctions_screen, drive_time). The pattern is predictable and readable throughout.
13 tools is well within a reasonable range for a multi-domain lookup server that explicitly covers licenses, entities, NPI, sanctions, exclusions, carriers, OSHA, and drive times. Each tool maps to a distinct endpoint or capability, with pipe_check serving as a lightweight payment health check.
The core domains named in the server title are covered, but some supporting reference operations are not exposed as tools: license_verify points to a free professions endpoint for FL/TX, exclusions_screen points to a free lists endpoint, and there is no name-to-NPI search for providers. These are minor gaps agents can partly work around via descriptions.
Available Tools
13 toolsairport_nearestARead-onlyInspect
$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.
| Name | Required | Description | Default |
|---|---|---|---|
| k | No | How many airports | |
| near | No | Disambiguation hint, e.g. 'Florida' | |
| location | Yes | ||
| airport_size | No | scheduled: any airport with scheduled passenger service. large: OurAirports type large_airport with scheduled service. | scheduled |
Output Schema
| Name | Required | Description |
|---|---|---|
| origin | Yes | |
| airports | Yes | Nearest first by road drive time |
| attribution | Yes | |
| airports_data_as_of | Yes | When our OurAirports file was fetched (UTC) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint, openWorldHint, idempotentHint=false), and the description adds genuinely new behavioral context: cost ($0.02 per call), the payment mechanisms (x402/USDC on Base via _meta, MPP on the HTTP URL), and that ranking is by real road drive time rather than straight-line distance.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Compact and front-loaded with the pricing/payment constraint, then the functional summary. Payment detail consumes a large share of the text, but every sentence carries actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be described. The description covers purpose, cost, payment path, and ranking basis adequately; only the disambiguation hint (`near`) is left entirely to the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 75%, so the schema already carries most parameter meaning (k, near, airport_size all documented there). The description reinforces the k cap ('Up to 5'), the place input, and the scheduled-service filter but adds little syntax or format detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: returns up to 5 airports with scheduled service nearest a named place, ranked by real road drive time, with IATA codes. This clearly separates it from generic siblings like drive_time or drive_matrix, though it never explicitly names an alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'nearest a named place' and the airport-size constraint, and it discloses the paid-access requirement. However, it gives no explicit when-to-use/when-not guidance or routing to a sibling tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
carrier_lookupARead-onlyInspect
$0.03 per call. Pay with x402 (USDC on Base) in _meta["x402/payment"]; MPP (tempo) on the HTTP URL /v1/carrier/lookup. US motor carrier by USDOT, MC/MX/FF docket or exact company name (FMCSA): USDOT status, out-of-service order, operating authority per docket with grant date and source (Motus, else legacy frozen 2026-05-14), BI&PD, cargo and bond required vs on file, insurance policies, BOC-3, fleet size (power_units counts every power unit, trucks and others), safety rating. Up to 10 carriers; empty is a paid 200. Not a determination: verify with FMCSA before dispatch.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Whole legal or DBA name; no partial match. | |
| usdot | No | ||
| docket | No | MC, MX or FF + digits. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | Yes | |
| carriers | Yes | |
| coverage | Yes | |
| truncated | Yes | |
| data_as_of | Yes | |
| legacy_as_of | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite annotations already declaring the read-only/open-world profile, the description adds substantial behavior beyond them: per-call pricing, the x402/MPP payment channel, that an empty result is still a paid 200, the 10-carrier cap, and data provenance (Motus vs legacy frozen 2026-05-14). This is exactly the kind of non-obvious cost and result semantics an agent needs before invoking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single densely-packed paragraph where every clause carries information, with payment terms front-loaded (arguably an odd lead, but high-value). It is efficient, though the long run-on return-field list pushes toward density rather than crisp structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the description needn't explain returns, yet it still enumerates result fields (status, OOS, authority, insurance, fleet size) somewhat redundantly. Combined with cost and caveat disclosure, the definition is essentially complete for calling, with minor overlap against structured output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%, and the description clarifies identifier formats (USDOT number, MC/MX/FF docket, exact company name with no partial match) and that identity resolution is FMCSA-sourced. It adds real meaning over the schema, though it does not restate the mutual-exclusivity constraint ('exactly one of') that lives in the schema text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource (US motor carrier lookup) and enumerates the exact identifiers accepted (USDOT, MC/MX/FF docket, exact company name) via FMCSA. It is clearly distinguishable from sibling lookups like entity_lookup, license_search, and nonprofit_verify, which target different entity types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied ('Not a determination: verify with FMCSA before dispatch') but the description never names an alternative tool or states when another sibling should be used instead. The 10-carrier cap and empty-200 behavior hint at intended scope, but there is no explicit when-to-use/when-not guidance against alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
drive_matrixBRead-onlyInspect
$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.
| Name | Required | Description | Default |
|---|---|---|---|
| near | No | ||
| origins | Yes | ||
| destinations | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| rows | Yes | |
| origins | Yes | |
| attribution | Yes | |
| destinations | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses pricing, payment mechanism via _meta["x402/payment"], the HTTP endpoint, and the 100-element limit, all of which go beyond the annotations. Annotations already declare readOnly and openWorld hints, and there is no contradiction; the description adds meaningful operational context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler, and each sentence adds distinct information: payment mechanics and core capability. However, the payment details are front-loaded ahead of the tool's actual purpose, and the protocol jargon like 'MPP (tempo)' is dense and unexplained.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema covers return values and annotations cover the safety profile, so those gaps are acceptable. What remains missing is parameter formatting guidance, clarification of the near parameter, and explicit usage differentiation from drive_time. This is workable for a prepared agent but not fully self-sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description needed to explain origins, destinations, and near, but it only indirectly references origins and destinations and never explains their expected format. The combined 100-element cap is useful, but near is completely undocumented and address/coordinate semantics are absent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a drive-time matrix computation over origins and destinations, with an explicit 100-element cap. The contrast with the sibling drive_time tool makes clear this is the multi-pair matrix variant, though it lacks an explicit verb like 'compute' or 'calculate'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: a matrix for up to 100 origin-destination elements. However, the description never explicitly says when to choose this over drive_time or mentions any exclusions or alternative routing. An agent must infer the distinction from the tool names and the word 'matrix'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
drive_timeCRead-onlyInspect
$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.
| Name | Required | Description | Default |
|---|---|---|---|
| near | No | Disambiguation hint, e.g. 'Orlando, FL' | |
| origin | Yes | ||
| destination | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| miles | Yes | |
| origin | Yes | |
| minutes | Yes | |
| estimated | Yes | true = straight-line fallback, not a road route |
| distance_m | Yes | |
| duration_s | Yes | |
| attribution | Yes | |
| destination | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, covering the read-only nature and open-world assumption. The description adds the critical cost and payment requirement ($0.01 per call via x402) and the MPP endpoint, which are not in annotations. However, it does not disclose response format, rate limits, or error behavior. Given the annotations carry the safety profile, the description adds some value but not extensive behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively concise, though it mixes payment details with the core purpose. The first sentence states the purpose, then the payment info follows. It is not overly verbose, but the payment info could be considered secondary. The structure is acceptable, though the purpose could be front-loaded more clearly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is an output schema (though not shown), so return format may be covered there. However, the description omits details like the difference from drive_matrix, any prerequisites (e.g., valid place names), and how errors are handled. The payment requirement is covered, but other operational context is lacking. For a tool with moderate complexity and a sibling tool that is clearly related, more guidance is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, with only the 'near' parameter having a description. The description adds minimal semantics: it says 'two named places' but does not explain that origin and destination are place names or how to format them. It doesn't clarify the 'near' parameter beyond what the schema provides. With low coverage, the description should compensate but does not, leaving the agent uncertain about parameter usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the core function: 'Driving time/distance between two named places.' It names the resource (driving time/distance) and the operation (compute between origin and destination). However, it does not explicitly differentiate from the sibling drive_matrix, which likely computes a matrix of times/destinations, so the agent might not immediately know when to choose this over the matrix version.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like drive_matrix. It only mentions the payment method, not the scenarios where a single route query is preferred over a matrix. There is no mention of limitations, prerequisites, or typical use cases. An agent would have to infer usage from the name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
entity_lookupARead-onlyInspect
$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; no officers, no street lines) by entity number or exact name. Served states: CO, CT, FL, NY, OR. Up to 10 entities; empty entities is a paid 200.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| state | Yes | ||
| entity_number | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | Yes | |
| state | Yes | |
| source | Yes | |
| coverage | Yes | |
| entities | Yes | |
| truncated | Yes | More than 10 entities matched. |
| data_as_of | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, and idempotentHint=false; the description goes further by disclosing the $0.01 price, the two payment paths (x402 USDC on Base via _meta, MPP on the HTTP URL), the data-coverage boundaries, and notably that an empty result is still a paid 200. It does not discuss auth beyond payment or latency/rate limits, so it is strong but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences with essentially no filler, though payment mechanics lead while the actual resource description is buried mid-paragraph. Front-loading the operation before the billing detail would read better, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-shape explanation is unnecessary. Given a paid, open-world, non-idempotent lookup, the description covers cost, payment channel, geographic coverage, result limits, field-level inclusions/exclusions, and the charged-empty-result edge case - everything an agent needs before spending money on the call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It does clarify that identification is by entity number OR an exact name (the exactness requirement is absent from the schema) and enumerates the valid states, but it adds nothing about format for entity_number beyond the schema example, and its 'up to 10 entities' claim does not map cleanly onto the single-valued name/entity_number properties.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb+resource: retrieve a state business-registry record (status, formation, registered agent) by entity number or exact name, and explicitly scopes out officers and street lines. That is enough for an agent to separate it from license_verify or carrier_lookup, but it never names a sibling or states how it differs from them, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives real selection constraints - only five served states (CO, CT, FL, NY, OR), up to 10 entities, and either an entity number or an exact name - which implies when the tool is usable. However it offers no explicit when-to-use guidance against the many sibling verification tools (carrier_lookup, license_search, nonprofit_verify), so routing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
exclusions_screenARead-onlyInspect
$0.01 per call. Pay with x402 (USDC on Base) in _meta["x402/payment"]; MPP (tempo) on the HTTP URL /v1/exclusions/screen. Screens a person or business name, or an NPI, against the HHS-OIG exclusion list (LEIE, Medicare and Medicaid): potential matches only, each with name score, reasons, NPI, state, specialty, exclusion type and date. Not a determination: confirm a match on the OIG online search with the SSN or EIN. Empty candidates is a paid 200. Not for employment or credit decisions. List dates and code meanings: GET /v1/exclusions/lists (free).
| Name | Required | Description | Default |
|---|---|---|---|
| npi | No | 10-digit National Provider Identifier: an exact key. | |
| name | No | A person or a business. Required unless npi is given. | |
| limit | No | ||
| lists | No | Lists to screen. Default: every loaded list. | |
| state | No | US state or territory code: a match ranks a candidate higher. | |
| min_score | No | Name score floor, 70-100. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | Yes | |
| coverage | Yes | |
| truncated | Yes | |
| candidates | Yes | |
| data_as_of | Yes | |
| total_candidates | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover only readOnly/openWorld/idempotent hints, so the description carries the rest: per-call price ($0.01), payment mechanism (x402 USDC on Base via _meta, MPP on the HTTP URL), and the non-obvious billing behavior that an empty candidate set is still a paid 200. It also discloses the outputs and the limits of the result's authority.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very compressed and every clause carries information, but it opens with pricing rather than the purpose, so the core 'what it does' arrives in sentence two. Structure is dense yet mostly earn-your-place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return fields need not be explained, yet the description still names the match payload (name score, reasons, NPI, state, specialty, exclusion type, date). Combined with billing, payment, and confirmation caveats, nothing an agent needs to invoke this correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 83%, so the schema already documents npi, name, lists, state and min_score. The description adds only that NPI is acceptable input and that state merely re-ranks; limit and min_score are not elaborated, so this sits at the baseline for high-coverage schemas.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: screen a person/business name or NPI against the HHS-OIG exclusion list (LEIE, Medicare and Medicaid). The named dataset and the 'potential matches only' scope make it immediately distinguishable from sibling tools such as sanctions_screen.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-not conditions ('Not for employment or credit decisions', 'Not a determination: confirm a match on the OIG online search with the SSN or EIN') and routes agents to a free companion endpoint for list dates and code meanings. It stops short of naming sibling screening tools (e.g. sanctions_screen) as alternatives for other datasets.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
license_searchRead-onlyInspect
$0.05 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, zip or county: license number, name, license type and class, status, expiry, address. Trades CA: asbestos_lead, boiler_piping, cabinets_finish_carpentry, concrete, demolition, drywall, electrical, elevator, fencing, fire_protection, flooring, framing, general, general_engineering, glazing, hvac, insulation, landscaping, lock_security, low_voltage, manufactured_home_setup, masonry, ornamental_metal, painting, parking_highway, paving, pipeline, plastering, plumbing, pool, reinforcing_steel, residential_remodeling, roofing, sewer_septic, sheet_metal, signs, solar, steel_erection, tile, traffic_control, tree_service, water_conditioning, welding, well_drilling; CO: electrical, plumbing; 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; LA: asbestos_lead, commercial_general, concrete, demolition, drywall, electrical, excavation, flooring, glazing, highway_heavy, home_improvement, house_moving, hvac, insulation, landscaping, low_voltage, marine, masonry, mold_remediation, painting, paving, plastering, plumbing, pollutant_storage, pool, reinforcing_steel, residential_general, roofing, sandblasting, sheet_metal, siding, solar, steel_erection, telecommunications, underground_utility, well_drilling; MN: boiler_piping, electrical, elevator, hvac, low_voltage, manufactured_home_setup, plumbing, residential_general, residential_remodeling, roofing, sign_electrical, underground_utility, water_conditioning; NJ: alarm, electrical, home_elevation, home_improvement, hvac, locksmith, plumbing, telecommunications; OR: commercial_general, commercial_specialty, home_inspector, lead_paint, locksmith, residential_general, residential_specialty; TN: asbestos_lead, boiler_piping, commercial_general, concrete, demolition, drywall, electrical, elevator, excavation, fencing, fire_protection, flooring, framing, gas_line, glazing, highway_heavy, hvac, insulation, irrigation, landscaping, low_voltage, masonry, ornamental_metal, painting, paving, plastering, plumbing, pool, residential_general, roofing, sandblasting, scaffolding, sheet_metal, sign_electrical, signs, steel_erection, telecommunications, tile, underground_utility, welding; TX: electrical, hvac, plumbing, sign_electrical; VA: accessibility, alarm, alternative_energy, asbestos_lead, cabinets_finish_carpentry, commercial_general, commercial_improvement, concrete, drilling_blasting, drywall, electrical, elevator, environmental, farm_improvement, fire_protection, flooring, framing, gas_line, glazing, highway_heavy, home_improvement, hvac, industrial_equipment, insulation, irrigation, landscaping, low_voltage, manufactured_home_setup, marine, masonry, modular_building, painting, paving, plumbing, pool, radon_mitigation, recreational_facility, residential_general, roofing, sewer_septic, signs, steel_erection, tile, underground_utility, vessel_construction, well_drilling; WA: alarm, appliances, asbestos_lead, awnings, backflow, boiler_piping, cabinets_finish_carpentry, central_vacuum, closets, concrete, construction_cleanup, demolition, doors_gates, drain_cleaning, drilling_blasting, drywall, electrical, electrical_maintenance, elevator, excavation, fencing, fire_protection, fireproofing, flooring, framing, garage_door, general, glazing, gutters, handyman, house_moving, hvac, industrial_equipment, institutional_equipment, insulation, irrigation, landscaping, low_voltage, manufactured_home_setup, masonry, metal_fabrication, painting, paving, pest_control, plastering, plumbing, pool, pressure_washing, pump_irrigation, residential_electrical, roofing, sandblasting, scaffolding, service_station_equipment, sewer_septic, siding, sign_electrical, signs, steel_erection, stoves, suspended_ceilings, tanks, telecommunications, tile, tree_service, underground_utility, water_conditioning, welding, well_drilling, window_coverings. Up to 25 results, active first, with total_matches; empty results is a paid 200.
| Name | Required | Description | Default |
|---|---|---|---|
| zip | No | 5-digit ZIP (ZIP+4 accepted; the first 5 digits match). Exactly one of city, zip or county. | |
| city | No | Exact match after normalizing case and spaces, on addresses in the requested state. Exactly one of city, zip or county. | |
| limit | No | ||
| state | Yes | ||
| trade | Yes | A trade slug. Each state offers its own list: GET /v1/license/trades (free) | |
| county | No | Offered only where a state lists it; LA takes a parish. Exactly one of city, zip or county. | |
| active_only | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | Yes | |
| state | Yes | |
| source | Yes | |
| results | Yes | |
| coverage | Yes | |
| truncated | Yes | total_matches is more than the results returned. |
| data_as_of | Yes | |
| total_matches | Yes | Matches before the limit. |
license_verifyRead-onlyInspect
$0.02 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: CA, CO, FL, LA, MN, NJ, OR, TN, TX, VA, WA. CA, CO, LA, MN, NJ and TN entity are always null. TX entity is always null: Texas sells its business-registry data. FL and TX also take profession; values at GET /v1/license/professions?state=FL|TX. Empty licenses is a paid 200.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| state | Yes | ||
| profession | No | FL or TX only: a licensed profession instead of a contractor. GET /v1/license/professions?state=FL|TX (free) lists them. Omit for contractors. | |
| license_number | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | Yes | |
| state | Yes | |
| licenses | Yes | |
| data_as_of | Yes | |
| attribution | Yes |
nonprofit_verifyARead-onlyInspect
$0.01 per call. Pay with x402 (USDC on Base) in _meta["x402/payment"]; MPP (tempo) on the HTTP URL /v1/nonprofit/verify. IRS nonprofit status by EIN or exact organization name: BMF exemption subsection, deductibility and foundation codes, Pub 78 listing, and automatic revocations. Up to 10 records; empty organizations is a paid 200. No legal conclusion is computed.
| Name | Required | Description | Default |
|---|---|---|---|
| ein | No | Nine digits; spaces and hyphens are stripped. Use instead of name. | |
| name | No | Exact organization name key. Use instead of ein. | |
| state | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | Yes | |
| coverage | Yes | |
| truncated | Yes | |
| data_as_of | Yes | |
| organizations | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnly/openWorld annotations: pricing ($0.01 per call), the x402 USDC-on-Base payment channel and MPP HTTP endpoint, a 10-record cap, the non-obvious 'empty organizations is a paid 200' behavior, and an explicit disclaimer that no legal conclusion is computed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense but every clause earns its place, with no filler. Slightly imperfect front-loading: pricing and payment mechanics precede the actual purpose statement, so the agent parses cost before function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation. The description covers cost, payment rails, record limits, the empty-result edge case, and the legal disclaimer — everything needed to call and interpret this paid, open-world tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67% and already documents EIN stripping, exact-name matching, and the state limiter. The description reinforces 'exact organization name' and the EIN/name exclusivity but adds no syntax or format detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: 'IRS nonprofit status by EIN or exact organization name,' and enumerates the returned data (BMF exemption subsection, deductibility/foundation codes, Pub 78 listing, automatic revocations). This clearly separates it from siblings like entity_lookup and license_verify.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains the two input modes (EIN or exact organization name) and that a name search can be limited by state, giving the agent clear context for invoking it. It does not, however, name sibling alternatives or state when a different tool is preferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
npi_verifyARead-onlyInspect
$0.01 per call. Pay with x402 (USDC on Base) in _meta["x402/payment"]; MPP (tempo) on the HTTP URL /v1/npi/verify. For 1 to 10 NPIs, the CMS NPPES status of each (active or deactivated, with deactivation and reactivation dates), provider name or organization, practice city, state and ZIP and taxonomies, plus any HHS-OIG LEIE exclusion listed under the NPI, as facts from the files: not a credential check and not a determination about the provider.
| Name | Required | Description | Default |
|---|---|---|---|
| npis | Yes | 1 to 10 National Provider Identifiers: 10 digits each, the last a valid check digit (Luhn over 80840 + the NPI). No duplicates. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | Yes | |
| results | Yes | |
| coverage | Yes | |
| data_as_of | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations by disclosing cost ($0.01 per call), the payment rails (x402 USDC on Base via _meta["x402/payment"], MPP/tempo on the HTTP URL /v1/npi/verify), the batch ceiling (1-10 NPIs), and the upstream data sources. An agent knows the price, how to pay, and what it is actually reporting before calling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the cost and payment terms, which is the most decision-relevant fact for a paid endpoint, then packs scope and disclaimers tightly. The final sentence runs long with semicolon-chained clauses, but each clause (pricing, payment, coverage, disclaimer) earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers pricing, payment mechanics, batch limits, returned fields and the liability disclaimer; an output schema exists so return structure need not be restated. The one unresolved gap is how it relates to the exclusions_screen sibling given it also surfaces LEIE exclusions, which leaves a routing ambiguity for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already documents NPIs as 1-10 ten-digit values with valid check digits and no duplicates. The description's '1 to 10 NPIs' clause adds no information beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb+resource (npi_verify) and then enumerates exactly what is returned: CMS NPPES status (active/deactivated with dates), provider/org name, practice city/state/ZIP and taxonomies, plus any HHS-OIG LEIE exclusion. An agent can distinguish this from license_verify, exclusions_screen and entity_lookup without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States clear negative scope ('not a credential check and not a determination about the provider') and a hard input bound (1 to 10 NPIs), which tells the agent when this tool is inappropriate. However, it never names a sibling or a condition for choosing it over exclusions_screen, whose screening role overlaps with the LEIE portion here.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
osha_historyARead-onlyInspect
$0.02 per call. Pay with x402 (USDC on Base) in _meta["x402/payment"]; MPP (tempo) on the HTTP URL /v1/osha/history. Returns the OSHA inspections, violations and penalties on file for an employer in a state (optional city and zip), matched by name in the US Department of Labor's inspection and violation files, as establishments with a penalty roll-up; OSHA inspections only, so an employer with none has no record and an empty result is a paid 200; it is not a determination about the employer and is not endorsed or certified by the U.S. Department of Labor.
| Name | Required | Description | Default |
|---|---|---|---|
| zip | No | Five-digit inspection site ZIP. A hard filter. | |
| city | No | Inspection site city, case-insensitive. A hard filter. | |
| limit | No | Establishments returned, 1-25. | |
| state | Yes | US state or territory code. A hard filter on the inspection site. | |
| employer | Yes | Employer name, with at least one word that is not a generic trade word. | |
| min_score | No | Name score floor, 70-100. |
Output Schema
| Name | Required | Description |
|---|---|---|
| rollup | Yes | Over the establishments listed. |
| source | Yes | |
| coverage | Yes | |
| truncated | Yes | |
| data_as_of | Yes | |
| establishments | Yes | |
| total_establishments | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only and open-world behavior, but the description adds genuinely load-bearing details beyond them: cost ($0.02 per call), the payment mechanism (x402 USDC on Base via _meta, MPP on the HTTP URL), the fact that an empty result is still billed as a paid 200, name-based matching, and an explicit non-endorsement disclaimer. The one notable omission is that idempotentHint=false is never explained (e.g., repeated paid calls).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
All content is substantive, but it is delivered as one long run-on sentence led by billing mechanics, so the tool's actual purpose is buried mid-string and the disclaimer trails at the end. Dense but poorly front-loaded and hard to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation. Given that, the description covers everything an agent needs before calling: cost, payment path, data provenance, matching semantics, empty-result behavior, and legal caveats. Nothing material is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents employer, state, city, zip, limit and min_score in detail. The description only echoes the matching model ('matched by name', 'city and zip only narrow') and adds no format, matching-tolerance or score-threshold guidance beyond what the schema provides, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Returns the OSHA inspections, violations and penalties on file for an employer in a state.' It also pins the data source (US Department of Labor inspection and violation files) and the output shape (establishments with a penalty roll-up), which cleanly separates it from sibling screening tools like sanctions_screen or exclusions_screen.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied rather than stated: an agent can infer this is the OSHA/regulatory-labor lookup, and the description warns that an employer with no inspections yields an empty paid 200. However, it never names an alternative tool or an explicit when-not-to-use condition, so routing between this and the other screening tools is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pipe_checkARead-onlyInspect
$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).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ts | No | |
| pong | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, so the read-only safety profile is established. The description adds valuable behavioral context beyond the schema: the exact per-call cost, the required payment via x402 USDC on Base, the _meta field where payment must be supplied, and confirmation that it is the cheapest paid call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at two sentences and contains no filler. It packs cost, payment routing, and purpose into a compact form that an agent can parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with an output schema and clear annotations, the description covers the essential invocation details: payment amount, payment mechanism, where to provide payment, and what the call validates. It could be slightly clearer about what 'pipe' refers to, but nothing critical is missing for an agent to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and schema description coverage is 100%, so the schema has no gaps. The description still adds context by explaining that payment is passed in _meta and that no regular inputs are needed, which is helpful for an agent deciding how to invoke it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a low-cost paid call that 'proves wallet, 402 and receipt work', giving agents a concrete sense of what it does: verify the x402 payment path. It is not a fully explicit verb+resource statement like 'tests payment connectivity', but it is specific enough to separate it from the unrelated sibling tools such as drive_matrix and license_verify.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: when you need to verify that wallet, 402 payment, and receipts work at the lowest cost. However, it does not explicitly state when not to use it, mention alternatives, or explain how this relates to the sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sanctions_screenARead-onlyInspect
$0.01 per call. Pay with x402 (USDC on Base) in _meta["x402/payment"]; MPP (tempo) on the HTTP URL /v1/sanctions/screen. Screen a name against the US OFAC SDN and Consolidated lists: potential matches with list, programs, name score and reasons; optional type, date of birth and country re-rank. Fuzzy, folds accents, any script. Not a determination: an empty candidates list is a paid 200 and certifies nothing. Not UN, EU or UK.
| Name | Required | Description | Default |
|---|---|---|---|
| dob | No | YYYY or YYYY-MM-DD, for persons. | |
| name | Yes | Any script. | |
| type | No | What the party is. A mismatch ranks a candidate lower. | |
| limit | No | ||
| country | No | ISO 3166-1 alpha-2: a nationality or address country. | |
| min_score | No | Name score floor, 70-100. |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | Yes | |
| sources | Yes | |
| coverage | Yes | |
| truncated | Yes | |
| candidates | Yes | |
| checked_at | Yes | |
| data_as_of | Yes | |
| publication | Yes | |
| total_candidates | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover read-only/open-world/idempotency; the description adds substantial behavior: $0.01 per call with x402 (USDC on Base) and MPP payment channels, fuzzy matching that folds accents and accepts any script, and the critical caveat that an empty candidate list is a paid 200 that 'certifies nothing'. That is exactly the kind of non-obvious consequence an agent cannot get from structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the billing/payment mechanics an agent must know before calling, then the screening semantics, then the disclaimer. Dense and mostly waste-free, though the payment-channel detail is verbose enough to slightly crowd the functional content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be enumerated, yet the description still names the match fields (list, programs, name score, reasons). Combined with pricing, payment mechanism, matching behavior, and the explicit non-determination caveat, nothing an agent needs to call this correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 83%, so the schema already documents dob, type, country and min_score. The description still adds meaning by framing type/dob/country as re-rank inputs only ('only add reasons and re-rank') and noting any-script/any-accent folding, though it never mentions limit or min_score defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Screen a name against the US OFAC SDN and Consolidated lists') and names the exact fields of the returned matches. It also scopes itself against sibling screening services with 'Not UN, EU or UK', so an agent can distinguish it without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear usage context — screening a party name, with optional type/dob/country only re-ranking — and an explicit scope exclusion ('Not UN, EU or UK'). What is missing is a positive directive on when to prefer this over siblings like entity_lookup or nonprofit_verify, but the screening context is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
license_search2 fields changed- changed
Input schema / properties / state / enumPrevious value: -[ - "CA", - "FL", - "MN", - "NJ", - "OR", - "TX", - "VA", - "WA" -]New value: +[ + "CA", + "CO", + "FL", + "MN", + "NJ", + "OR", + "TN", + "TX", + "VA", + "WA" +] - changed
Output schema / $defs / SearchResultOut / properties / class_code / descriptionPrevious value: -"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. WA: the specialty that matched the trade (e.g. CC roofing is CD). VA: the license's first specialty in the trade (e.g. hvac is HVA or REF). CA: the license's first classification in the trade (e.g. plumbing is C36). MN and NJ: the subtype or type DLI or DCA files. Null for OR and TX."New value: +"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. WA: the specialty that matched the trade (e.g. CC roofing is CD). VA: the license's first specialty in the trade (e.g. hvac is HVA or REF). CA: the license's first classification in the trade (e.g. plumbing is C36). MN and NJ: the subtype or type DLI or DCA files. TN: its board class ids in the trade. Null for OR and TX."
1 tool update
- Changed
license_search2 fields changed- changed
Input schema / properties / state / enumPrevious value: -[ - "CA", - "FL", - "MN", - "OR", - "TX", - "VA", - "WA" -]New value: +[ + "CA", + "FL", + "MN", + "NJ", + "OR", + "TX", + "VA", + "WA" +] - changed
Output schema / $defs / SearchResultOut / properties / class_code / descriptionPrevious value: -"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. WA: the specialty that matched the trade (e.g. CC roofing is CD). VA: the license's first specialty in the trade (e.g. hvac is HVA or REF). CA: the license's first classification in the trade (e.g. plumbing is C36). Null for OR and TX."New value: +"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. WA: the specialty that matched the trade (e.g. CC roofing is CD). VA: the license's first specialty in the trade (e.g. hvac is HVA or REF). CA: the license's first classification in the trade (e.g. plumbing is C36). MN and NJ: the subtype or type DLI or DCA files. Null for OR and TX."
1 tool update
- Changed
license_search1 field changed- changed
Input schema / properties / state / enumPrevious value: -[ - "CA", - "FL", - "OR", - "TX", - "VA", - "WA" -]New value: +[ + "CA", + "FL", + "MN", + "OR", + "TX", + "VA", + "WA" +]
1 tool update
- Added
npi_verify
1 tool update
- Added
osha_history
1 tool update
- Changed
carrier_lookup1 field changed- added
Output schema / $defs / CarrierRecord / properties / power_units / descriptionAdded value: +"Every power unit the carrier reports, trucks and others; not trucks only."
1 tool update
- Changed
entity_lookup1 field changed- changed
Input schema / properties / state / enumPrevious value: -[ - "CO", - "FL", - "NY", - "OR" -]New value: +[ + "CO", + "CT", + "FL", + "NY", + "OR" +]
1 tool update
- Changed
entity_lookup1 field changed- changed
Input schema / properties / state / enumPrevious value: -[ - "CO", - "FL", - "OR" -]New value: +[ + "CO", + "FL", + "NY", + "OR" +]
1 tool update
- Changed
entity_lookup1 field changed- changed
Input schema / properties / state / enumPrevious value: -[ - "FL", - "OR" -]New value: +[ + "CO", + "FL", + "OR" +]
Related MCP Connectors
US motor carrier safety, authority and identity-linkage checks from FMCSA data. Pay per call (x402).
Pay-per-call screening against HHS-OIG LEIE and SAM.gov exclusions.
271 agent-payable tools: competitive intel, finance, KYC, compliance, ESG. x402 per-call.
Pay-per-call US government data: carrier safety, visa sponsors, contracts, employer risk.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables pay-per-call screening of individuals and entities against the HHS-OIG List of Excluded Individuals and Entities (LEIE), with x402 payment and an MCP interface for agents.MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to run pay-per-call checks on US freight carriers and brokers, OFAC sanctions lists, and African FX rates using x402 micropayments or a prepaid pass without an API key.MIT
- AlicenseNot gradedqualityDmaintenanceProvides 25 pay-per-call tools from agents.oromi.co.uk (business, property, verification, web, crypto) into MCP-capable models, with quote mode for browsing and paid mode using x402.56 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to perform medical-billing tasks like prior authorization checks, claim denial decoding, unpaid claim triage, appeal assessments, and PHI de-identification using deterministic rules engines with per-call payments via the x402 protocol.41 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.