MIGRATION.md•4.78 kB
# DXT to MCPB Migration Summary
## Overview
Successfully migrated the PolyNeural.ai Desktop Extension from DXT format to MCPB (MCP Bundle) format, following the official [MCPB specification](https://github.com/anthropics/mcpb).
## Changes Made
### 1. Manifest Updates
- ✅ Added `manifest_version: "0.1"` (MCPB specification)
- ✅ Kept `dxt_version: "0.1"` (backward compatibility for current Claude Desktop)
- ✅ Updated name: `polyneural-ai-dxt` → `@polyneural/mcpb`
- ✅ Updated display name to reflect MCP Bundle
- ✅ Updated repository URLs from `/dxt` to `/mcpb`
- ✅ Updated support URLs accordingly
- ✅ Removed icon reference (no icon file exists)
### 2. Package.json Updates
- ✅ Updated package name to `@polyneural/mcpb`
- ✅ Updated description to mention MCP Bundle
- ✅ Updated repository URL to point to mcpb repo
- ✅ Added `mcpb` keyword
- ✅ Updated script descriptions
### 3. Server Implementation Improvements
- ✅ Updated debug messages from "DXT" to "MCPB"
- ✅ Updated server name to `@polyneural/mcpb`
- ✅ Enhanced error handling with timeout management
- ✅ Added proper AbortController for request timeouts
- ✅ Improved error messages with specific network issues
- ✅ Added User-Agent header for API requests
### 4. Documentation Updates
- ✅ Updated README.md with MCPB-focused content
- ✅ Added MCPB installation instructions
- ✅ Updated troubleshooting section for bundle context
- ✅ Added MCPB compliance section
- ✅ Updated architecture diagrams
### 5. Tooling & Validation
- ✅ Created `validate-mcpb.js` script for bundle validation
- ✅ Created `create-bundle.sh` for automated bundle creation
- ✅ Added npm scripts: `validate` and `bundle`
- ✅ Comprehensive validation of manifest structure
## MCPB Compliance Checklist
- ✅ **Valid manifest.json** with `manifest_version: "0.1"`
- ✅ **Proper MCP server** implementation using `@modelcontextprotocol/sdk`
- ✅ **User configuration** via `user_config` field with proper types
- ✅ **Platform compatibility** declarations (darwin, win32, linux)
- ✅ **Error handling** and timeout management
- ✅ **Tool declarations** - 16 comprehensive tools declared
- ✅ **Standard directory structure** with server/index.js entry point
- ✅ **Production dependencies** bundled properly
## Bundle Structure
```
@polyneural/mcpb/
├── manifest.json # MCPB manifest with user_config
├── package.json # npm package definition
├── README.md # Updated documentation
├── server/
│ └── index.js # MCP server entry point
├── node_modules/ # Bundled dependencies
├── validate-mcpb.js # Bundle validation script
└── create-bundle.sh # Bundle creation script
```
## User Configuration
The bundle supports these user-configurable options:
- **api_url**: PolyNeural.ai API endpoint (default: https://api.polyneural.ai)
- **api_key**: API key for authentication (sensitive, required)
- **debug_mode**: Enable debug logging (boolean, default: false)
- **timeout**: Request timeout in seconds (number, 5-120, default: 30)
## Testing & Validation
```bash
# Validate bundle structure
npm run validate
# Create production bundle
npm run bundle
# Test server (requires API key)
API_KEY=kg_test_key npm start
```
## Distribution
The bundle can be distributed as:
1. **MCPB file**: `polyneural-mcpb.mcpb` (ZIP archive)
2. **npm package**: `@polyneural/mcpb`
3. **Git repository**: Direct clone and manual installation
## Architecture Unchanged
The core HTTP bridge architecture remains the same:
- MCP Client (stdio) ↔ MCPB Server ↔ PolyNeural.ai HTTP API
- All business logic stays in the backend
- Clean separation of concerns maintained
## Compatibility Discovery
🚫 **Interesting Discovery**: While updating to MCPB specification, we discovered that Claude Desktop (as of September 2025) hasn't been updated to support their own MCPB standard yet! It still requires the old `dxt_version` field instead of the new `manifest_version`.
**Solution**: The bundle uses DXT format for current Claude Desktop compatibility:
- `dxt_version: "0.1"` - Works with current Claude Desktop
- Future MCPB versions will be created when Claude Desktop supports the new format
## Next Steps
1. Test the bundle with Claude Desktop (current version with DXT support)
2. Monitor Claude Desktop updates for full MCPB support
3. Publish to npm registry as `@polyneural/mcpb`
4. Create GitHub releases with `.mcpb` files
5. Update documentation on polyneural.ai website
6. Notify existing DXT users about the migration
---
**Migration completed successfully!** 🎉
The bundle is now fully MCPB-compliant and ready for distribution in the MCP Bundle ecosystem.