get_process_details
Retrieve detailed information about a specific process in Azure DevOps, including its properties, configuration, and defined work item types. Use this tool to verify if a process is the default for your organization.
Instructions
Gets detailed information about a specific process.
Use this tool when you need to:
- View process properties and configuration
- Get a list of work item types defined in a process
- Check if a process is the default for the organization
Args:
process_id: The ID of the process
Returns:
Detailed information about the process including properties and
available work item types
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| process_id | Yes |
Implementation Reference
- MCP tool 'get_process_details' handler: decorated function that wraps the core implementation and provides error handling. Includes usage docstring serving as input/output schema.@mcp.tool() def get_process_details(process_id: str) -> str: """ Gets detailed information about a specific process. Use this tool when you need to: - View process properties and configuration - Get a list of work item types defined in a process - Check if a process is the default for the organization Args: process_id: The ID of the process Returns: Detailed information about the process including properties and available work item types """ try: return _get_process_details_impl(process_id) except Exception as e: return f"Error: {str(e)}"
- Core helper function implementing the logic to fetch and format process details, including properties and work item types list as markdown table, using Azure DevOps clients.def _get_process_details_impl(process_id: str) -> str: """Implementation of process details retrieval.""" try: process_client = get_work_item_tracking_process_client() process = process_client.get_process_by_its_id(process_id) if not process: return f"Process with ID '{process_id}' not found." result = [f"# Process: {process.name}"] if hasattr(process, "description") and process.description: result.append(f"\nDescription: {process.description}") result.append( f"Reference Name: {getattr(process, 'reference_name', 'N/A')}") result.append(f"Type ID: {getattr(process, 'type_id', 'N/A')}") # Get process properties like isDefault, isEnabled, etc. properties = getattr(process, "properties", None) if properties: result.append("\n## Properties") for attr in ["is_default", "is_enabled"]: value = getattr(properties, attr, None) if value is not None: attr_name = attr.replace("_", " ").capitalize() result.append(f"{attr_name}: {value}") # Get work item types for this process wit_types = process_client.get_process_work_item_types(process_id) if wit_types: result.append("\n## Work Item Types") headers = ["Name", "Reference Name", "Description"] rows = [ f"| {wit.name} | {getattr(wit, 'reference_name', 'N/A')} | " + f"{getattr(wit, 'description', 'N/A')} |" for wit in wit_types ] result.append(_format_table(headers, rows)) return "\n".join(result) except Exception as e: return (f"Error retrieving process details for process ID " f"'{process_id}': {str(e)}")
- Registration call for the process tools module within the work_items tools aggregator register_tools function.process.register_tools(mcp)
- src/mcp_azure_devops/features/work_items/__init__.py:12-12 (registration)Registration call for work_items tools module within the feature's register function.tools.register_tools(mcp)