tracking-requests-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ENABLE_WRITES | No | Set to 'true' to enable write tools (label_create, label_webhook_retry). Default is unset/false. | |
| DATABASE_URL_DEV | Yes | PostgreSQL connection string for the dev database (required for dev environment) | |
| DATABASE_URL_PROD | No | PostgreSQL connection string for the prod database (optional) | |
| N8N_FEDEX_TRACKING_REQUEST_WEBHOOK_URL_DEV | No | Webhook URL for n8n FedEx label creation in dev stage (needed for write tools in dev stage) | |
| N8N_FEDEX_TRACKING_REQUEST_WEBHOOK_URL_PROD | No | Webhook URL for n8n FedEx label creation in prod stage (needed for write tools in prod stage) |
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
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| db_queryA | Run a READ-ONLY SQL query (SELECT/WITH/EXPLAIN/SHOW only; single statement) against the tracking-requests DB. Escape hatch for anything the curated tools don't cover. Params are passed as $1,$2,… bind values. |
| commodity_lookupA | Look up commodities by any business identifier (sku, htsCode, shopifyProductId, bpProductId, or a title/parent-name substring). ERP-synced rows are source='erp'; app-created rows are source='manual' (no shopify_product_id). Soft-deleted rows (removed_at) are excluded unless includeRemoved. Attaches app-owned manual prices. |
| contacts_needing_fixesA | List shipping contacts that currently warrant a system status flag (No Phone, No Postal Code, Address Line 1 > 35, Address Line 2 > 35) — i.e. contacts whose details will break FedEx label/invoice creation. Read-only counterpart of the backfill-contact-status script; flags are recomputed live. |
| tracking_requests_listA | List tracking requests with triage filters. |
| tracking_request_overviewA | 360° rollup for ONE tracking request by id, transactionId (FedEx), or batchId (uuid). Returns a plain |
| schema_checkB | Introspect the live DB and report any tables/columns the tools DEPEND ON that are missing (the breakage side of drift). ok:true means the contract holds. |
| coverage_reportA | Diff the live schema against the committed baseline snapshot. ADDED tables/columns = candidate tools/params; REMOVED = breakage. Run |
| label_optionsA | List the ship-from / ship-to / (importer, international only) parties the user can pick, BY NAME, from the same sources as the app form — so nobody needs to know IDs. Returns each option's id, display name, disambiguating context (country for contacts, city/state for stores), any contact flags, and |
| label_preflightA | Validate a proposed FedEx shipment with ZERO side effects: party resolution + contact system flags (these break FedEx invoices), per-line commodity checks (exists, not soft-deleted, valid 10-digit HTS, required construction/type/fabric), unit-value suggestions (manual price, then commodity_prices), the international declared-value limit (CN $680 / else 5000 RMB live) with a projected total, and env wiring. Custom (off-catalog) lines are checked for their own required fields and get no unit-value suggestion (there is no catalog key to look up). Run this first. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| reference | Data model, integrations, footguns, canonical keys. |
TDQS
Scored across 9 tools
Most tools serve distinct purposes: schema checks, commodity lookup, contacts, tracking requests, and label preflight. The only potential confusion is between coverage_report and schema_check, both dealing with schema drift, but their descriptions differentiate them clearly.
Tool names use snake_case but follow inconsistent patterns: some are noun_verb (commodity_lookup, schema_check), others noun_noun (tracking_requests_list, label_options), and one uses an abbreviation (db_query). This mixed convention reduces predictability.
With 9 tools, the server covers core domain operations (commodities, contacts, tracking requests, labels) plus schema introspection. The count is reasonable, though the inclusion of schema tools might be overkill for typical agent interactions.
The server lacks a label_create tool despite references to it in descriptions, and there are no create/update/delete tools for tracking requests. These gaps will likely cause agent failures when attempting to complete workflows.