e-Courier MCP by usefulapi

Read delivery orders, quotes, customers, drivers, manifests, invoices and payment records.

使うべきか

品質と安全性

A
説明の品質
96%
スキーマの完全性
92%
命名の品質
78%
ポイズニングのリスク
100%
権限の一致
100%
プロトコルへの準拠
100%

検出事項(2)

  • LOWTool 'ecourier_find_customer_by_phone' name length outside 3-30 rangeecourier_find_customer_by_phone 内
  • LOWTool 'ecourier_list_customer_ship_tos' name length outside 3-30 rangeecourier_list_customer_ship_tos 内

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~3,625トークン数(ツール定義)
~1.5 KB一般的なレスポンスサイズ
注意への影響は大きい(128k コンテキストの 2.83%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

{
  "mcpServers": {
    "e-courier": {
      "url": "https://e-courier.usefulapi.io/mcp"
    }
  }
}

リモートエンドポイント

https://e-courier.usefulapi.io/mcpstreamable-http

できること

ツール一覧

ツール(17)

🟢 読み取り専用🟡 書き込み🔴 削除⚪ 不明
🟢ecourier_get_order(order_number, order_id, auth, reference, customer_code)

One delivery order with everything e-Courier holds: status (N new, A assigned, X deleted), customer, stops and their pickup/delivery times and POD names, pieces, jobs and drivers, fees, events and notifications. Give exactly one of order_number, order_id, auth (the customer's authorization code) or reference (a piece reference; add customer_code to narrow it). Signature images are not returned. GetJsonOrder.

入力スキーマ

{
  "type": "object",
  "properties": {
    "order_number": {
      "description": "The order number shown in e-Courier.",
      "type": "string",
      "minLength": 1,
      "maxLength": 50
    },
    "order_id": {
      "description": "Internal order id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "auth": {
      "description": "The order's Auth (authorization) value.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "reference": {
      "description": "A piece reference / barcode on the order.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "customer_code": {
      "description": "Customer code; useful together with reference.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢ecourier_get_order_fees(order_id)

The fee lines (what was charged for the delivery: base rate, fuel, waiting time and so on) of one order, by internal order id. GetOrderFees.

入力スキーマ

{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Internal order id (the OrderID from ecourier_get_order)."
    }
  },
  "required": [
    "order_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢ecourier_quote_order(customer_code, service, caller, caller_phone, description, ...)

Price and availability for a delivery WITHOUT creating it: e-Courier applies the customer's rates to the stops and pieces and returns the order with the quoted amount. Supply a customer code, pickup/delivery stops and optional pieces. Nothing is saved and nobody is notified. QuoteOrder.

入力スキーマ

{
  "type": "object",
  "properties": {
    "customer_code": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "e-Courier customer (billing account) code the order is for, as in e-Courier."
    },
    "service": {
      "description": "Service name configured in e-Courier, e.g. Route or Scheduled.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "caller": {
      "description": "Name of the person who placed the order.",
      "type": "string",
      "maxLength": 100
    },
    "caller_phone": {
      "description": "Phone of the person who placed the order.",
      "type": "string",
      "maxLength": 40
    },
    "description": {
      "description": "Order description.",
      "type": "string",
      "maxLength": 500
    },
    "other_reference": {
      "description": "Your own reference for the order (PO number etc.).",
      "type": "string",
      "maxLength": 100
    },
    "auth": {
      "description": "Customer authorization / reference code, if the account uses one.",
      "type": "string",
      "maxLength": 100
    },
    "pieces": {
      "description": "The items being moved. Each is linked to the pickup stop and the delivery stop.",
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "reference": {
            "description": "Piece reference / barcode.",
            "type": "string",
            "maxLength": 100
          },
          "description": {
            "description": "What the piece is.",
            "type": "string",
            "maxLength": 200
          },
          "count": {
            "description": "Number of items in this piece line (default 1).",
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 100000
          },
          "weight": {
            "description": "Weight of the piece line, in the account's weight unit.",
            "type": "number",
            "exclusiveMinimum": 0,
            "maximum": 1000000
          }
        }
      }
    },
    "stops": {
      "minItems": 2,
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "P",
              "D"
            ],
            "description": "P = pickup, D = delivery (destination)."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "description": "Company or person at the stop."
          },
          "address": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "description": "Street address."
          },
          "city": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "description": "City."
          },
          "state": {
            "type": "string",
            "minLength": 1,
            "maxLength": 50,
            "description": "State or province code, e.g. FL."
          },
          "zip": {
            "type": "string",
            "minLength": 1,
            "maxLength": 20,
            "description": "Postal code."
          },
          "country": {
            "description": "Country, e.g. USA.",
            "type": "string",
            "maxLength": 50
          },
          "phone": {
            "description": "Contact phone number.",
            "type": "string",
            "maxLength": 40
          },
          "scheduled": {
            "description": "Local date and time the stop is scheduled (pickup ready time or delivery due time), e.g. 2026-11-13T17:00.",
            "type": "string"
          },
          "timezone": {
            "description": "Timezone code of the scheduled time, e.g. EST.",
            "type": "string",
            "maxLength": 10
          },
          "note": {
            "description": "Instructions for the driver at this stop.",
            "type": "string",
            "maxLength": 500
          }
        },
        "required": [
          "type",
          "name",
          "address",
          "city",
          "state",
          "zip"
        ]
      },
      "description": "At least one pickup (P) and one delivery (D) stop, in route order."
    }
  },
  "required": [
    "customer_code",
    "stops"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢ecourier_get_customer_by_code(customer_code)

A customer (billing account) by its e-Courier customer code: id, name and address. GetCustomerByCode.

入力スキーマ

{
  "type": "object",
  "properties": {
    "customer_code": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "e-Courier customer code."
    }
  },
  "required": [
    "customer_code"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢ecourier_get_customer(customer_id)

The full customer record by internal customer id: contact, address, credit status and limit, balance, billing settings. Card numbers and passwords are never returned. GetCustomerById.

入力スキーマ

{
  "type": "object",
  "properties": {
    "customer_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Internal customer id."
    }
  },
  "required": [
    "customer_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢ecourier_find_customer_by_phone(phone)

Look up a customer by phone number (useful when a caller rings in): id, name and address. GetCustomerInfoFromPhoneNumber.

入力スキーマ

{
  "type": "object",
  "properties": {
    "phone": {
      "type": "string",
      "minLength": 3,
      "maxLength": 40,
      "description": "Phone number, digits (e.g. 7132223333)."
    }
  },
  "required": [
    "phone"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢ecourier_list_customer_ship_tos(customer_id, ship_to_id)

The saved ship-to (stop) addresses of a customer, by internal customer id, or one ship-to by its id. Give exactly one. GetCustomerShipTo.

入力スキーマ

{
  "type": "object",
  "properties": {
    "customer_id": {
      "description": "Internal customer id: all its saved addresses.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "ship_to_id": {
      "description": "One ship-to address id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢ecourier_list_drivers(site_id)

Every active driver: id, code, name and site. Optionally only one site (multi-site accounts). GetDrivers.

入力スキーマ

{
  "type": "object",
  "properties": {
    "site_id": {
      "description": "Only drivers of this site id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢ecourier_get_driver(driver_id, driver_code)

Driver records with their vehicles and file names (never SSN or tax ids). With driver_id or driver_code one driver; with neither, every active and inactive driver. GetDriver.

入力スキーマ

{
  "type": "object",
  "properties": {
    "driver_id": {
      "description": "Internal driver id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "driver_code": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Driver code."
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢ecourier_get_driver_orders(driver_code, driver_phone)

What a driver is carrying right now: the open orders on the driver's manifest (customer, pickup and delivery names, delivery zip, ready and due times), found by driver code or by the driver's phone number. Give exactly one. GetDriverInfoFromDriverCode / GetDriverInfoFromDriverPhone.

入力スキーマ

{
  "type": "object",
  "properties": {
    "driver_code": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Driver code."
    },
    "driver_phone": {
      "description": "The driver's phone number.",
      "type": "string",
      "minLength": 3,
      "maxLength": 40
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢ecourier_list_skills

The master list of active driver skills (for example HAZMAT) with ids. GetSkills.

入力スキーマ

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢ecourier_get_driver_skills(driver_id, driver_code)

The skills assigned to one driver, by driver id or driver code (give exactly one). GetDriverSkills.

入力スキーマ

{
  "type": "object",
  "properties": {
    "driver_id": {
      "description": "Internal driver id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "driver_code": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Driver code."
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢ecourier_get_manifest(manifest_driver_id)

One driver manifest (the route a driver runs for a day) with all its job stops: sequence, addresses, status, pieces and weight. GetManifest.

入力スキーマ

{
  "type": "object",
  "properties": {
    "manifest_driver_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "The ManifestDriverID of the manifest."
    }
  },
  "required": [
    "manifest_driver_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢ecourier_list_driver_manifests(driver_id, start_date, end_date, site_id, manifest_status)

The manifests of one driver between two dates, with their job stops. Default status filter is active (A). GetManifestsByDriver.

入力スキーマ

{
  "type": "object",
  "properties": {
    "driver_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Internal driver id."
    },
    "start_date": {
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
      "description": "First day, yyyy-mm-dd."
    },
    "end_date": {
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
      "description": "Last day, yyyy-mm-dd."
    },
    "site_id": {
      "description": "Only this site.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "manifest_status": {
      "description": "Manifest status code filter (default A).",
      "type": "string",
      "minLength": 1,
      "maxLength": 5
    }
  },
  "required": [
    "driver_id",
    "start_date",
    "end_date"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢ecourier_list_invoices(invoice_start_date, invoice_end_date, changed_start_date, changed_end_date, customer_code)

Invoices in an invoice date range (invoice_start_date and invoice_end_date are both required, at most 31 days apart: e-Courier rejects anything else). Optionally narrow by customer code and by a last-changed range. GetInvoice.

入力スキーマ

{
  "type": "object",
  "properties": {
    "invoice_start_date": {
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
      "description": "Invoice date from, yyyy-mm-dd. Required."
    },
    "invoice_end_date": {
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
      "description": "Invoice date to, yyyy-mm-dd. Required, at most 31 days after the start."
    },
    "changed_start_date": {
      "description": "Last changed from, yyyy-mm-dd.",
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
    },
    "changed_end_date": {
      "description": "Last changed to, yyyy-mm-dd.",
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
    },
    "customer_code": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Only this customer."
    }
  },
  "required": [
    "invoice_start_date",
    "invoice_end_date"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢ecourier_get_invoice_fees(invoice_id)

The fee lines of one invoice, by invoice id (the id from ecourier_list_invoices). GetInvoiceFees.

入力スキーマ

{
  "type": "object",
  "properties": {
    "invoice_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Invoice id."
    }
  },
  "required": [
    "invoice_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢ecourier_list_payments(payment_start_date, payment_end_date, customer_code, check_number, payment_id)

Customer payments received in a payment date range (payment_start_date and payment_end_date are both required, at most 10 days apart: e-Courier rejects anything else). Optionally narrow by customer code, check number or payment id. GetPayment.

入力スキーマ

{
  "type": "object",
  "properties": {
    "payment_start_date": {
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
      "description": "Payment date from, yyyy-mm-dd. Required."
    },
    "payment_end_date": {
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
      "description": "Payment date to, yyyy-mm-dd. Required, at most 10 days after the start."
    },
    "customer_code": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Only this customer."
    },
    "check_number": {
      "description": "Check number.",
      "type": "string",
      "minLength": 1,
      "maxLength": 50
    },
    "payment_id": {
      "description": "One payment id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "payment_start_date",
    "payment_end_date"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 17 件