Skip to main content
Glama

check_critical_news

Identify critical Arch Linux news requiring manual intervention by scanning recent announcements for keywords like 'action required' and 'breaking change'.

Instructions

[DISCOVERY] Check for critical Arch Linux news requiring manual intervention. Scans recent news for keywords: 'manual intervention', 'action required', 'breaking change', etc.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of recent news items to check (default 20)

Implementation Reference

  • The main handler function that implements the check_critical_news tool. It fetches the latest Arch Linux news using get_latest_news, scans titles and summaries for critical keywords (defined in CRITICAL_KEYWORDS), identifies matching items, and returns a structured response indicating critical news presence and details.
    async def check_critical_news(limit: int = 20) -> Dict[str, Any]: """ Check for critical Arch Linux news requiring manual intervention. Args: limit: Number of recent news items to check (default 20) Returns: Dict with critical news items """ logger.info("Checking for critical Arch Linux news") result = await get_latest_news(limit=limit) if "error" in result: return result news_items = result.get("news", []) critical_items = [] # Scan for critical keywords for item in news_items: title_lower = item["title"].lower() summary_lower = item["summary"].lower() # Check if any critical keyword is in title or summary is_critical = any( keyword in title_lower or keyword in summary_lower for keyword in CRITICAL_KEYWORDS ) if is_critical: # Identify which keywords matched matched_keywords = [ keyword for keyword in CRITICAL_KEYWORDS if keyword in title_lower or keyword in summary_lower ] critical_items.append({ **item, "matched_keywords": matched_keywords, "severity": "critical" }) logger.info(f"Found {len(critical_items)} critical news items") return { "critical_count": len(critical_items), "has_critical": len(critical_items) > 0, "critical_news": critical_items, "checked_items": len(news_items) }
  • MCP tool registration in @server.list_tools(). Defines the tool name, description, and input schema for the MCP protocol.
    name="check_critical_news", description="[DISCOVERY] Check for critical Arch Linux news requiring manual intervention. Scans recent news for keywords: 'manual intervention', 'action required', 'breaking change', etc.", inputSchema={ "type": "object", "properties": { "limit": { "type": "integer", "description": "Number of recent news items to check (default 20)", "default": 20 } }, "required": [] } ),
  • Input schema definition for the check_critical_news tool, specifying the optional 'limit' parameter.
    "type": "object", "properties": { "limit": { "type": "integer", "description": "Number of recent news items to check (default 20)", "default": 20 } }, "required": [] }
  • Tool execution handler in @server.call_tool(). Dispatches the call to the actual check_critical_news function with parsed arguments.
    elif name == "check_critical_news": limit = arguments.get("limit", 20) result = await check_critical_news(limit=limit) return [TextContent(type="text", text=json.dumps(result, indent=2))]
  • Constant list of keywords used to identify critical news items requiring manual intervention.
    CRITICAL_KEYWORDS = [ "manual intervention", "action required", "before upgrading", "breaking change", "manual action", "requires manual", "important notice" ]

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/nihalxkumar/arch-mcp'

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