Skip to main content
Glama
severity1

terraform-cloud-mcp

get_assessment_log_output

Retrieve detailed execution logs and error information from Terraform Cloud assessment results to analyze infrastructure operations.

Instructions

Retrieve logs from an assessment result.

Gets the raw log output from a Terraform Cloud assessment operation, providing detailed information about the execution and any errors.

API endpoint: GET /api/v2/assessment-results/{assessment_result_id}/log-output

Args: assessment_result_id: The ID of the assessment result to retrieve logs for (format: "asmtres-xxxxxxxx")

Returns: The raw logs from the assessment operation. The redirect to the log file is automatically followed.

Note: This endpoint requires admin level access to the workspace and cannot be accessed with organization tokens.

See: docs/tools/assessment_results.md for reference documentation

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
assessment_result_idYes

Implementation Reference

  • The core handler function implementing the tool logic: validates input using AssessmentOutputRequest, then calls the Terraform Cloud API to fetch log output from /assessment-results/{id}/log-output with text acceptance.
    @handle_api_errors
    async def get_assessment_log_output(assessment_result_id: str) -> APIResponse:
        """Retrieve logs from an assessment result.
    
        Gets the raw log output from a Terraform Cloud assessment operation,
        providing detailed information about the execution and any errors.
    
        API endpoint: GET /api/v2/assessment-results/{assessment_result_id}/log-output
    
        Args:
            assessment_result_id: The ID of the assessment result to retrieve logs for (format: "asmtres-xxxxxxxx")
    
        Returns:
            The raw logs from the assessment operation. The redirect to the log file
            is automatically followed.
    
        Note:
            This endpoint requires admin level access to the workspace and cannot be accessed
            with organization tokens.
    
        See:
            docs/tools/assessment_results.md for reference documentation
        """
        # Validate parameters
        params = AssessmentOutputRequest(assessment_result_id=assessment_result_id)
    
        # Make API request with text acceptance for the logs
        return await api_request(
            f"assessment-results/{params.assessment_result_id}/log-output", accept_text=True
        )
  • Pydantic models for input validation: AssessmentResultRequest defines the assessment_result_id with regex pattern, AssessmentOutputRequest subclasses it for output endpoints like logs.
    class AssessmentResultRequest(APIRequest):
        """Request model for retrieving assessment result details.
    
        Used to validate the assessment result ID parameter for API requests.
    
        Reference: https://developer.hashicorp.com/terraform/cloud-docs/api-docs/assessment-results#show-assessment-result
    
        See:
            docs/models/assessment_result.md for reference
        """
    
        assessment_result_id: str = Field(
            ...,
            # No alias needed as field name matches API parameter
            description="The ID of the assessment result to retrieve",
            pattern=r"^asmtres-[a-zA-Z0-9]{8,}$",  # Standard assessment result ID pattern
        )
    
    
    class AssessmentOutputRequest(AssessmentResultRequest):
        """Request model for retrieving assessment result outputs.
    
        Extends the base AssessmentResultRequest for specialized outputs like
        JSON plan, schema, and log output.
    
        Reference: https://developer.hashicorp.com/terraform/cloud-docs/api-docs/assessment-results#retrieve-the-json-output-from-the-assessment-execution
    
        See:
            docs/models/assessment_result.md for reference
        """
    
        pass  # Uses the same validation as the parent class
  • Tool registration in the FastMCP server using mcp.tool() decorator on the imported assessment_results.get_assessment_log_output function.
    mcp.tool()(assessment_results.get_assessment_log_output)

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/severity1/terraform-cloud-mcp'

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