list_processes
Retrieve a formatted table of all processes in an Azure DevOps organization, including names, IDs, and descriptions, to facilitate project creation, configuration, or identify the default process.
Instructions
Lists all available processes in the organization.
Use this tool when you need to:
- See what processes are available in your Azure DevOps organization
- Find process IDs for project creation or configuration
- Check which process is set as the default
Returns:
A formatted table of all processes with names, IDs, and
descriptions
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- The handler function for the 'list_processes' tool. Registered with @mcp.tool(), includes schema via type hints and docstring, and delegates to the core implementation.@mcp.tool() def list_processes() -> str: """ Lists all available processes in the organization. Use this tool when you need to: - See what processes are available in your Azure DevOps organization - Find process IDs for project creation or configuration - Check which process is set as the default Returns: A formatted table of all processes with names, IDs, and descriptions """ try: return _list_processes_impl() except Exception as e: return f"Error: {str(e)}"
- Core implementation that fetches the list of processes from Azure DevOps using the process client and formats them into a markdown table.def _list_processes_impl() -> str: """Implementation of processes list retrieval.""" try: process_client = get_work_item_tracking_process_client() processes = process_client.get_list_of_processes() if not processes: return "No processes found in the organization." result = ["# Available Processes"] headers = ["Name", "ID", "Reference Name", "Description", "Is Default"] rows = [] for process in processes: is_default = ("Yes" if getattr(process.properties, 'is_default', False) else "No") row = (f"| {process.name} | {process.type_id} | " + f"{getattr(process, 'reference_name', 'N/A')} | " + f"{getattr(process, 'description', 'N/A')} | " + f"{is_default} |") rows.append(row) result.append(_format_table(headers, rows)) return "\n".join(result) except Exception as e: return f"Error retrieving processes: {str(e)}"
- Registration call that invokes process.register_tools(mcp), which defines and registers the list_processes tool using @mcp.tool().process.register_tools(mcp)