content: from mcp.server.fastmcp import Context, FastMCP
  from mcp.server.session import ServerSession
  
  mcp = FastMCP(name="Notifications Example")
  
  
  @mcp.tool()
  async def process_data(data: str, ctx: Context[ServerSession, None]) -> str:
      """Process data with logging."""
      # Different log levels
      await ctx.debug(f"Debug: Processing '{data}'")
      await ctx.info("Info: Starting processing")
      await ctx.warning("Warning: This is experimental")
      await ctx.error("Error: (This is just a demo)")
  
      # Notify about resource changes
      await ctx.session.send_resource_list_changed()
  
      return f"Processed: {data}"
  