Skip to main content
Glama

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

bluedart_generate_waybill

write

Create a single AWB (POST /waybill/v1/GenerateWayBill)

bluedart_import_waybill

write

Bulk-create AWBs (POST /waybill/v1/ImportData)

bluedart_cancel_waybill

write

Cancel an AWB before in-scan

bluedart_register_pickup

write

Schedule a pickup

bluedart_cancel_pickup

write

Cancel a registered pickup

bluedart_get_transit_time

read

Estimate delivery date between two pincodes

bluedart_track_shipment

read

Track a shipment by AWB (markdown or json)

bluedart_download_pincode_master

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 build

Environment variables

Var

Required

Description

BLUEDART_BASE_URL

yes

https://apigateway-sandbox.bluedart.com/in/transportation (sandbox) or https://apigateway.bluedart.com/in/transportation (prod)

BLUEDART_CLIENT_ID

yes

OAuth Consumer Key from your APIGEE app

BLUEDART_CLIENT_SECRET

yes

OAuth Consumer Secret

BLUEDART_LOGIN_ID

yes

Profile LoginID (used in BlueDart payload)

BLUEDART_LICENSE_KEY

yes

Profile LicenceKey

BLUEDART_API_TYPE

no

S (sandbox) or as documented (default: S)

BLUEDART_DEBUG

no

true for verbose stderr logging

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 pincode 110030.

  • 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 — set PDFOutputNotRequired: true in Services if 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 tools
bluedart_cancel_pickupCancel BlueDart PickupA
DestructiveIdempotent

Cancel a previously registered pickup via POST /cancel-pickup/v1/CancelPickup. Requires the TokenNumber returned by bluedart_register_pickup and the original ShipmentPickupDate.

ParametersJSON Schema
NameRequiredDescriptionDefault
token_numberYesPickup token number returned by RegisterPickup.
shipment_pickup_dateYesOriginal pickup date (YYYY-MM-DD) used at registration.

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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 WaybillA
DestructiveIdempotent

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
awb_noYesBlueDart Air Waybill (AWB) number to cancel.

TDQS

A4.6/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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 MasterA
Read-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.

ParametersJSON Schema
NameRequiredDescriptionDefault
last_sync_dateYesOnly 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

A4.4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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 WaybillA
Destructive

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
ConsigneeYes
ShipperYes
ReturnaddsYes
ServicesYes

TDQS

A4.6/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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 TimeA
Read-onlyIdempotent

Estimate the expected delivery date for a shipment between two Indian pincodes via POST /transit/v1/GetDomesticTransitTimeForPinCodeandProduct. Read-only; safe to call repeatedly.

ParametersJSON Schema
NameRequiredDescriptionDefault
origin_pincodeYesPickup pincode
destination_pincodeYesDelivery pincode
product_codeNoBlueDart product code (default 'A').A
sub_product_codeNoSub-product code: 'P' for prepaid, 'C' for COD, etc.P
pickup_dateNoPickup date as ISO-8601 (e.g. '2026-04-19'). Defaults to today.
pickup_timeNoPickup time as HH:MM (24h).16:00

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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 WaybillsA
Destructive

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
shipmentsYesArray of waybill requests to create in one call (1-50).

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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 PickupA
Destructive

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
ProductCodeYesBlueDart product code for the pickup (e.g. 'A').
AreaCodeYesBlueDart 3-letter area code matching the pickup pincode.
CustomerCodeYesBlueDart customer code
CustomerNameYes
CustomerAddress1Yes
CustomerAddress2No
ContactPersonNameYes
CustomerPincodeYes6-digit Indian pincode
CustomerTelephoneNumberNoPhone or mobile number (digits, 6-15 chars)
MobileTelNoYes
ShipmentPickupDateYesPickup date as YYYY-MM-DD
ShipmentPickupTimeYesPickup time as HH:MM (24h)
NumberofPiecesYes
WeightofShipmentYesWeight in kg
VolumeWeightYesVolumetric weight in kg
RouteCodeNo99
isToPayShipperNo

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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 ShipmentA
Read-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.

ParametersJSON Schema
NameRequiredDescriptionDefault
awb_numberYesBlueDart Air Waybill (AWB) number to track.
include_scansNoInclude scan-by-scan tracking events in the response.
response_formatNoOutput format. 'json' returns the raw BlueDart payload, 'markdown' returns a human summary.json

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

  1. 8 tool updatesv0.1.0
    • First observedbluedart_cancel_pickup
    • First observedbluedart_cancel_waybill
    • First observedbluedart_download_pincode_master
    • First observedbluedart_generate_waybill
    • First observedbluedart_get_transit_time
    • First observedbluedart_import_waybill
    • First observedbluedart_register_pickup
    • First observedbluedart_track_shipment

TDQS

A4.2/5.0

Scored across 8 tools

Disambiguation5/5

Each tool targets a distinct operation (cancel, create, track, schedule, etc.) with no overlap. The descriptions clearly differentiate their purposes.

Naming Consistency5/5

All tools follow the consistent pattern 'bluedart_verb_noun' (e.g., bluedart_cancel_pickup, bluedart_generate_waybill), making the set predictable.

Tool Count5/5

With 8 tools, the server covers the core logistics workflows without being overwhelming or too sparse—excellent scope for a single domain.

Completeness4/5

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

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    MCP server wrapping Boxzooka's bxz-api to provide 33 tools for managing products, inbound orders, orders, inventory, shipments, and returns.
    -
  • A
    license
    A
    quality
    B
    maintenance
    A unified MCP connector for Bangladeshi couriers, enabling parcel booking and tracking across multiple services through a single interface.
    5
    65
    Apache 2.0
  • A
    license
    B
    quality
    F
    maintenance
    An MCP server for the Delovye Linii logistics API, enabling cargo delivery cost calculation, order creation, tracking, and directory lookups for cities and terminals.
    6
    54
    MIT