Skip to main content
Glama

fetch_ufixit_report

Retrieve accessibility reports from Canvas course pages for analysis. Specify the course identifier and page title to fetch UFIXIT report content.

Instructions

Fetch UFIXIT accessibility report from Canvas course pages.

UFIXIT reports are typically stored as Canvas pages. This tool fetches the report content for further analysis. Args: course_identifier: The Canvas course code (e.g., badm_554_120251_246794) or ID page_title: Title of the page containing the UFIXIT report (default: "UFIXIT") Returns: JSON string with report content or error message

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
course_identifierYes
page_titleNoUFIXIT

Implementation Reference

  • Core handler function that fetches the UFIXIT report page from the Canvas course using API calls to list pages and retrieve specific page content, returning structured JSON.
    async def fetch_ufixit_report( course_identifier: Union[str, int], page_title: str = "UFIXIT" ) -> str: """Fetch UFIXIT accessibility report from Canvas course pages. UFIXIT reports are typically stored as Canvas pages. This tool fetches the report content for further analysis. Args: course_identifier: The Canvas course code (e.g., badm_554_120251_246794) or ID page_title: Title of the page containing the UFIXIT report (default: "UFIXIT") Returns: JSON string with report content or error message """ course_id = await get_course_id(course_identifier) # First, try to find the page by title pages = await fetch_all_paginated_results( f"/courses/{course_id}/pages", {"per_page": 100, "search_term": page_title} ) if isinstance(pages, dict) and "error" in pages: return json.dumps({"error": f"Error fetching pages: {pages['error']}"}) if not pages: return json.dumps({ "error": f"No page found with title containing '{page_title}'", "suggestion": "Try specifying a different page_title parameter" }) # Get the first matching page target_page = pages[0] page_url = target_page.get("url") if not page_url: return json.dumps({"error": "Found page but no URL available"}) # Fetch the full page content page_response = await make_canvas_request( "get", f"/courses/{course_id}/pages/{page_url}" ) if "error" in page_response: return json.dumps({"error": f"Error fetching page content: {page_response['error']}"}) return json.dumps({ "page_title": page_response.get("title", "Unknown"), "page_url": page_url, "page_id": page_response.get("page_id"), "body": page_response.get("body", ""), "updated_at": page_response.get("updated_at"), "course_id": course_id })
  • MCP decorator that registers the fetch_ufixit_report as a tool within the accessibility tools module.
    @mcp.tool()
  • Invocation of the accessibility tools registration function during server startup, which registers fetch_ufixit_report among other accessibility tools.
    register_accessibility_tools(mcp)
  • Function docstring defining input parameters and return type, used for schema inference in MCP tool registration.
    """Fetch UFIXIT accessibility report from Canvas course pages. UFIXIT reports are typically stored as Canvas pages. This tool fetches the report content for further analysis. Args: course_identifier: The Canvas course code (e.g., badm_554_120251_246794) or ID page_title: Title of the page containing the UFIXIT report (default: "UFIXIT") Returns: JSON string with report content or error message """
  • Decorator for input parameter validation, supporting schema enforcement.
    @validate_params

Other Tools

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/vishalsachdev/canvas-mcp'

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