bluedart-mcp-server
Provides tools for interacting with the BlueDart (DHL eCommerce India) shipping API, enabling waybill generation, cancellation, pickup scheduling, transit-time lookup, tracking, and pincode master downloads.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@bluedart-mcp-serverTrack shipment AWB 1234567890"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
bluedart-mcp-server
Model Context Protocol (MCP) server for the BlueDart (DHL eCommerce India) shipping API.
Exposes BlueDart's APIGEE endpoints — waybill creation, cancellation, pickup scheduling, transit-time lookup, tracking, and master downloads — as MCP tools that can be used by Claude Desktop, Claude Code, ChatGPT, and other standard MCP clients.
Tools
Tool | Method | What it does |
| write | Create a single AWB (POST /waybill/v1/GenerateWayBill) |
| write | Bulk-create AWBs (POST /waybill/v1/ImportData) |
| write | Cancel an AWB before in-scan |
| write | Schedule a pickup |
| write | Cancel a registered pickup |
| read | Estimate delivery date between two pincodes |
| read | Track a shipment by AWB (markdown or json) |
| read | Download serviceable pincode master |
All tools return both a text and a structuredContent payload, with BlueDart's error fields (Status[].StatusInformation, IsError, etc.) surfaced into a normalised error field.
Related MCP server: Boxzooka MCP Server
Setup
npm install
cp .env.example .env # fill in your BlueDart APIGEE credentials
npm run buildEnvironment variables
Var | Required | Description |
| yes |
|
| yes | OAuth Consumer Key from your APIGEE app |
| yes | OAuth Consumer Secret |
| yes | Profile LoginID (used in BlueDart payload) |
| yes | Profile LicenceKey |
| no |
|
| no |
|
JWT tokens are fetched once from /token/v1/login and cached in memory; the server auto-refreshes when the token is within 30 seconds of expiry, and will retry once on a 401/403.
Client configuration
Claude Desktop / Claude Code
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
{
"mcpServers": {
"bluedart": {
"command": "node",
"args": ["/absolute/path/to/bluedart-mcp-server/dist/index.js"],
"env": {
"BLUEDART_BASE_URL": "https://apigateway-sandbox.bluedart.com/in/transportation",
"BLUEDART_CLIENT_ID": "...",
"BLUEDART_CLIENT_SECRET": "...",
"BLUEDART_LOGIN_ID": "...",
"BLUEDART_LICENSE_KEY": "...",
"BLUEDART_API_TYPE": "S"
}
}
}
}ChatGPT
Configure as a stdio MCP server with the same node dist/index.js command and environment variables.
Notes & caveats
OriginArea must match the shipper pincode region. A mismatch returns
InvalidAreaScNotInRegion. Example:OriginArea='DEL'with pincode110030.CreditReferenceNo must be unique per shipment. Reuse triggers
Waybill already generated.Weight is in kilograms; dimensions in centimetres.
The label PDF (
AWBPrintContent) is base64-encoded and can be very large — setPDFOutputNotRequired: trueinServicesif you don't need it.This server only does API I/O. Custom label rendering (e.g. with logos/barcodes) is intentionally out of scope — do that in your application layer.
Development
npm run dev # tsx watch mode
npm run build # compile to dist/
npm start # run built server (stdio)License
MIT
Available Tools
8 toolsbluedart_cancel_pickupCancel BlueDart PickupADestructiveIdempotent
Cancel a previously registered pickup via POST /cancel-pickup/v1/CancelPickup. Requires the TokenNumber returned by bluedart_register_pickup and the original ShipmentPickupDate.
| Name | Required | Description | Default |
|---|---|---|---|
| token_number | Yes | Pickup token number returned by RegisterPickup. | |
| shipment_pickup_date | Yes | Original pickup date (YYYY-MM-DD) used at registration. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as destructive and idempotent. The description confirms destructive nature but adds no new behavioral details beyond the endpoint. Acceptable but doesn't elevate beyond annotation coverage.
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 efficient sentences covering purpose, endpoint, and requirements. No filler; every word adds value.
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 simple cancellation with two parameters and clear annotations, the description is adequate. Missing details on response or further effects, but not critical given low complexity.
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 covers both parameters with descriptions. The description reinforces the source of token_number but doesn't add new semantics or constraints beyond schema, earning a baseline 3.
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?
Clearly states action: cancel a pickup. Identifies endpoint and specifically notes it's for previously registered pickups, distinguishing from sibling tools like bluedart_cancel_waybill.
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?
Explicitly states required inputs (TokenNumber and ShipmentPickupDate from registration), providing clear context. Does not include explicit when-not-to-use or alternatives, but the sibling set makes differentiation easy.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bluedart_cancel_waybillCancel BlueDart WaybillADestructiveIdempotent
Cancel a BlueDart waybill by AWB number via POST /waybill/v1/CancelWaybill. Only works before the shipment has been manifest-scanned (in-scanned). After in-scan, cancellation is rejected by BlueDart.
| Name | Required | Description | Default |
|---|---|---|---|
| awb_no | Yes | BlueDart Air Waybill (AWB) number to cancel. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructive (true) and idempotent (true). The description adds a critical behavioral constraint (only before in-scan) not captured in annotations, enhancing transparency.
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 succinct sentences: first states purpose and endpoint, second adds a vital constraint. No unnecessary words.
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 the core functionality and key constraint. For a simple tool, it is mostly complete, though it omits expected response or error behavior. Still, it provides sufficient context for an AI 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 description coverage is 100% for the single parameter (awb_no), which already defines it fully. The tool description adds no additional parameter-level semantics 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?
The description clearly states the action (cancel) and resource (BlueDart waybill) with the specific endpoint. It distinguishes from sibling tools like bluedart_cancel_pickup by specifying 'waybill'.
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?
Explicitly states the condition for use: 'Only works before the shipment has been manifest-scanned (in-scanned). After in-scan, cancellation is rejected.' Provides clear when-to-use and when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bluedart_download_pincode_masterDownload BlueDart Pincode MasterARead-onlyIdempotent
Download serviceable pincode master data via POST /masterdownload/v1/DownloadPinCodeMaster. Pass last_sync_date to get only changes since that date. The response can be very large; consider syncing incrementally.
| Name | Required | Description | Default |
|---|---|---|---|
| last_sync_date | Yes | Only return pincode records modified after this date. ISO-8601 or '/Date(<ms>)/'. Use the epoch '1970-01-01T00:00:00Z' for a full dump. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it as read-only, idempotent, and non-destructive. Description adds the endpoint URL, explains last_sync_date behavior, and cautions about large response size, providing helpful context beyond annotations.
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, concise and to the point. First sentence states the action and endpoint; second sentence adds key usage detail. No extraneous 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?
Covers purpose, usage, parameter behavior, and performance note. No output schema, but warning about large response partially compensates. Could mention return format, but not essential for tool selection.
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?
Parameter is fully defined in schema. Description adds interpretation: last_sync_date filters changes, and suggests using epoch for full dump. Adds practical guidance beyond the schema description.
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?
Clearly states it downloads serviceable pincode master data, specifying the HTTP method and endpoint URI. Distinct from sibling tools that handle different operations like cancellation or tracking.
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?
Provides clear usage context: pass last_sync_date for incremental changes, and warns about large responses suggesting incremental sync. Does not explicitly state when not to use, but sibling tool names imply distinct purposes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bluedart_generate_waybillGenerate BlueDart WaybillADestructive
Create a single BlueDart Air Waybill (AWB) for a shipment. Calls POST /waybill/v1/GenerateWayBill. Returns the AWB number, routing info, and (unless suppressed) a base64 AWB label PDF in AWBPrintContent. PRECONDITIONS: OriginArea must match the shipper pincode region (e.g. OriginArea='DEL' for pin '110030') or BlueDart returns InvalidAreaScNotInRegion. CreditReferenceNo must be unique per shipment or BlueDart rejects with 'Waybill already generated'. Weight is in kilograms, dimensions in centimetres.
| Name | Required | Description | Default |
|---|---|---|---|
| Consignee | Yes | ||
| Shipper | Yes | ||
| Returnadds | Yes | ||
| Services | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial context beyond annotations: it states the API call is POST, returns AWB number and PDF, and specifies preconditions. Annotations indicate destructiveHint=true and readOnlyHint=false, which aligns with creating a record. No contradictions. A minor gap is lack of mention on rate limits or idempotency, but it's well-covered.
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 concise with 7 sentences, each serving a purpose: first sentence defines the action, second mentions the API and returns, third and fourth give preconditions, fifth provides unit info. Front-loaded and efficient with no fluff.
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?
Given the complexity (nested objects, no output schema), the description covers the main action, preconditions, return values, and potential errors. It lacks details on exact response structure or all error types, but it is sufficient for correct usage.
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 input schema has high description coverage (many fields have descriptions). The description adds value by specifying units (kilograms, centimetres) and critical preconditions like OriginArea matching. This goes beyond the schema descriptions, justifying a score above baseline 3.
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 tool creates a single BlueDart Air Waybill for a shipment, specifying the verb 'Create' and resource 'BlueDart Air Waybill'. It distinguishes from siblings like cancel_waybill or import_waybill, and mentions the API endpoint and return values.
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?
Explicit preconditions are listed: OriginArea must match shipper pincode region, and CreditReferenceNo must be unique. These serve as when-to-use and when-not-to-use guidelines, and mention specific error messages. The description also implies this tool is for generating AWB while siblings handle other operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bluedart_get_transit_timeGet BlueDart Domestic Transit TimeARead-onlyIdempotent
Estimate the expected delivery date for a shipment between two Indian pincodes via POST /transit/v1/GetDomesticTransitTimeForPinCodeandProduct. Read-only; safe to call repeatedly.
| Name | Required | Description | Default |
|---|---|---|---|
| origin_pincode | Yes | Pickup pincode | |
| destination_pincode | Yes | Delivery pincode | |
| product_code | No | BlueDart product code (default 'A'). | A |
| sub_product_code | No | Sub-product code: 'P' for prepaid, 'C' for COD, etc. | P |
| pickup_date | No | Pickup date as ISO-8601 (e.g. '2026-04-19'). Defaults to today. | |
| pickup_time | No | Pickup time as HH:MM (24h). | 16:00 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint, and openWorldHint. The description adds 'safe to call repeatedly' which echoes the annotations but does not disclose additional behavioral traits beyond what is already provided.
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 two sentences long, front-loading the purpose and adding a safety note with no redundant 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?
The tool has no output schema, but the description explains it returns an 'expected delivery date', which is sufficient. It could mention response format or error cases, but given low complexity, it is reasonably complete.
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 input schema already documents all parameters. The description adds no extra parameter-level details 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?
The description clearly states the tool estimates the expected delivery date for a shipment between two Indian pincodes, which is specific and distinguishes it from sibling tools that handle cancellation, tracking, or other operations.
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 the tool is for transit time estimation and that it's safe to call repeatedly, but it does not provide explicit guidance on when to use it versus alternatives like bluedart_track_shipment, or any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bluedart_import_waybillBulk Import BlueDart WaybillsADestructive
Create multiple BlueDart waybills in a single request via POST /waybill/v1/ImportData. Each entry has the same shape as bluedart_generate_waybill. Returns per-shipment results; partial successes are possible.
| Name | Required | Description | Default |
|---|---|---|---|
| shipments | Yes | Array of waybill requests to create in one call (1-50). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description adds that partial successes are possible and returns per-shipment results, which goes beyond annotations. Annotations already indicate destructive and non-idempotent behavior.
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?
Extremely concise: three sentences with no waste. Essential info front-loaded: purpose, endpoint, relation to sibling, partial success.
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?
Given one parameter with full schema description, no output schema, and sibling tools, the description covers key aspects. Could mention prerequisites or error handling, but annotations fill gaps.
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 covers the shipments parameter with min and max items. Description does not add extra meaning beyond what schema provides, so baseline 3 due to high schema coverage.
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?
Clearly states the tool creates multiple waybills in a single request. Distinguishes from sibling by noting each entry has same shape as bluedart_generate_waybill.
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?
Clearly indicates batch operation, implying it for multiple waybills. Notes relation to sibling but does not explicitly state when to choose this over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bluedart_register_pickupRegister BlueDart PickupADestructive
Schedule a BlueDart pickup at the customer location via POST /pickup/v1/RegisterPickup. Returns a TokenNumber that is required to cancel the pickup later. AreaCode must match the pickup pincode region (same constraint as waybill OriginArea).
| Name | Required | Description | Default |
|---|---|---|---|
| ProductCode | Yes | BlueDart product code for the pickup (e.g. 'A'). | |
| AreaCode | Yes | BlueDart 3-letter area code matching the pickup pincode. | |
| CustomerCode | Yes | BlueDart customer code | |
| CustomerName | Yes | ||
| CustomerAddress1 | Yes | ||
| CustomerAddress2 | No | ||
| ContactPersonName | Yes | ||
| CustomerPincode | Yes | 6-digit Indian pincode | |
| CustomerTelephoneNumber | No | Phone or mobile number (digits, 6-15 chars) | |
| MobileTelNo | Yes | ||
| ShipmentPickupDate | Yes | Pickup date as YYYY-MM-DD | |
| ShipmentPickupTime | Yes | Pickup time as HH:MM (24h) | |
| NumberofPieces | Yes | ||
| WeightofShipment | Yes | Weight in kg | |
| VolumeWeight | Yes | Volumetric weight in kg | |
| RouteCode | No | 99 | |
| isToPayShipper | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=false, destructiveHint=true, idempotentHint=false. The description adds that the tool returns a TokenNumber required for cancellation and that AreaCode must match the pincode region. However, there is a contradiction: description says 'Schedule' (creation) while annotations mark destructiveHint=true, which may mislead.
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 three sentences and front-loaded with key information. While it could omit the API endpoint, it remains compact and relevant.
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 tool with 17 parameters, 13 required, and no output schema, the description is incomplete. It mentions the TokenNumber return but lacks details on success/error handling, anticipated behavior, or further context.
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 53%, but the description only adds a repeat of the AreaCode constraint already in the schema. It does not provide additional semantics for the many undocumented parameters.
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 identifies the verb 'Schedule', the resource 'BlueDart pickup', and the specific API endpoint. It also mentions the returned TokenNumber for cancellation, distinguishing it from sibling tool bluedart_cancel_pickup.
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 a use case for creating pickups that can later be cancelled, but it does not explicitly state when to use this tool vs alternatives. No comparison with other pickup-related siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bluedart_track_shipmentTrack BlueDart ShipmentARead-onlyIdempotent
Track a BlueDart shipment by AWB number. Read-only. Returns the current status, expected delivery date, and (when include_scans=true) the scan history. Set response_format='markdown' for a human-readable summary or 'json' for the raw payload.
| Name | Required | Description | Default |
|---|---|---|---|
| awb_number | Yes | BlueDart Air Waybill (AWB) number to track. | |
| include_scans | No | Include scan-by-scan tracking events in the response. | |
| response_format | No | Output format. 'json' returns the raw BlueDart payload, 'markdown' returns a human summary. | json |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true. The description adds value by specifying the output includes status, expected delivery date, and optional scan history. It also explains response_format options. No contradictions. Some behaviors (rate limits, auth) are not mentioned, but annotations cover safety.
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 consists of two sentences: first sentence states the core purpose, second sentence details output and options. Every word contributes necessary information without redundancy. It is front-loaded and highly efficient.
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 tracking tool with three parameters, the description covers purpose, return values, and parameter effects. It explains both output formats. It could mention error handling (e.g., invalid AWB), but given the schema validation and read-only nature, the description is sufficiently complete for an AI agent to use the tool correctly.
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%, so baseline is 3. The description adds meaning by explaining how include_scans affects output (scan history) and describing response_format values ('markdown' for human-readable summary, 'json' for raw payload). This provides operational context 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?
The description clearly states the tool tracks a BlueDart shipment by AWB number, specifies it is read-only, and outlines what it returns (status, expected delivery, scan history). This distinguishes it from sibling tools like bluedart_cancel_pickup or bluedart_generate_waybill, which have different purposes.
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 usage for tracking via AWB number and offers format options, but does not explicitly state when to use this tool versus alternatives. However, given the sibling tool names are markedly different (cancel, generate, download etc.), the intent is clear and no conflict arises.
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.
8 tool updates
v0.1.0- First observed
bluedart_cancel_pickup - First observed
bluedart_cancel_waybill - First observed
bluedart_download_pincode_master - First observed
bluedart_generate_waybill - First observed
bluedart_get_transit_time - First observed
bluedart_import_waybill - First observed
bluedart_register_pickup - First observed
bluedart_track_shipment
TDQS
Scored across 8 tools
Each tool targets a distinct operation (cancel, create, track, schedule, etc.) with no overlap. The descriptions clearly differentiate their purposes.
All tools follow the consistent pattern 'bluedart_verb_noun' (e.g., bluedart_cancel_pickup, bluedart_generate_waybill), making the set predictable.
With 8 tools, the server covers the core logistics workflows without being overwhelming or too sparse—excellent scope for a single domain.
The tool set covers essential CRUD-like operations for waybills and pickups, plus tracking and transit time. Minor gaps like updating a shipment or listing waybills are not critical for the primary use cases.
Maintenance
Related MCP Connectors
MCP server for EasyPost — rate shipments, buy & refund labels, track packages, verify addresses.
MCP server for ua_postal_tracking_mcp
Furgonetka MCP Server is an extension for LLMs (such as Claude) that integrates AI assistants with Poland's most popular courier brokerage platform. The server enables models to interact directly with services from various couriers (including InPost, DPD, DHL, UPS, and Poczta Polska) through a single, unified interface. With this integration, your AI stops just "writing about logistics" and starts actually managing it.
Unified MCP server for 70+ eCommerce platforms: products, orders, customers, and more.
Related MCP Servers
- AlicenseAqualityDmaintenanceAn MCP server for the Chit Chats shipping API that enables shipment management, tracking, rate comparison, and batch operations.20MIT
- FlicenseNot gradedqualityCmaintenanceMCP server wrapping Boxzooka's bxz-api to provide 33 tools for managing products, inbound orders, orders, inventory, shipments, and returns.-
- AlicenseAqualityBmaintenanceA unified MCP connector for Bangladeshi couriers, enabling parcel booking and tracking across multiple services through a single interface.565Apache 2.0
- AlicenseBqualityFmaintenanceAn MCP server for the Delovye Linii logistics API, enabling cargo delivery cost calculation, order creation, tracking, and directory lookups for cities and terminals.654MIT