update_deployment
Modify deployment configurations including name, version, tags, parameters, and work queue settings to adapt workflow automation to changing requirements.
Instructions
Update a deployment.
Args: deployment_id: The deployment UUID name: New name for the deployment description: New description version: New version tags: New tags parameters: New parameters work_queue_name: New work queue name
Returns: Details of the updated deployment
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| deployment_id | Yes | ||
| description | No | ||
| name | No | ||
| parameters | No | ||
| tags | No | ||
| version | No | ||
| work_queue_name | No |
Implementation Reference
- src/mcp_prefect/deployment.py:173-227 (handler)The 'update_deployment' tool handler: an async function decorated with @mcp.tool that updates a Prefect deployment using the Prefect client, handling optional parameters and returning the updated deployment details with a UI link.@mcp.tool async def update_deployment( deployment_id: str, name: Optional[str] = None, description: Optional[str] = None, version: Optional[str] = None, tags: Optional[List[str]] = None, parameters: Optional[Dict[str, Any]] = None, work_queue_name: Optional[str] = None, ) -> List[Union[types.TextContent, types.ImageContent, types.EmbeddedResource]]: """ Update a deployment. Args: deployment_id: The deployment UUID name: New name for the deployment description: New description version: New version tags: New tags parameters: New parameters work_queue_name: New work queue name Returns: Details of the updated deployment """ async with get_client() as client: # Get current deployment deployment = await client.read_deployment(UUID(deployment_id)) # Prepare update data update_data = {} if name is not None: update_data["name"] = name if description is not None: update_data["description"] = description if version is not None: update_data["version"] = version if tags is not None: update_data["tags"] = tags if parameters is not None: update_data["parameters"] = parameters if work_queue_name is not None: update_data["work_queue_name"] = work_queue_name # Update deployment updated_deployment = await client.update_deployment( deployment_id=UUID(deployment_id), **update_data ) # Add UI link updated_deployment_dict = updated_deployment.model_dump() updated_deployment_dict["ui_url"] = get_deployment_url(deployment_id) return [types.TextContent(type="text", text=str(updated_deployment_dict))]
- src/mcp_prefect/deployment.py:173-173 (registration)The @mcp.tool decorator registers the update_deployment function as an MCP tool.@mcp.tool
- Function signature defines the input schema (parameters with types and defaults) and output type for the tool.async def update_deployment( deployment_id: str, name: Optional[str] = None, description: Optional[str] = None, version: Optional[str] = None, tags: Optional[List[str]] = None, parameters: Optional[Dict[str, Any]] = None, work_queue_name: Optional[str] = None, ) -> List[Union[types.TextContent, types.ImageContent, types.EmbeddedResource]]: