דילוג לתוכן
תיעוד Nodaro
תיעודמדריך הרכיביםמודליםתבניותסוכני AI (MCP)מפתחיםאירוח עצמימחקרהשוואות

MCP בהתקנה באירוח עצמי

הפעילו את שרת ה-MCP של Nodaro באירוח עצמי, כדי ש-Claude, Cursor, ChatGPT ולקוחות MCP אחרים ישתמשו בהתקנה שלכם עם OAuth, דרך שם מארח ייעודי.

שרת ה-MCP של Nodaro מאפשר ללקוחות AI כמו Claude, Cursor, Cline, Continue, Goose ו-ChatGPT להשתמש בכלים של ההתקנה שלכם באירוח עצמי בשמו של משתמש. השרת כבוי כברירת מחדל. כדי להפעיל אותו, נותנים ל-MCP שם מארח משלו, מנתבים את שם המארח הזה אל ה-API ומגדירים שני משתנים. אחר כך המשתמשים מחברים את הלקוח שלהם להתקנה שלכם עם OAuth.

איך MCP מוגש

  • ה-API מגיש את MCP בנתיב /mcp, בפורט 9000 בתוך הקונטיינר nodaro.
  • שרת הווב בפורט 3000 דוחה בקשות MCP. בקשה ל-/mcp בכתובת הראשית של האפליקציה נדחית עם 405 ועם קוד השגיאה wrong_mcp_host, והתגובה כוללת את הכתובת של נקודת הקצה הנכונה.
  • לכן MCP צריך שם מארח משלו, כמו mcp.nodaro.example.com, שהתעבורה שלו מגיעה ישירות ל-API.
  • ההתחברות נשארת בדומיין הראשי שלכם. מסמך הגילוי של OAuth, /.well-known/oauth-authorization-server, ומסך ההסכמה מוגשים בכתובת PUBLIC_URL.

הפעלת MCP

ניתוב שם מארח של MCP אל ה-API

צרו רשומת DNS ל-mcp.<your-domain> שמפנה לשרת שלכם. אל תעבירו אותה דרך CDN שמשמש כפרוקסי: פרוקסי שובר את חיבורי אירועי השרת (SSE) הממושכים ש-MCP משתמש בהם.

קובץ ה-Compose לא חושף את הפורט של ה-API. חשפו אותו בממשק ה-loopback, תחת השירות nodaro:

  nodaro:
    ports:
      - "3000:3000"
      - "127.0.0.1:9000:9000"

אחר כך הוסיפו לפרוקסי ההפוך שלכם אתר שני, לשם המארח של MCP, שמעביר את הבקשות ל-127.0.0.1:9000 במקום ל-127.0.0.1:3000. השאירו את אגירת התגובות כבויה, כמו בדוגמה ל-nginx בדף פרוקסי הפוך ו-HTTPS.

הוסיפו את שם המארח של MCP כדומיין מותאם אישית של השירות backend:

railway domain add mcp.your-domain.com --service backend

או, בלוח הבקרה של Railway: Project › backend service › Settings › Domains › Add custom domain (פרויקט › השירות backend › הגדרות › דומיינים › הוספת דומיין מותאם אישית). אחר כך הוסיפו את רשומת ה-CNAME אצל ספק ה-DNS שלכם.

הגדרת המשתנים

MCP_ENABLED=true                              # required; the default is off
MCP_PUBLIC_URL=https://mcp.your-domain.com    # the hostname from step 1

במערך השירותים של Compose, הוסיפו את שניהם תחת environment: של השירות nodaro: קובץ ה-Compose לא מעביר אותם מהקובץ .env. אחר כך הריצו docker compose -f docker-compose.community.yml up -d.

המשתנה MCP_PUBLIC_URL הוא הזהות שנקודות הקצה של הגילוי מפרסמות עבור המשאב המוגן (RFC 9728), והוא גם הבסיס של קישורי ההעלאה שהכלים מחזירים. בלעדיו, ההתקנה שלכם מפרסמת את שם המארח של MCP ב-Nodaro Cloud. אם אתם מגישים את MCP בדומיין הראשי שלכם ולא בתת־דומיין, הגדירו אותו לאותו ערך כמו PUBLIC_URL. גם אז, בקשות ל-/mcp חייבות להגיע ישירות לפורט של ה-API.

בדיקת נקודות הקצה של הגילוי

curl https://mcp.your-domain.com/.well-known/oauth-protected-resource
curl https://your-domain.com/.well-known/oauth-authorization-server

שני הנתיבים חייבים להחזיר JSON עם סטטוס 200.

הוספת המחבר בלקוח שלכם

נקודת הקצה של MCP היא https://mcp.your-domain.com/mcp. ב-Claude, פתחו את Settings › Connectors › Add custom connector (הגדרות › מחברים › הוספת מחבר מותאם אישית) והזינו את הכתובת הזאת. בלקוחות אחרים, ראו את הדף חיבור לקוח והשתמשו בכתובת ה-MCP שלכם במקום בכתובת של Nodaro Cloud.

אילו לקוחות יכולים להירשם

החיבור של לקוחות MCP עובר דרך OAuth. לקוחות נתמכים נרשמים בעצמם בהתקנה שלכם דרך רישום לקוחות דינמי (RFC 7591). שני משתנים שולטים ברישום, וערכי ברירת המחדל שלהם מתאימים לרוב ההתקנות:

משתנהברירת מחדלמה הוא עושה
MCP_DYNAMIC_REGISTRATIONallowlistהמצב allowlist מקבל רק את שמות הלקוחות שב-MCP_DCR_ALLOWLIST. המצב open מקבל כל לקוח. המצב off מכבה את הרישום הדינמי.
MCP_DCR_ALLOWLIST14 לקוחות מוכריםשמות הלקוחות שמתקבלים במצב allowlist, מופרדים בפסיקים.

רשימת ההיתרים שמוגדרת כברירת מחדל היא: Claude, Claude Code, Cursor, Cline, Continue, Goose, ChatGPT, OpenAI, Lovable, Gemini, Gemini CLI, Codex, MCP Inspector ו-mcp-inspector. כדי להוסיף לקוח משלכם, הגדירו את הרשימה המלאה:

MCP_DCR_ALLOWLIST=Claude,Cursor,Cline,Continue,Goose,YourCustomClient

המצב המומלץ הוא allowlist.

מה הלקוחות יכולים לעשות

שרת ה-MCP כולל את כלי היצירה לתמונות, לווידאו, לאודיו, לדמויות, למיקומים ולאובייקטים, וכלים לגלריה, לתהליכים, לאפליקציות, לרכיבים שמורים ולמודלים. כל משתמש פועל בהתקנה שלכם בשם החשבון שלו. ראו את מדריך כלי ה-MCP ואת הדף פתרון בעיות ב-MCP.

שאלות נפוצות

האם MCP מופעל כברירת מחדל ב-Nodaro באירוח עצמי?

לא. הגדירו MCP_ENABLED=true ואת MCP_PUBLIC_URL, נתבו שם מארח של MCP אל ה-API והפעילו מחדש את ההתקנה. במערך השירותים של Compose, הוסיפו את שני המשתנים תחת environment של השירות nodaro, כי קובץ ה-Compose לא מעביר אותם מהקובץ ‎.env.

למה הבקשות של לקוח ה-MCP שלי נדחות עם 405 wrong_mcp_host?

לקוח ה-MCP פונה לכתובת הראשית של האפליקציה, ושם שרת הווב דוחה בקשות MCP. כוונו את הלקוח לשם המארח של MCP, https://your-mcp-host/mcp, שחייב להגיע ישירות ל-API בפורט 9000.

אילו לקוחות MCP יכולים להירשם בהתקנה שלי?

כברירת מחדל, ההתקנה מקבלת 14 לקוחות מוכרים, ביניהם Claude, Claude Code, Cursor, Cline, Continue, Goose, ChatGPT ו-Codex. הוסיפו שמות ל-MCP_DCR_ALLOWLIST, או הגדירו MCP_DYNAMIC_REGISTRATION=open כדי לקבל כל לקוח.

האם אפשר לשים CDN לפני שם המארח של MCP?

לא אם ה-CDN משמש כפרוקסי לתעבורה. MCP שומר חיבורי אירועי שרת (SSE) פתוחים לאורך זמן, ו-CDN כזה שובר אותם. כוונו את ה-DNS ישירות לשרת שלכם.

עודכן לאחרונה

בדף הזה