Guides
SDKs and clients
Generate a typed client from the OpenAPI spec, or call the API directly with the snippets.
Official SDKs are on the way. Until they land, two paths get you a clean, typed integration today.
Generate a client from the OpenAPI spec
TrackingMCP, SchedulesMCP and LoadingMCP each publish an OpenAPI spec (linked from their reference overview). Point a generator at it and get a typed client in your language.
npx @openapitools/openapi-generator-cli generate \
-i https://trackingmcp.com/openapi.json \
-g typescript-fetch \
-o ./navo-tracking-client
Swap -g for python, go, java or any target the generator supports. The spec is the source of truth, so a regenerate keeps your client in step with the API.
Or call it directly
Every endpoint in the reference ships copy-paste samples in curl, JavaScript and Python. For most integrations a thin fetch or requests wrapper is all you need:
const NAVO_KEY = process.env.NAVO_KEY;
async function track(reference) {
const res = await fetch("https://api.trackingmcp.com/v1/containers", {
method: "POST",
headers: {
"Authorization": `Bearer ${NAVO_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({ reference }),
});
if (!res.ok) throw new Error(`Navo ${res.status}`);
return res.json();
}
Keep the key on your backend, read it from the environment, and branch on the status code. See errors and rate limits.
Let a model call the tools
If an assistant is doing the work, skip the client entirely and wire the MCP server. See the MCP quickstart.