GHN MCP by usefulapi

io.usefulapiPublished by usefulapi.ioOfficial publisherv1.0.1Updated Nov 8, 2026

Quote shipping fees, track orders, and create or cancel shipping orders in GHN.

The publisher's own server: Ably MCP by usefulapi

VerifiedStreamable HTTPWeb executable

Overview

GHN MCP by usefulapi's hosted MCP server (ghn.usefulapi.io), published by usefulapi.io; no sign-in required; Streamable HTTP; 9 tools.

No AI overview yet: these facts come from the registry entry and the server itself.

Publisher
usefulapi.io
Endpoint
ghn.usefulapi.io
Last checked

Installation

In SourceWeft

  1. Open GHN MCP by usefulapi in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.usefulapi%2Fghn/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "ghn-by-usefulapi": {
      "type": "http",
      "url": "https://ghn.usefulapi.io/mcp"
    }
  }
}

Tools

9

ghn_list_provinces

List provinces

List all provinces and cities with their ProvinceID. Use the ProvinceID with ghn_list_districts. Uses the district address model. GHN: GET /master-data/province.

Takes no parameters.

ghn_list_districts

List districts

List the districts of one province with DistrictID and service support (SupportType: 0 locked, 1 pickup only, 2 delivery only, 3 both). GHN: GET /master-data/district?province_id=.

Parametersprovince_idrequired

ghn_list_wards

List wards

List the wards of one district. Use WardCode (a string) for ghn_calculate_fee and ghn_create_order ward fields. GHN: GET /master-data/ward?district_id=.

Parametersdistrict_idrequired

ghn_list_services

List delivery services

List the delivery services GHN offers on a route for this shop. Returns service_type_id (2 = under 20 kg, 5 = 20 kg or more or multi-parcel). Call it before ghn_calculate_fee. GHN: POST /v2/shipping-order/available-services.

Parametersto_district_idrequiredfrom_district_idrequired

ghn_calculate_fee

Calculate shipping fee

Quote the shipping fee for a parcel to a ward, before creating an order. Quote only: no order is created. GHN: POST /v2/shipping-order/fee.

Parametersitemswidthcouponheightlengthweightrequiredcod_valueto_ward_coderequiredfrom_ward_codeto_district_idrequiredinsurance_valueservice_type_idrequired+1 more

ghn_get_order

Get an order

Get the full details of one shipping order by its GHN tracking code: status, parties, COD, fees and items. GHN: GET /v2/shipping-order/detail?order_code=.

Parametersorder_coderequired

ghn_get_order_by_client_code

Get an order by your code

Get the full details of one shipping order by your own client_order_code instead of the GHN tracking code. GHN: GET /v2/shipping-order/detail-by-client-code?client_order_code=.

Parametersclient_order_coderequired

ghn_create_order

Create a shipping order

CREATES A REAL SHIPPING ORDER: GHN picks up and delivers the parcel and can charge the shop or collect cash on delivery (COD) from the recipient. Call only after the user explicitly confirms the recipient, the parcel and the fee in this chat (use ghn_calculate_fee first). client_order_code is required: a retry with the same code returns the first order and creates no duplicate. Set to_district_name when is_new_to_address is false. Send content or items. GHN: POST /v2/shipping-order/create.

Parametersnoteitemswidthrequiredheightrequiredlengthrequiredweightrequiredcontentto_namerequiredto_phonerequiredcod_amountto_addressrequiredto_ward_namerequired+8 more

ghn_cancel_orders

Cancel shipping orders

CANCELS REAL SHIPPING ORDERS. The batch is all-or-nothing: one unknown or foreign order code cancels nothing. Call only after the user explicitly confirms the order codes. An order that can no longer be cancelled returns result false. GHN: POST /v2/switch-status/cancel.

Parametersreasonorder_codesrequiredreason_code

Version history

1
  1. v1.0.1LatestNov 8, 2026

Score

75% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • License10 pts

    Declare a license in the repository or the registry entry.

Other Usefulapi integrations