מושגי יסוד
מדריך מהיר ל-MCP
התחלה מהירה עם שרת MCP ללוגיסטיקה: חברו את Claude, Cursor או כל לקוח MCP ל-Navo24, והמודל יעקוב אחר מכולות וישווה הפלגות בעצמו.
Model Context Protocol מאפשר לעוזר לקרוא לכלים ישירות. ל-Navo24 יש שרת MCP ללוגיסטיקה לכל מוצר, כך שמודל יכול לעקוב אחר מכולה, להשוות הפלגות או לתכנן העמסה בלי שתכתבו קוד מקשר.
השרתים
| מוצר | שרת | Endpoint | תעבורה |
|---|---|---|---|
| TrackingMCP | container-tracking | https://mcp.trackingmcp.com/mcp | Streamable HTTP |
| SchedulesMCP | ocean-schedules | https://mcp.schedulesmcp.com/mcp | Streamable HTTP |
| LoadingMCP | container-loading | https://mcp.loadingmcp.com/mcp | Streamable HTTP |
| AirCargoMCP | air-cargo | https://mcp.aircargomcp.com/mcp | Streamable HTTP |
| FreightRatesMCP | freight-rates | https://mcp.freightratesmcp.com/mcp | Streamable HTTP |
ב-AirCargoMCP, resolve_awb_prefix עונה בלי מפתח; track_awb ו-air_rate_quote דורשים את מפתח המשפחה tmcp_ שלכם.
Claude Desktop ו-Cursor

הוסיפו שרת להגדרות הלקוח. בשרת Streamable HTTP העבירו את ה-endpoint ואת המפתח שלכם בכותרת bearer.
{
"mcpServers": {
"container-tracking": {
"url": "https://mcp.trackingmcp.com/mcp",
"headers": { "Authorization": "Bearer tmcp_YOUR_API_KEY" }
}
}
}
לקוח שמריץ רק פקודות מקומיות מגיע לכל אחד מהשרתים האלה דרך mcp-remote. למטען אווירי:
{
"mcpServers": {
"air-cargo": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.aircargomcp.com/mcp",
"--header", "Authorization: Bearer tmcp_YOUR_API_KEY"]
}
}
}
הפעילו מחדש את הלקוח והכלים יופיעו. בקשו ממנו לעקוב אחר מכולה והוא יקרא ל-get_container_detail בעצמו.
למה המודל יכול לקרוא
כל שרת חושף את אותן יכולות כמו ה-REST API, בצורת כלים. ב-Tracking יש add_container, get_container_detail, get_shipment_summary ועוד. ב-Schedules יש find_best_sailings, carrier_reliability ו-port_congestion. הרשימה המלאה של הכלים נמצאת בדף העיון של כל מוצר.
אותו מפתח, אותם נתונים
קריאה לכלי MCP וקריאת REST מגיעות לאותו backend עם אותו מפתח. השתמשו ב-MCP כשמודל מנהל את העבודה, וב-REST כשהקוד שלכם מנהל אותה.
Navo Tokens
בחשבון שמחזיק Navo Tokens, יתרה משולמת מראש אחת שמשותפת למוצרי Navo, קריאות MCP משולמות מהיתרה הזו. שדות ה-JSON שמתארים את היתרה שומרים על השמות credits_ שלהם.
יתרה אחת פותחת את כל שירותי Navo דרך MCP: TrackingMCP, AirCargoMCP, FreightRatesMCP, SchedulesMCP ו-LoadingMCP. אין צורך בגישת MCP נפרדת לכל מוצר. שני דברים עדיין עוצרים קריאה: מוצר שמנהל החשבון שלכם סגר עבור החשבון, ומפתח שההרשאות שלו לא כוללות מוצר מסוים (ראו גישה לפי מוצר בהמשך).
השימוש ב-MCP וב-API נספר בנפרד. קריאת MCP אף פעם לא צורכת ממכסת הקריאות החודשית של מפתח API, וקריאת REST עם מפתח ה-API שלכם אף פעם לא צורכת Navo Tokens.
| קריאה | טוקנים |
|---|---|
| מעקב אחר מכולה, שטר מטען או הזמנה חדשים | 250 |
| רענון או קריאה של משלוח במעקב | 10 לכל מזהה |
| מעקב אחר שטר מטען אווירי חדש | 200 |
| רענון שטר מטען אווירי | 10 |
| תעריפי הובלה לצמד נמלים | 100, או 10 על חזרה על אותו צמד בתוך 24 שעות |
| לוחות הפלגות לצמד נמלים | 80, או 10 על חזרה על אותו צמד בתוך 24 שעות |
| תוכנית העמסה 3D חדשה | 50, או 10 לכל חישוב מחדש |
| עומס בנמלים | 10 |
| אמינות לוחות זמנים, הפלגות של מוביל | 10 |
| התראות ו-webhooks | חינם |
כלי שמקבל כמה מזהים מחויב פעם אחת לכל מזהה ייחודי ששלחתם. הזמנה או שטר מטען הם חיוב אחד לכל המכולות שבהם. תוצאה ריקה היא בחינם, וקריאה שנדחתה לא מחויבת כלל. החבילות והמחירים מופיעים בדף התמחור.
כשהיתרה לא מספיקה לתשלום
הקריאה נדחית, שום דבר לא מחויב ולא מוחזרים נתונים. הקוד תלוי במוצר:
| מוצר | דחייה |
|---|---|
| TrackingMCP | 402 INSUFFICIENT_CREDITS |
| AirCargoMCP | 402 עם הקוד insufficient_balance (או trial_expired, wallet_inactive, no_wallet) |
| FreightRatesMCP | 402 עם הקוד insufficient_credits (או trial_expired, wallet_inactive, no_wallet) |
| SchedulesMCP | 429 QUOTA_EXCEEDED לפני שנקראים נתונים כלשהם, או 402 INSUFFICIENT_CREDITS כשהיתרה כבר לא הספיקה לתשלום ברגע שהתשובה הייתה מוכנה |
| LoadingMCP | 402 INSUFFICIENT_CREDITS, נדחה לפני שהתוכנית מחושבת |
בכל מוצר, לצד code ו-message, האובייקט error נושא את אותם ארבעה שדות אופציונליים:
| שדה | סוג | מה הוא מכיל |
|---|---|---|
credits_required | integer או null | מספר הטוקנים שהקריאה הזו דורשת; null כשהמחיר אינו ידוע. |
credits_balance | integer או null | מספר הטוקנים שביתרה שלכם כרגע; null כשלחשבון עדיין אין יתרה. |
top_up_url | string או null | דף Billing בהגדרות החשבון שלכם, שבו קונים טוקנים נוספים; null כשאי אפשר לספק קישור. |
packages | מערך של { plan, credits, usd } | החבילות שאפשר לקנות: Starter 7,000 טוקנים ב-$69, Growth 40,000 טוקנים ב-$349, Scale 200,000 טוקנים ב-$1,399. |
{
"ok": false,
"error": {
"code": "INSUFFICIENT_CREDITS",
"message": "Not enough Navo Tokens: this needs 10, your balance is 4. Buy more tokens: https://app.trackingmcp.com/settings?tab=billing&buy=credits (Starter 7,000 tokens for $69, Growth 40,000 tokens for $349, Scale 200,000 tokens for $1,399).",
"severity": "warning",
"credits_required": 10,
"credits_balance": 4,
"top_up_url": "https://app.trackingmcp.com/settings?tab=billing&buy=credits",
"packages": [
{ "plan": "starter", "credits": 7000, "usd": 69 },
{ "plan": "growth", "credits": 40000, "usd": 349 },
{ "plan": "scale", "credits": 200000, "usd": 1399 }
]
}
}
השדות הם תוספת ואופציונליים: המשיכו להסתעף לפי code, וקראו אותם כשהם קיימים. כל שרת MCP של Navo הופך אותם לאותו משפט, שאפשר להציג למשתמש כפי שהוא: “Not enough Navo Tokens: this needs 10, your balance is 4. Buy more tokens: <link> (Starter 7,000 tokens for $69, Growth 40,000 tokens for $349, Scale 200,000 tokens for $1,399).” הפרטים נמצאים בדף העיון של כל מוצר, תחת Navo Tokens.
גישה לפי מוצר
Navo Tokens לא דורשים גישת MCP לכל מוצר. מוצר שמנהל החשבון שלכם סגר עבור החשבון נשאר סגור גם עם Navo Tokens, למשל “Ship Schedules is not enabled for MCP on this account. Ask your account manager.” ב-SchedulesMCP. מפתח שההרשאות שלו לא כוללות מוצר מסוים נדחה עם 403, למשל “Ship Schedules is not enabled for this API key.” ב-SchedulesMCP ו-”Freight Rates is not enabled for this API key. Contact your account manager to open it.” ב-FreightRatesMCP.