fix: repair broken examples and graduate UV runtime from experimental
- hello-world-node: wrap server startup in async main() with proper await on server.connect(transport) — fixes crash on initialize in Claude Desktop UtilityProcess runtime (closes #200) - hello-world-uv: add required mcp_config block — v0.4 schema requires it but the example omitted it, causing mcpb pack to fail - file-manager-python: convert from broken v0.1/python to v0.4/uv — the old manifest had privacy_policies on v0.1 (schema violation), used command "python" (ENOENT on macOS), and had no bundled deps. Now uses UV runtime with proper mcp_config (closes #47, closes #72) - Graduate UV runtime from experimental across docs and schema comments - Bump DEFAULT_MANIFEST_VERSION from 0.2 to 0.3 All three examples verified: pack succeeds, server responds to MCP initialize over stdio, tools/list returns expected tools. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
1dca91e2be
commit
a5d9ae8ed2
4 changed files with 44 additions and 57 deletions
7
examples/file-manager-python/.mcpbignore
Normal file
7
examples/file-manager-python/.mcpbignore
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
.venv/
|
||||
__pycache__/
|
||||
*.pyc
|
||||
.pytest_cache/
|
||||
.mypy_cache/
|
||||
*.egg-info/
|
||||
uv.lock
|
||||
|
|
@ -1,28 +1,28 @@
|
|||
{
|
||||
"$schema": "../../dist/mcpb-manifest.schema.json",
|
||||
"manifest_version": "0.1",
|
||||
"manifest_version": "0.4",
|
||||
"name": "file-manager-python",
|
||||
"display_name": "Python File Manager MCP",
|
||||
"version": "0.1.0",
|
||||
"version": "0.2.0",
|
||||
"description": "A Python MCP server for file operations",
|
||||
"long_description": "This extension provides file management capabilities through a Python MCP server. It demonstrates Python-based MCP Bundle development, including file operations, directory management, and proper MCP protocol implementation.",
|
||||
"long_description": "This extension provides file management capabilities through a Python MCP server. It demonstrates Python-based MCP Bundle development using UV runtime, including file operations, directory management, and proper MCP protocol implementation.",
|
||||
"author": {
|
||||
"name": "Anthropic",
|
||||
"email": "support@anthropic.com",
|
||||
"url": "https://github.com/anthropics"
|
||||
},
|
||||
"server": {
|
||||
"type": "python",
|
||||
"type": "uv",
|
||||
"entry_point": "server/main.py",
|
||||
"mcp_config": {
|
||||
"command": "python",
|
||||
"command": "uv",
|
||||
"args": [
|
||||
"${__dirname}/server/main.py",
|
||||
"run",
|
||||
"--directory", "${__dirname}",
|
||||
"server/main.py",
|
||||
"--workspace=${user_config.workspace_directory}"
|
||||
],
|
||||
"env": {
|
||||
"DEBUG": "${user_config.debug_mode}",
|
||||
"PYTHONPATH": "${__dirname}/server/lib"
|
||||
"DEBUG": "${user_config.debug_mode}"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
@ -62,8 +62,7 @@
|
|||
"claude_desktop": ">=0.10.0",
|
||||
"platforms": ["darwin", "win32", "linux"],
|
||||
"runtimes": {
|
||||
"python": ">=3.8.0 <4"
|
||||
"python": ">=3.10.0 <4"
|
||||
}
|
||||
},
|
||||
"privacy_policies": []
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,31 +1,8 @@
|
|||
[build-system]
|
||||
requires = ["setuptools>=42", "wheel"]
|
||||
build-backend = "setuptools.build_meta"
|
||||
|
||||
[project]
|
||||
name = "file-manager-python"
|
||||
version = "0.1.0"
|
||||
version = "0.2.0"
|
||||
description = "A Python MCP server for file operations"
|
||||
authors = [
|
||||
{name = "Anthropic", email = "support@anthropic.com"}
|
||||
requires-python = ">=3.10"
|
||||
dependencies = [
|
||||
"mcp>=1.0.0",
|
||||
]
|
||||
license = {text = "MIT"}
|
||||
classifiers = [
|
||||
"Private :: Do Not Upload" # Prevents accidental uploads to PyPI
|
||||
]
|
||||
|
||||
[project.dependencies]
|
||||
mcp = ">=1.0.0"
|
||||
trio = ">=0.22.0"
|
||||
|
||||
[tool.setuptools]
|
||||
packages = ["server"]
|
||||
|
||||
[project.scripts]
|
||||
bundle-deps = "python:install_deps"
|
||||
|
||||
# Custom scripts section for DXT development
|
||||
[tool.dxt]
|
||||
bundle = "pip install \"mcp[all]\" --target server/lib --upgrade --force-reinstall"
|
||||
test = "python server/main.py --debug"
|
||||
pack = "npx @anthropic-ai/dxt pack"
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
mcp>=1.0.0
|
||||
trio>=0.22.0
|
||||
Loading…
Reference in a new issue