עדכון סיומת קובץ (11 בספטמבר 2025): הרחבות שולחן העבודה של קלוד (Claude Desktop Extensions) עוברות כעת לשימוש בסיומת הקובץ .mcpb (MCP Bundle) במקום .dxt. הרחבות קיימות בסיומת .dxt ימשיכו לעבוד, אך אנו ממליצים למפתחים להשתמש ב-.mcpb עבור הרחבות חדשות מעתה ואילך. כל הפונקציונליות נשארת זהה – זהו עדכון מוסכמת שמות בלבד.
כאשר השקנו את פרוטוקול הקשר המודל (MCP) בשנה שעברה, ראינו מפתחים בונים שרתים מקומיים מדהימים שהעניקו לקלוד גישה לכל דבר, ממערכות קבצים ועד מסדי נתונים. אך קיבלנו שוב ושוב את אותה משוב: ההתקנה הייתה מורכבת מדי. משתמשים נזקקו לכלי פיתוח, נאלצו לערוך קבצי תצורה באופן ידני, ולעתים קרובות נתקעו עם בעיות תלויות.
היום, אנו מציגים את הרחבות שולחן העבודה (Desktop Extensions) – פורמט אריזה חדש שהופך את התקנת שרתי MCP לפשוטה כמו לחיצה על כפתור.
מתמודדים עם בעיית התקנת MCP
שרתי MCP מקומיים פותחים יכולות עוצמתיות למשתמשי קלוד Desktop. הם יכולים לקיים אינטראקציה עם יישומים מקומיים, לגשת לנתונים פרטיים, ולהשתלב עם כלי פיתוח – כל זאת תוך שמירה על הנתונים במחשב של המשתמש. עם זאת, תהליך ההתקנה הנוכחי יצר חסמים משמעותיים:
- דרישה לכלי פיתוח: משתמשים נזקקו להתקנה של Node.js, Python, או סביבות ריצה אחרות.
- תצורה ידנית: כל שרת דרש עריכה ידנית של קבצי תצורת JSON.
- ניהול תלויות: משתמשים היו צריכים לפתור קונפליקטים בחבילות וחוסר התאמה בגרסאות.
- היעדר מנגנון גילוי: מציאת שרתי MCP שימושיים דרשה חיפוש ב-GitHub.
- מורכבות עדכונים: שמירה על עדכניות השרתים משמעותה התקנה מחדש ידנית.
מציגים את הרחבות שולחן העבודה
הרחבות שולחן העבודה (קובצי .mcpb) פותרות בעיות אלה על ידי איגוד שרת MCP שלם – כולל כל התלויות – לחבילת התקנה אחת. הנה מה שמשתנה עבור המשתמשים:
לפני:
# Install Node.js first
npm install -g @example/mcp-server
# Edit ~/.claude/claude_desktop_config.json manually
# Restart Claude Desktop
# Hope it worksאחרי:
- הורידו קובץ
.mcpb - לחצו פעמיים כדי לפתוח באמצעות קלוד Desktop
- לחצו על "התקן"
וזהו. אין מסוף, אין קבצי תצורה, ואין קונפליקטים של תלויות.
סקירה ארכיטקטונית
הרחבת שולחן עבודה היא ארכיון ZIP המכיל את שרת ה-MCP המקומי, וכן קובץ manifest.json, המתאר את כל מה שקלוד Desktop ויישומים אחרים התומכים בהרחבות שולחן עבודה צריכים לדעת.
extension.mcpb (ZIP archive)
├── manifest.json # Extension metadata and configuration
├── server/ # MCP server implementation
│ └── [server files]
├── dependencies/ # All required packages/libraries
└── icon.png # Optional: Extension icon
# Example: Node.js Extension
extension.mcpb
├── manifest.json # Required: Extension metadata and configuration
├── server/ # Server files
│ └── index.js # Main entry point
├── node_modules/ # Bundled dependencies
├── package.json # Optional: NPM package definition
└── icon.png # Optional: Extension icon
# Example: Python Extension
extension.mcpb (ZIP file)
├── manifest.json # Required: Extension metadata and configuration
├── server/ # Server files
│ ├── main.py # Main entry point
│ └── utils.py # Additional modules
├── lib/ # Bundled Python packages
├── requirements.txt # Optional: Python dependencies list
└── icon.png # Optional: Extension iconהקובץ היחיד הנדרש בהרחבת שולחן עבודה הוא manifest.json. קלוד Desktop מטפל בכל המורכבות:
- סביבת ריצה מובנית: אנו מפיצים את Node.js יחד עם קלוד Desktop, ובכך מבטלים תלויות חיצוניות.
- עדכונים אוטומטיים: הרחבות מתעדכנות אוטומטית כאשר גרסאות חדשות זמינות.
- סודות מאובטחים: תצורות רגישות כמו מפתחות API מאוחסנים במאגר הסודות של מערכת ההפעלה.
ה-manifest מכיל מידע קריא אנושית (כמו שם, תיאור או מחבר), הצהרת יכולות (כלים, פרומפטים), תצורת משתמש ודרישות סביבת ריצה. רוב השדות אופציונליים, ולכן הגרסה המינימלית קצרה למדי, אם כי בפועל אנו מצפים שכל שלושת סוגי ההרחבות הנתמכים (Node.js, Python וקובצי הפעלה/בינאריים קלאסיים) יכללו קבצים:
{
"mcpb_version": "0.1", // MCPB spec version this manifest conforms to
"name": "my-extension", // Machine-readable name (used for CLI, APIs)
"version": "1.0.0", // Semantic version of your extension
"description": "A simple MCP extension", // Brief description of what the extension does
"author": { // Author information (required)
"name": "Extension Author" // Author's name (required field)
},
"server": { // Server configuration (required)
"type": "node", // Server type: "node", "python", or "binary"
"entry_point": "server/index.js", // Path to the main server file
"mcp_config": { // MCP server configuration
"command": "node", // Command to run the server
"args": [ // Arguments passed to the command
"${__dirname}/server/index.js" // ${__dirname} is replaced with the extension's directory
]
}
}
}קיימות מספר אפשרויות נוחות במפרט ה-manifest שמטרתן להקל על ההתקנה והתצורה של שרתי MCP מקומיים. אובייקט תצורת השרת יכול להיות מוגדר באופן המאפשר הן תצורת משתמש בצורת מחרוזות תבנית (template literals) והן דריסות ספציפיות לפלטפורמה. מפתחי הרחבות יכולים להגדיר, בפירוט, איזה סוג של תצורה הם רוצים לאסוף מהמשתמשים.
בואו נראה דוגמה קונקרטית לאופן שבו ה-manifest מסייע בתצורה. ב-manifest שלהלן, המפתח מצהיר שהמשתמש צריך לספק api_key. קלוד לא יפעיל את ההרחבה עד שהמשתמש יספק את הערך הזה, ישמור אותו אוטומטית בכספת הסודות של מערכת ההפעלה, ויחליף בשקיפות את ${user_config.api_key} בערך שסופק על ידי המשתמש בעת הפעלת השרת. באופן דומה, ${__dirname} יוחלף בנתיב המלא לספריית ההרחבה שפורקה.
{
"mcpb_version": "0.1",
"name": "my-extension",
"version": "1.0.0",
"description": "A simple MCP extension",
"author": {
"name": "Extension Author"
},
"server": {
"type": "node",
"entry_point": "server/index.js",
"mcp_config": {
"command": "node",
"args": ["${__dirname}/server/index.js"],
"env": {
"API_KEY": "${user_config.api_key}"
}
}
},
"user_config": {
"api_key": {
"type": "string",
"title": "API Key",
"description": "Your API key for authentication",
"sensitive": true,
"required": true
}
}
}קובץ manifest.json מלא עם רוב השדות האופציונליים יכול להיראות כך:
{
"mcpb_version": "0.1",
"name": "My MCP Extension",
"display_name": "My Awesome MCP Extension",
"version": "1.0.0",
"description": "A brief description of what this extension does",
"long_description": "A detailed description that can include multiple paragraphs explaining the extension's functionality, use cases, and features. It supports basic markdown.",
"author": {
"name": "Your Name",
"email": "yourname@example.com",
"url": "https://your-website.com"
},
"repository": {
"type": "git",
"url": "https://github.com/your-username/my-mcp-extension"
},
"homepage": "https://example.com/my-extension",
"documentation": "https://docs.example.com/my-extension",
"support": "https://github.com/your-username/my-extension/issues",
"icon": "icon.png",
"screenshots": [
"assets/screenshots/screenshot1.png",
"assets/screenshots/screenshot2.png"
],
"server": {
"type": "node",
"entry_point": "server/index.js",
"mcp_config": {
"command": "node",
"args": ["${__dirname}/server/index.js"],
"env": {
"ALLOWED_DIRECTORIES": "${user_config.allowed_directories}"
}
}
},
"tools": [
{
"name": "search_files",
"description": "Search for files in a directory"
}
],
"prompts": [
{
"name": "poetry",
"description": "Have the LLM write poetry",
"arguments": ["topic"],
"text": "Write a creative poem about the following topic: ${arguments.topic}"
}
],
"tools_generated": true,
"keywords": ["api", "automation", "productivity"],
"license": "MIT",
"compatibility": {
"claude_desktop": ">=1.0.0",
"platforms": ["darwin", "win32", "linux"],
"runtimes": {
"node": ">=16.0.0"
}
},
"user_config": {
"allowed_directories": {
"type": "directory",
"title": "Allowed Directories",
"description": "Directories the server can access",
"multiple": true,
"required": true,
"default": ["${HOME}/Desktop"]
},
"api_key": {
"type": "string",
"title": "API Key",
"description": "Your API key for authentication",
"sensitive": true,
"required": false
},
"max_file_size": {
"type": "number",
"title": "Maximum File Size (MB)",
"description": "Maximum file size to process",
"default": 10,
"min": 1,
"max": 100
}
}
}כדי לראות דוגמאות להרחבות ולקובצי manifest, אנא עיינו בדוגמאות במאגר ה-MCPB.
המפרט המלא לכל השדות הנדרשים והאופציונליים בקובץ manifest.json ניתן למצוא כחלק משרשרת הכלים בקוד פתוח שלנו.
בונים את ההרחבה הראשונה שלכם
בואו נעבור על אריזת שרת MCP קיים כהרחבת שולחן עבודה. נשתמש בשרת מערכת קבצים פשוט כדוגמה.
שלב 1: יצירת ה-manifest
ראשית, אתחלו manifest עבור השרת שלכם:
npx @anthropic-ai/mcpb initכלי אינטראקטיבי זה שואל על השרת שלכם ומייצר קובץ manifest.json שלם. אם ברצונכם להגיע במהירות ל-manifest.json הבסיסי ביותר, תוכלו להריץ את הפקודה עם הפרמטר --yes.
שלב 2: טיפול בתצורת משתמש
אם השרת שלכם זקוק לקלט משתמש (כמו מפתחות API או ספריות מורשות), הצהירו על כך ב-manifest:
"user_config": {
"allowed_directories": {
"type": "directory",
"title": "Allowed Directories",
"description": "Directories the server can access",
"multiple": true,
"required": true,
"default": ["${HOME}/Documents"]
}
}קלוד Desktop יבצע את הפעולות הבאות:
- יציג ממשק משתמש ידידותי לתצורה.
- יתקף קלטים לפני הפעלת ההרחבה.
- יאחסן ערכים רגישים באופן מאובטח.
- יעביר את התצורה לשרת שלכם כארגומנטים או כמשתני סביבה, בהתאם לתצורת המפתח.
בדוגמה שלהלן, אנו מעבירים את תצורת המשתמש כמשתנה סביבה, אך היא יכולה להיות גם ארגומנט.
"server": {
"type": "node",
"entry_point": "server/index.js",
"mcp_config": {
"command": "node",
"args": ["${__dirname}/server/index.js"],
"env": {
"ALLOWED_DIRECTORIES": "${user_config.allowed_directories}"
}
}
}שלב 3: אריזת ההרחבה
אגדו הכל לקובץ .mcpb:
npx @anthropic-ai/mcpb packפקודה זו:
- מתקפת את ה-
manifestשלכם. - מייצרת את ארכיון ה-
.mcpb.
שלב 4: בדיקה מקומית
גררו את קובץ ה-.mcpb שלכם לחלון ההגדרות של קלוד Desktop. תראו:
- מידע קריא אנושית על ההרחבה שלכם.
- הרשאות ותצורה נדרשות.
- כפתור "התקן" פשוט.
יכולות מתקדמות
תמיכה בפלטפורמות שונות
הרחבות יכולות להתאים את עצמן למערכות הפעלה שונות:
"server": {
"type": "node",
"entry_point": "server/index.js",
"mcp_config": {
"command": "node",
"args": ["${__dirname}/server/index.js"],
"platforms": {
"win32": {
"command": "node.exe",
"env": {
"TEMP_DIR": "${TEMP}"
}
},
"darwin": {
"env": {
"TEMP_DIR": "${TMPDIR}"
}
}
}
}
}תצורה דינמית
השתמשו במחרוזות תבנית (template literals) עבור ערכי זמן ריצה:
${__dirname}: ספריית התקנת ההרחבה.${user_config.key}: תצורה שסופקה על ידי המשתמש.${HOME}, ${TEMP}: משתני סביבה של המערכת.
הצהרת יכולות
עזרו למשתמשים להבין את היכולות מראש:
"tools": [
{
"name": "read_file",
"description": "Read contents of a file"
}
],
"prompts": [
{
"name": "code_review",
"description": "Review code for best practices",
"arguments": ["file_path"]
}
]ספריית ההרחבות
אנו משיקים עם ספריית הרחבות נבחרת המובנית בתוך קלוד Desktop. משתמשים יכולים לעיין, לחפש ולהתקין בלחיצה אחת – ללא צורך בחיפוש ב-GitHub או בבדיקת קוד.
בעוד אנו מצפים שמפרט הרחבות שולחן העבודה והפריסה בקלוד עבור macOS ו-Windows יתפתחו עם הזמן, אנו מצפים בכיליון עיניים לראות את הדרכים הרבות שבהן ניתן להשתמש בהרחבות כדי להרחיב את יכולותיו של קלוד בדרכים יצירתיות.
כדי להגיש את ההרחבה שלכם:
- וודאו שהיא עומדת בהנחיות המופיעות בטופס ההגשה.
- בחנו אותה על פני Windows ו-macOS.
- הגישו את ההרחבה שלכם.
- הצוות שלנו יבדוק אותה מבחינת איכות ובטיחות.
בונים סביבה אקולוגית פתוחה
אנו מחויבים לסביבה האקולוגית הפתוחה סביב שרתי MCP ומאמינים שיכולתה להיטמע באופן אוניברסלי על ידי יישומים ושירותים מרובים הועילה לקהילה. בהתאם למחויבות זו, אנו פותחים למקור את מפרט הרחבות שולחן העבודה, שרשרת הכלים, והסכימות והפונקציות המרכזיות המשמשות את קלוד עבור macOS ו-Windows כדי לממש את התמיכה שלהן בהרחבות שולחן עבודה. תקוותנו היא שפורמט ה-MCPB לא רק יהפוך שרתי MCP מקומיים לניידים יותר עבור קלוד, אלא גם עבור יישומי AI אחרים לשולחן העבודה.
אנו פותחים למקור את:
- המפרט המלא של MCPB.
- כלי אריזה ותיקוף.
- קוד מימוש ייחוס.
- טיפוסי TypeScript וסכימות.
משמעות הדבר היא:
- למפתחי שרתי MCP: ארזו פעם אחת, הפעילו בכל מקום התומך ב-MCPB.
- למפתחי יישומים: הוסיפו תמיכה בהרחבות ללא צורך לבנות מאפס.
- למשתמשים: חוויה עקבית בכל היישומים התומכים ב-MCP.
המפרט ושרשרת הכלים ממוספרים בכוונה כ-0.1, שכן אנו מצפים לעבוד עם הקהילה הרחבה יותר על פיתוח ושינוי הפורמט. נשמח לשמוע מכם.
שיקולי בטיחות וארגון
אנו מבינים שהרחבות מציגות שיקולי בטיחות חדשים, במיוחד עבור ארגונים. שילבנו מספר מנגנוני הגנה עם השקת טרום-ההצגה של הרחבות שולחן העבודה:
עבור משתמשים
- נתונים רגישים נשארים במאגר הסודות של מערכת ההפעלה.
- עדכונים אוטומטיים.
- יכולת לבקר אילו הרחבות מותקנות.
עבור ארגונים
- תמיכה ב-Group Policy (Windows) וב-MDM (macOS).
- יכולת להתקין מראש הרחבות מאושרות.
- רשימת חסימה להרחבות או מפרסמים ספציפיים.
- השבתה מוחלטת של ספריית ההרחבות.
- פריסה של ספריות הרחבות פרטיות.
למידע נוסף על אופן ניהול הרחבות בארגון שלכם, עיינו בתיעוד שלנו.
תחילת עבודה
מוכנים לבנות הרחבה משלכם? כך מתחילים:
למפתחי שרתי MCP: עיינו בתיעוד המפתחים שלנו – או צללו ישר לעניינים על ידי הרצת הפקודות הבאות בספריית שרתי ה-MCP המקומיים שלכם:
npm install -g @anthropic-ai/mcpb
mcpb init
mcpb packלמשתמשי קלוד Desktop: עדכנו לגרסה האחרונה וחפשו את מקטע "הרחבות" בהגדרות.
עבור ארגונים: עיינו בתיעוד הארגוני שלנו לאפשרויות פריסה.
בונים עם Claude Code
באנתרופיק (Anthropic) מצאנו שקלוד (Claude) מצוין בבניית הרחבות בהתערבות מינימלית. אם גם אתם רוצים להשתמש ב-Claude Code, אנו ממליצים שתסבירו בקצרה מה אתם רוצים שההרחבה שלכם תעשה ולאחר מכן תוסיפו את ההקשר הבא לפרומפט:
I want to build this as a Desktop Extension, abbreviated as "MCPB". Please follow these steps:
1. **Read the specifications thoroughly:**
- https://github.com/anthropics/mcpb/blob/main/README.md - MCPB architecture overview, capabilities, and integration patterns
- https://github.com/anthropics/mcpb/blob/main/MANIFEST.md - Complete extension manifest structure and field definitions
- https://github.com/anthropics/mcpb/tree/main/examples - Reference implementations including a "Hello World" example
2. **Create a proper extension structure:**
- Generate a valid manifest.json following the MANIFEST.md spec
- Implement an MCP server using @modelcontextprotocol/sdk with proper tool definitions
- Include proper error handling and timeout management
3. **Follow best development practices:**
- Implement proper MCP protocol communication via stdio transport
- Structure tools with clear schemas, validation, and consistent JSON responses
- Make use of the fact that this extension will be running locally
- Add appropriate logging and debugging capabilities
- Include proper documentation and setup instructions
4. **Test considerations:**
- Validate that all tool calls return properly structured responses
- Verify manifest loads correctly and host integration works
Generate complete, production-ready code that can be immediately tested. Focus on defensive programming, clear error messages, and following the exact
MCPB specifications to ensure compatibility with the ecosystem.סיכום
הרחבות שולחן העבודה מייצגות שינוי מהותי באופן שבו משתמשים מקיימים אינטראקציה עם כלי AI מקומיים. על ידי הסרת חיכוך ההתקנה, אנו מנגישים שרתי MCP עוצמתיים לכולם – לא רק למפתחים.
באופן פנימי, אנו משתמשים בהרחבות שולחן עבודה כדי לשתף שרתי MCP ניסיוניים ביותר – חלקם מהנים, חלקם שימושיים. צוות אחד התנסה לראות עד כמה המודלים שלנו יכולים להצליח כאשר הם מחוברים ישירות ל-GameBoy, בדומה למחקר "קלוד משחק פוקימון" שלנו. השתמשנו בהרחבות שולחן העבודה כדי לארוז הרחבה בודדת הפותחת את אמולטור ה-GameBoy הפופולרי PyBoy ומאפשרת לקלוד לקחת שליטה. אנו מאמינים שקיימות אינספור הזדמנויות לחבר את יכולות המודל לכלים, לנתונים וליישומים שכבר קיימים למשתמשים במחשבים המקומיים שלהם.
אנו מצפים בכיליון עיניים לראות מה תבנו. אותה יצירתיות שהביאה לנו אלפי שרתי MCP יכולה כעת להגיע למיליוני משתמשים בלחיצה אחת בלבד. מוכנים לשתף את שרת ה-MCP שלכם? הגישו את ההרחבה שלכם לבדיקה.



