|
1 | 1 | # MCPB Manifest.json Spec |
2 | 2 |
|
3 | 3 | Current version: `0.3` |
4 | | -Last updated: 2025-10-24 |
| 4 | +Last updated: 2025-12-02 |
5 | 5 |
|
6 | 6 | ## Manifest Schema |
7 | 7 |
|
@@ -398,6 +398,55 @@ The `server` object defines how to run the MCP server: |
398 | 398 |
|
399 | 399 | ### Server Types |
400 | 400 |
|
| 401 | +Four server types are supported: |
| 402 | + |
| 403 | +- **`node`**: Node.js server with bundled dependencies |
| 404 | +- **`python`**: Python server with bundled dependencies |
| 405 | +- **`binary`**: Compiled executable |
| 406 | +- **`uv`**: Python server using UV runtime (experimental, v0.4+) |
| 407 | + |
| 408 | +### UV Runtime (Experimental, v0.4+) |
| 409 | + |
| 410 | +> **Note:** UV runtime support is experimental and may change in future versions. |
| 411 | +
|
| 412 | +The `uv` server type enables cross-platform Python extensions without bundling dependencies. Instead, dependencies are declared in `pyproject.toml` and installed by the host application using UV. |
| 413 | + |
| 414 | +**Benefits:** |
| 415 | +- Cross-platform support (Windows, macOS, Linux; Intel, ARM) |
| 416 | +- Small bundle size (~100 KB vs 5-10 MB) |
| 417 | +- Handles compiled dependencies (pydantic, numpy, etc.) |
| 418 | +- No user Python installation required |
| 419 | + |
| 420 | +**Example:** |
| 421 | +```json |
| 422 | +{ |
| 423 | + "manifest_version": "0.4", |
| 424 | + "server": { |
| 425 | + "type": "uv", |
| 426 | + "entry_point": "src/server.py" |
| 427 | + } |
| 428 | +} |
| 429 | +``` |
| 430 | + |
| 431 | +**Requirements:** |
| 432 | +- Must include `pyproject.toml` with dependencies |
| 433 | +- Must NOT include `server/lib/` or `server/venv/` |
| 434 | +- `mcp_config` is optional (host manages execution) |
| 435 | + |
| 436 | +**Package structure:** |
| 437 | +``` |
| 438 | +extension.mcpb |
| 439 | +├── manifest.json # server.type = "uv" |
| 440 | +├── pyproject.toml # Dependencies |
| 441 | +├── .mcpbignore # Exclude .venv, server/lib |
| 442 | +└── src/ |
| 443 | + └── server.py |
| 444 | +``` |
| 445 | + |
| 446 | +See `examples/hello-world-uv` for a complete example. |
| 447 | + |
| 448 | +### Node, Python, and Binary Types |
| 449 | + |
401 | 450 | 1. **Python**: `server.type = "python"` |
402 | 451 | - Requires `entry_point` to Python file |
403 | 452 | - All dependencies must be bundled in the MCPB |
|
0 commit comments