SFC WebService MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SFC_TOKEN | No | SFC-issued token | |
| SFC_APP_KEY | No | SFC-issued appKey | |
| SFC_USER_ID | No | SFC-issued userId | |
| SFC_DIVISION_ID | No | Division ID (e.g. "1") | |
| SFC_ALLOW_DELETE | No | Set to "false" to disable the sfc_delete_order tool. | true |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| sfc_setupA | Save SFC API credentials to a private local file (~/.sfc/credentials.json). Prefer MCP env vars when possible. Never put credentials in chat after setup. |
| sfc_credential_statusB | Check whether SFC credentials are configured (does not print secrets). |
| sfc_verify_credentialsC | Read-only check: probe ship types for US with a small parcel. Tries division 1 then 17 unless divisionId is set. |
| sfc_list_ship_typesB | List shipping methods available for a destination country and parcel size (HTTPS getShiptypesByCountry). |
| sfc_get_ratesC | Quote rates. If shipTypeCodes is set, uses HTTPS getRatesByShip; otherwise SOAP/HTTPS getRates for all methods. |
| sfc_preview_orderA | Build and validate an addOrder payload locally. Does NOT submit. Call sfc_create_order with confirm=true after customer approval. |
| sfc_create_orderA | Create an SFC order (addOrder). Requires confirm=true. Prefer sfc_preview_order first. Do not retry on timeout — search the customer order number instead. |
| sfc_search_orderB | Look up an order by SFC orderCode (searchOrder). |
| sfc_get_feeC | Get fee by SFC order code (getFeeByOrderCode). |
| sfc_get_label_urlB | Build a label PDF URL for a confirmed SFC orderCode. Does not call print if you only need the link. |
| sfc_get_trackB | Track shipments by tracking number(s). Uses tracking.sfcservice.com (up to 40 numbers). |
| sfc_delete_orderA | Delete an SFC order by orderCode. Requires confirm=true. Prefer searching the order first. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 12 tools
Core order lifecycle tools (preview_order, create_order, search_order, delete_order, get_fee, get_label_url, get_track) have clearly distinct purposes, and the descriptions explicitly disambiguate preview vs. submit. The only real overlap is the credentials trio (sfc_verify_credentials, sfc_credential_status, sfc_setup), where an agent could plausibly pick the wrong one for 'check my credentials'.
Nearly all tools follow a uniform sfc_verb_noun snake_case pattern with a consistent prefix. Minor deviations: sfc_credential_status is noun-first rather than verb-first, and sfc_setup is a bare verb with no object.
12 tools is right in the sweet spot for a shipping-carrier integration. Each tool maps to a concrete API operation (rates, ship types, order CRUD, fee, label, tracking), with no filler tools.
The surface covers the full order lifecycle from quoting through preview, creation, fee lookup, labeling, tracking, and deletion, plus credential setup. Gaps are minor: no order update/modify, no order listing by date range, and no cancellation/void of an already-printed label.