Deftship MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DEFTSHIP_ENV | No | sandbox or production. Determines the base URL. | sandbox |
| DEFTSHIP_BASE_URL | No | Override the API base URL entirely (takes precedence over DEFTSHIP_ENV). | |
| DEFTSHIP_API_TOKEN | Yes | Your Deftship API token. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| deftship_get_parcel_ratesA | Quote parcel shipping rates from all allowed carriers for a given from/to address and package list. Returns a list of rates, each with an |
| deftship_create_parcel_orderA | Create a draft parcel order that appears on the Open Orders page in the dashboard. Does not purchase a label. Returns the shipment_order_id. Pass shipment_order_id to update an existing draft. |
| deftship_ship_parcelA | Purchase a parcel label using a rate_id from deftship_get_parcel_rates. THIS CHARGES YOUR BALANCE. The label and tracking numbers are delivered asynchronously to your token's webhook, or retrieved later with deftship_get_parcel. Requires confirm=true. |
| deftship_void_parcelA | Void a previously created parcel order by shipment_order_id. May incur a void fee (returned as void_fee). Requires confirm=true. |
| deftship_get_parcelA | Fetch a parcel order's status, tracking numbers and label URL, either by shipment_order_id or by tracking_number. Use this to poll for a label after shipping and to track a shipment. Provide exactly one of the two identifiers. |
| deftship_merge_parcel_labelsA | Merge multiple already-generated parcel labels into a single PDF. Returns the merged label URL. Only works for labels that already exist. |
| deftship_mark_as_shippedA | Mark draft orders as shipped outside of Deftship (e.g. shipped with another provider). Optionally push fulfillment back to the connected e-commerce platform. Each order is identified by id or ecommerce_id (not both). |
| deftship_list_ecommerce_parcelsA | List draft parcel orders imported from connected e-commerce platforms (50 per page). Supports optional date range, platform and order_number filters. Rate limited to 20/min. |
| deftship_get_freight_ratesA | Quote LTL/FTL freight rates from all allowed carriers. Returns rates each with an |
| deftship_create_freight_orderA | Create a draft freight order visible on the Open Orders page. Does not purchase. Returns the shipment_order_id. Pass shipment_order_id to update an existing draft. |
| deftship_ship_freightA | Book a freight shipment using a rate_id from deftship_get_freight_rates. THIS CHARGES YOUR BALANCE. The BOL and label are delivered asynchronously to your token's webhook, or retrieved later with deftship_get_freight. Requires confirm=true. |
| deftship_void_freightA | Void a previously created freight order by shipment_order_id. May incur a void_fee. Requires confirm=true. |
| deftship_get_freightA | Fetch a freight order's BOL number, label, POD and confirmed pickup window, either by shipment_order_id or by bol_number. Provide exactly one identifier. |
| deftship_get_pickup_ratesA | Quote a carrier pickup. Returns the pickup order |
| deftship_create_pickup_orderA | Create a pickup order visible on the Pickup Orders page. Returns the full pickup order object including its id. Use deftship_arrange_pickup to actually book it with the carrier. |
| deftship_arrange_pickupA | Book a previously created pickup order with the carrier. Returns the pickup confirmation number (prn). May charge your balance depending on carrier. Requires confirm=true. |
| deftship_void_pickupA | Void a previously created pickup order by id. Requires confirm=true. |
| deftship_get_pickupA | Fetch a previously created pickup order by id, including pieces and status. |
| deftship_get_insurance_ratesA | Quote insurance for a shipment. Creates an insurance record and returns its |
| deftship_book_insuranceA | Purchase a previously quoted insurance by insurance_id. THIS CHARGES YOUR BALANCE. Requires confirm=true. |
| deftship_void_insuranceA | Void a previously booked insurance by insurance_id. Requires confirm=true. |
| deftship_create_batchA | Create a shipment batch (beta; own-USPS-account only) with up to 1,000 shipments that share a shipper and service. Items are validated asynchronously; poll deftship_get_batch until status is 'ready', then deftship_ship_batch. Does not spend money yet. |
| deftship_add_batch_itemsA | Add more shipments to an existing batch. The batch must not be validating, processing or completed. Batch returns to 'validating' while new items are checked. |
| deftship_remove_batch_itemsA | Remove specific items from a batch by their item hash ids (max 10,000). Also deletes the associated shipment orders. The batch must not be validating, processing or completed. |
| deftship_get_batchA | Fetch a batch's status, validation results, per-item details and (when completed) merged label PDF URLs. Optionally filter items by status: valid, invalid, completed, failed. |
| deftship_ship_batchA | Ship all valid items in a batch. The batch must be in 'ready' status. THIS CHARGES YOUR BALANCE for every item in the batch. Processing is asynchronous; poll deftship_get_batch for labels. Requires confirm=true. |
| deftship_check_balanceA | Return your organisation's current Deftship balance and currency. Useful before shipping to confirm there are enough funds. |
| deftship_get_address_bookA | Fetch your saved addresses. Use destination 'from' for sender addresses or 'to' for recipient addresses. Returns address records with their ids for use as from_address_id / to_address_id. |
| deftship_validate_addressA | Validate an address before shipping to avoid correction surcharges. Returns suggested/corrected address candidates and whether the address is residential. |
| deftship_get_service_namesA | List available carrier services and their service codes. Use type 'shipment' for parcel/freight services or 'pickup' for pickup services. |
| deftship_get_carrier_statusA | Check the current operational status of a carrier (e.g. known outages or degraded service). |
| deftship_create_ticketA | Open a support ticket against existing shipments (e.g. a claim or issue) by tracking number. Some ticket types carry a fee. Provide ticket_type_id, a reference, a message and the related tracking numbers. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Kodeas/deftship-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server