# io.github.warpfreight/warp-agent-mcp: tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/io.github.warpfreight%2Fwarp-agent-mcp/versions/latest)
- Connected to: https://mcp.wearewarp.com/api/mcp
- Homepage: https://wearewarp.com/
- Repository: https://github.com/warpfreight/warp-agent-mcp
- Scoring rules: v2
- Tools: 42
- Average: 58.9 / 100 (Cloudy)
- Near-identical pairs: 0

This page shows how io.github.warpfreight/warp-agent-mcp's tool descriptions scored, the issues found and the names of its tools and parameters. The descriptions are the server's own: read them where the copy came from.

Forecall asked the URL this server lists in the official MCP Registry for its tools/list once, on the date above, without calling any tool. The server may have changed since.

## Across the server

- Major: 42 tools. Above 40, models choose less accurately.
- Minor: The server has no instructions. Say there, once, what the server is for and when to use it: Claude Code and Gemini CLI read the instructions before the tool descriptions.

## Tools

- `box_truck_quote`: 37 / 100
  - Major: The description only restates the name (8 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: commodity.
  - Minor: Says nothing about what it returns.
- `van_quote`: 37 / 100
  - Major: The description only restates the name (8 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: commodity.
  - Minor: Says nothing about what it returns.
- `automation_receipts`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `delete_load_template`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: load_template_id. Name the tool or the place that returns it, or models look it up first.
- `events`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: shipment_id. Name the tool or the place that returns it, or models look it up first.
- `freight_workflow`: 47 / 100
  - Major: Arguments without a description: workflow.
  - Minor: Says nothing about what it returns.
- `get_invoice`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: order_id. Name the tool or the place that returns it, or models look it up first.
- `compare_freight_costs`: 48 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: rows, rows[].shipment_id, rows[].baseline_amount_usd, rows[].candidate_amount_usd, rows[].baseline_kind, rows[].candidate_kind.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `ftl_quote`: 48 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: commodity.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `track`: 48 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: shipment_id. Name the tool or the place that returns it, or models look it up first.
- `international_customs`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: customs.exporter_of_record.street, customs.exporter_of_record.street2, customs.exporter_of_record.city, customs.exporter_of_record.state, customs.exporter_of_record.country, customs.exporter_of_record.contact_name, customs.exporter_of_record.email, customs.importer_of_record.street, customs.importer_of_record.street2, customs.importer_of_record.city, customs.importer_of_record.state, customs.importer_of_record.country, customs.importer_of_record.contact_name, customs.importer_of_record.email, customs.commodities[].quantity, customs.isf.seller, customs.isf.seller.name, customs.isf.seller.country, customs.isf.buyer, customs.isf.buyer.name, customs.isf.buyer.country, customs.isf.manufacturer, customs.isf.manufacturer.name, customs.isf.manufacturer.country, customs.isf.ship_to, customs.isf.ship_to.name, customs.isf.ship_to.country, customs.isf.container_stuffing_location, customs.isf.container_stuffing_location.name, customs.isf.container_stuffing_location.country, customs.isf.consolidator, customs.isf.consolidator.name, customs.isf.consolidator.country, customs.isf.importer_of_record_number, customs.isf.consignee_number.
  - Minor: String arguments with no constraint or example: customs.exporter_of_record.street, customs.exporter_of_record.street2, customs.exporter_of_record.city, customs.exporter_of_record.state, customs.exporter_of_record.contact_name, customs.exporter_of_record.email, customs.importer_of_record.street, customs.importer_of_record.street2, customs.importer_of_record.city, customs.importer_of_record.state, customs.importer_of_record.contact_name, customs.importer_of_record.email, customs.isf.seller.name, customs.isf.seller.address, customs.isf.buyer.name, customs.isf.buyer.address, customs.isf.manufacturer.name, customs.isf.manufacturer.address, customs.isf.ship_to.name, customs.isf.ship_to.address, customs.isf.container_stuffing_location.name, customs.isf.container_stuffing_location.address, customs.isf.consolidator.name, customs.isf.consolidator.address, customs.isf.importer_of_record_number, customs.isf.consignee_number.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: order_id. Name the tool or the place that returns it, or models look it up first.
- `status`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `international_settings`: 51 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `lane_history`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `quote_history`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `save_load_template`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: commodity.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `analytics`: 54 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `load_templates`: 55 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `multistop_book`: 55 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: shipments[].list_items[].stackable.
  - Minor: String arguments with no constraint or example: shipments[].pickup_info.address.street, shipments[].pickup_info.address.city, shipments[].pickup_info.address.state, shipments[].pickup_info.contact_name, shipments[].pickup_info.contact_phone, shipments[].pickup_info.contact_email, shipments[].delivery_info.address.street, shipments[].delivery_info.address.city, shipments[].delivery_info.address.state, shipments[].delivery_info.contact_name, shipments[].delivery_info.contact_phone, shipments[].delivery_info.contact_email, shipments[].list_items[].name, shipments[].list_items[].packaging, shipments[].list_items[].weight_unit, shipments[].list_items[].size_unit.
  - Minor: The meaning of the boolean argument shipments[].list_items[].stackable is unclear.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: quote_id. Name the tool or the place that returns it, or models look it up first.
- `shipper_profile`: 56 / 100
  - Major: Arguments without a description: set_preferences.default_accessorials.pickup, set_preferences.default_accessorials.delivery, set_preferences.preferred_mode, set_preferences.standard_pallet_dims.length, set_preferences.standard_pallet_dims.width, set_preferences.standard_pallet_dims.height, set_preferences.max_transit_days, set_preferences.notes.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `international_duty_estimate`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `manage_automation`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `multistop_quote`: 58 / 100
  - Minor: String arguments with no constraint or example: commodity.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `list_bookings`: 59 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `payment_status`: 59 / 100
  - Major: Says nothing about when to use it, or when not to.
- `batch_book`: 62 / 100
  - Major: Arguments without a description: bookings[].pickup.zipCode, bookings[].pickup.city, bookings[].pickup.state, bookings[].pickup.street, bookings[].pickup.contactName, bookings[].pickup.phone, bookings[].pickup.email, bookings[].pickup.specialInstruction, bookings[].delivery.zipCode, bookings[].delivery.city, bookings[].delivery.state, bookings[].delivery.street, bookings[].delivery.contactName, bookings[].delivery.phone, bookings[].delivery.specialInstruction, bookings[].accessorials.pickup, bookings[].accessorials.delivery, bookings[].pickup_window, bookings[].pickup_window.from, bookings[].pickup_window.to, bookings[].delivery_window, bookings[].delivery_window.from, bookings[].delivery_window.to, shared_pickup.zipCode, shared_pickup.city, shared_pickup.state, shared_pickup.street, shared_pickup.contactName, shared_pickup.phone, shared_pickup.email, shared_pickup.specialInstruction, shared_delivery.zipCode, shared_delivery.city, shared_delivery.state, shared_delivery.street, shared_delivery.contactName, shared_delivery.phone, shared_delivery.specialInstruction, shared_accessorials, shared_accessorials.pickup, shared_accessorials.delivery, shared_pickup_window, shared_pickup_window.from, shared_pickup_window.to, shared_delivery_window, shared_delivery_window.from, shared_delivery_window.to.
  - Minor: String arguments with no constraint or example: bookings[].pickup.city, bookings[].pickup.state, bookings[].pickup.street, bookings[].pickup.contactName, bookings[].pickup.phone, bookings[].pickup.email, bookings[].pickup.specialInstruction, bookings[].delivery.city, bookings[].delivery.state, bookings[].delivery.street, bookings[].delivery.contactName, bookings[].delivery.phone, bookings[].delivery.specialInstruction, bookings[].pickup_window.from, bookings[].pickup_window.to, bookings[].delivery_window.from, bookings[].delivery_window.to, shared_pickup.city, shared_pickup.state, shared_pickup.street, shared_pickup.contactName, shared_pickup.phone, shared_pickup.email, shared_pickup.specialInstruction, shared_delivery.city, shared_delivery.state, shared_delivery.street, shared_delivery.contactName, shared_delivery.phone, shared_delivery.specialInstruction, shared_pickup_window.from, shared_pickup_window.to, shared_delivery_window.from, shared_delivery_window.to.
  - Minor: The description mentions none of its 3 or more arguments.
- `batch_quote`: 62 / 100
  - Major: Arguments without a description: lanes[].pallets, lanes[].weight_lbs_per_pallet, lanes[].commodity, lanes[].length_in, lanes[].width_in, lanes[].height_in, lanes[].freight_class, lanes[].stackable, lanes[].hazmat, lanes[].pickup_services, lanes[].delivery_services.
  - Minor: String arguments with no constraint or example: lanes[].commodity, lanes[].freight_class.
  - Minor: The meaning of the boolean argument lanes[].stackable is unclear.
  - Minor: The meaning of the boolean argument lanes[].hazmat is unclear.
- `hs_code_search`: 62 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `automate_lane`: 65 / 100
  - Minor: Says nothing about what it returns.
- `international_book`: 66 / 100
  - Minor: Arguments without a description: pickup.latitude, pickup.longitude, pickup.window.from, pickup.window.to, delivery.latitude, delivery.longitude, delivery.window.from, delivery.window.to, customs.exporter_of_record.street, customs.exporter_of_record.street2, customs.exporter_of_record.city, customs.exporter_of_record.state, customs.exporter_of_record.country, customs.exporter_of_record.contact_name, customs.exporter_of_record.email, customs.importer_of_record.street, customs.importer_of_record.street2, customs.importer_of_record.city, customs.importer_of_record.state, customs.importer_of_record.country, customs.importer_of_record.contact_name, customs.importer_of_record.email, customs.commodities[].quantity, customs.isf.seller, customs.isf.seller.name, customs.isf.seller.country, customs.isf.buyer, customs.isf.buyer.name, customs.isf.buyer.country, customs.isf.manufacturer, customs.isf.manufacturer.name, customs.isf.manufacturer.country, customs.isf.ship_to, customs.isf.ship_to.name, customs.isf.ship_to.country, customs.isf.container_stuffing_location, customs.isf.container_stuffing_location.name, customs.isf.container_stuffing_location.country, customs.isf.consolidator, customs.isf.consolidator.name, customs.isf.consolidator.country, customs.isf.importer_of_record_number, customs.isf.consignee_number.
  - Minor: String arguments with no constraint or example: pickup.company, pickup.contact_name, pickup.email, pickup.street, pickup.street2, pickup.city, pickup.window.from, pickup.window.to, delivery.company, delivery.contact_name, delivery.email, delivery.street, delivery.street2, delivery.city, delivery.window.from, delivery.window.to, customs.exporter_of_record.street, customs.exporter_of_record.street2, customs.exporter_of_record.city, customs.exporter_of_record.state, customs.exporter_of_record.contact_name, customs.exporter_of_record.email, customs.importer_of_record.street, customs.importer_of_record.street2, customs.importer_of_record.city, customs.importer_of_record.state, customs.importer_of_record.contact_name, customs.importer_of_record.email, customs.isf.seller.name, customs.isf.seller.address, customs.isf.buyer.name, customs.isf.buyer.address, customs.isf.manufacturer.name, customs.isf.manufacturer.address, customs.isf.ship_to.name, customs.isf.ship_to.address, customs.isf.container_stuffing_location.name, customs.isf.container_stuffing_location.address, customs.isf.consolidator.name, customs.isf.consolidator.address, customs.isf.importer_of_record_number, customs.isf.consignee_number.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: option_id. Name the tool or the place that returns it, or models look it up first.
- `get_documents`: 67 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Required identifiers whose description does not say where the value comes from: order_id. Name the tool or the place that returns it, or models look it up first.
- `book`: 68 / 100
  - Minor: Arguments without a description: pickup_window.from, pickup_window.to, delivery_window.from, delivery_window.to.
  - Minor: String arguments with no constraint or example: pickup.city, pickup.state, pickup.street, pickup.contactName, pickup.phone, pickup.email, pickup.specialInstruction, delivery.city, delivery.state, delivery.street, delivery.contactName, delivery.phone, delivery.specialInstruction, pickup_window.from, pickup_window.to, delivery_window.from, delivery_window.to.
  - Minor: Says nothing about what it returns.
- `parcel_book`: 68 / 100
  - Minor: Arguments without a description: pickup_window.from, pickup_window.to, delivery_window.from, delivery_window.to.
  - Minor: String arguments with no constraint or example: pickup.city, pickup.state, pickup.street, pickup.street2, pickup.contactName, pickup.email, pickup.company, delivery.city, delivery.state, delivery.street, delivery.street2, delivery.contactName, delivery.email, delivery.company, pickup_window.from, pickup_window.to, delivery_window.from, delivery_window.to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: quote_id. Name the tool or the place that returns it, or models look it up first.
- `locations`: 70 / 100
  - Minor: Says nothing about what it returns.
- `consolidate`: 71 / 100
  - Minor: Arguments without a description: loads[].pallets, loads[].weight_lbs_per_pallet, loads[].width.
  - Minor: Says nothing about what it returns.
- `price_check`: 71 / 100
  - Minor: String arguments with no constraint or example: origin_zip, destination_zip.
- `parcel_quote`: 75 / 100
  - Major: It may be destructive, but destructiveHint is not set.
- `ltl_market_options`: 77 / 100
  - Minor: String arguments with no constraint or example: commodity.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: The meaning of the boolean argument hazmat is unclear.
- `ltl_quote`: 77 / 100
  - Minor: String arguments with no constraint or example: commodity.
  - Minor: The meaning of the boolean argument hazmat is unclear.
- `report_issue`: 78 / 100
  - Minor: The description mentions none of its 3 or more arguments.
- `international_quote`: 82 / 100
  - Minor: String arguments with no constraint or example: origin.state, origin.street, destination.state, destination.street.
- `compare_modes`: 84 / 100
  - Minor: String arguments with no constraint or example: commodity.
  - Minor: The meaning of the boolean argument hazmat is unclear.

Is your server listed here and you would rather it were not? Email support@forecall.dev, and we will take it off within 7 days.

[All scored servers](https://forecall.dev/en/servers)
