Skip to main content
Glama

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
NameRequiredDescriptionDefault
deployment_idYes
descriptionNo
nameNo
parametersNo
tagsNo
versionNo
work_queue_nameNo

Implementation Reference

  • 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))]
  • 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]]:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/allen-munsch/mcp-prefect'

If you have feedback or need assistance with the MCP directory API, please join our Discord server