Apple Releases Safari Technology Preview 247 – Adds MCP Server for AI Agent Integration
Apple hasreleasedSafari Technology Preview 247, the latest version of its developer preview web browser. The preview version of Apple’s popular browser offers developers and other interested users the ability. . .

Apple hasreleasedSafari Technology Preview 247, the latest version of its developer preview web browser. The preview version of Apple’s popular browser offers developers and other interested users the ability to try out features that may or may not, debut in future public release versions of Safari. Safari Technology Preview 247 adds theSafari Model Context Protocol(MCP) server meant to speed up web development and debugging. With the MCP server, an AI agent can emulate what users experience on a website, providing better information for debugging. Any MCP-compatible client can connect to the Safari MCP server. More information isavailable on Apple’s WebKit site. Safari Technology Preview 247 also includes fixes and updates for Accessibility, CSS, Fonts, Forms, HTML, JavaScript, MathML, Media, Model Element, Networking, Rendering, SVG, Scrolling, Security, Spatial Web, Text, Web API, WebDriver, and WebGL. The current Safari Technology Preview release is compatible with machines running macOS Sequoia and macOS Tahoe, the newest version of macOS that launched earlier this year. The update is available through the Software Update mechanism in System Preferences or System Settings to anyone who hasdownloaded the browserfrom Apple’s website. OverviewSafari Technology PreviewRelease 247 is nowavailable for downloadfor macOS Golden Gate and macOS Tahoe. If you already have Safari Technology Preview installed, you can update it in System Settings under General → Software Update. This release includes WebKit changes between:314716@main…315846@main. AccessibilityResolved IssuesFixed VoiceOver jumping to the top of the page when navigating to an element that immediately becomes accessibility-ignored via JavaScript. (315078@main) (179065364)Fixed VoiceOver reporting the Recent Events table on parks. wa. gov as empty. (314901@main) (179156593)Fixed VoiceOver not exposingaria-actionscustom actions when the action target is accessibility-ignored. (315097@main) (179286650)Fixed anelement with a click handler but nohrefnot being exposed as a link. (315102@main) (179398579)CSSNew FeaturesAdded support forcalc-mix(). (314719@main) (176199063)Resolved IssuesFixed scroll overcompensation of fixed, nested anchor-positioned elements, so they no longer lose their position when scrolling. (314757@main) (174010503)Fixed an issue wherefont-synthesisincorrectly applied synthetic oblique to variable fonts declared with@font-face. (314814@main) (178698772)Fixed synthetic bold not being applied for a variable font whose@font-facefont-weightdescriptor explicitly restricts it tonormal. (314537@main) (179001275)Fixed an issue where CSS math functions produced an incorrect signed zero for subtraction,min(),max(),clamp(), andmod(). (315188@main) (179534440)Fixed an issue whereinput[type=hidden]was not set todisplay: none !importantin the user-agent stylesheet. (315559@main) (180137214)FontsResolved IssuesFixed an issue where synthetic bold incorrectly added advance width to zero-advance glyphs. (315157@main) (179418570)FormsResolved IssuesFixed an issue where a positivemargin-topon aelement inside adid not shift the fieldset down. (315391@main) (141267953)HTMLResolved IssuesFixed an issue whereincorrectly triggered a preload. (315422@main) (179843455)Fixed an issue where the deprecatedalign="center"attribute was not treated as identical toalign="middle"per spec. (315531@main) (180128710)JavaScriptResolved IssuesFixed an issue whereTemporal. Instantoperations were not aligned with the spec’s abstract operations. (315377@main) (179844859)MathMLNew FeaturesAdded support for embellished operator detection throughmrowfor underover layout. (314924@main) (173192995)Resolved IssuesFixed MathML operators routed throughMathOperatorbeing invisible when their glyph only exists in a fallback font. (314928@main) (178096170)Fixed MathML to use MathML Core fallback values for script layout constants. (315004@main) (179177178)MediaNew FeaturesAdded support for overriding color space for hardware video decoders in WebCodecs. (314887@main) (178717498)Added support for mappingnextslideandpreviousslideMediaSession actions tonexttrackandprevioustrackplatform commands, so pressing next/previous track invokes a registered slide handler when no direct track handler is registered. (314839@main) (178744268)Resolved IssuesFixed media controls not appearing when tapping videos in the LinkedIn feed on iPad. (315049@main) (171231918)Fixed an issue where theMediaSourcetext-track removal loop always processed only the last track. (315310@main) (179508398)Fixed an issue whereisValidVideoFrameBufferInit()testeddisplayWidthanddisplayHeightpresence against themselves instead of the correct properties. (315401@main) (179514279)Fixed an issue whereMediaMetadataartworksizesparsing read the wrong substring for the height value. (315402@main) (179523057)Fixed an issue where thepictureInPictureElementgetter inverted the shadow-host connectivity check. (315403@main) (179675087)Model ElementResolved IssuesFixed setting theentityTransformon aelement while the model is unloaded or hidden. (314951@main) (179114750)Fixedelements losing gesture interactivity after the model player is reloaded (for example, when the model scrolls out of and back into the viewport). (315026@main) (179249565)NetworkingResolved IssuesFixed an issue where WebKit refused to load valid ASCII domains starting withxn--that did not pass strict IDNA 2008 validation, aligning behavior with the WHATWG URL Standard. xn--is the prefix of a punycode-encoded non-ASCII domain. (314820@main) (177686282)Fixed an issue where arbitraryContent-*headers from304responses were not used to update cached entries. (315449@main) (179864251)Fixed an issue where theCache-Controlrequest directivesmax-age,min-fresh, andno-storewere not honored. (315447@main) (179865576)Fixed an issue whereCache-Control: publicwas not honored on responses with unknown status codes. (315445@main) (179870099)Fixed an issue where the HTTP cache did not store responses with explicit freshness for all status codes. (315450@main) (179871690)RenderingResolved IssuesFixedtext-wrap: balancenot being applied to content with-webkit-line-clamp. (314783@main) (172715503)Fixed an issue where text changes that did not modify the text element’s size in a flex layout on a new compositing layer did not trigger re-rendering. (315173@main) (179292409)Fixed an issue where an underline was drawn twice onelements. (315220@main) (179537119)Fixed an issue where an underline under aelement was offset by one device pixel from the rest of the line on subpixel displays. (315316@main) (179586525)Fixed an issue where theexunit intext-box-edgemisplaced the propagated underline, causing it to be painted twice. (315331@main) (179769451)Fixed an issue wheremin-widthwas not honored overmax-widthwhen sizing a shrink-to-fit container around a replaced element. (315396@main) (179935558)SVGResolved IssuesFixed SVG applyingtext-decorationto elements withdisplay: contents. (314830@main) (85691104)Fixed SVGwithtextLengthscaling each glyph separately whenxoryis a list. (315146@main) (94161279)Fixed an issue wherebox-shadowwas not drawn on fixed-positioned SVG elements. (315468@main) (97098951)Fixed an issue where an SVG filter applied via CSS to an element positioned below the viewport rendered a spurious black square at the viewport origin. (315329@main) (177482001)FixedIntersectionObservernot computing intersections for SVG element roots. (314837@main) (177807041)Fixed SVG verticalto honor the CSStext-orientationproperty instead of only the deprecatedglyph-orientation-verticalpresentation attribute. (315080@main) (178044217)Fixed an issue wheregetRotationOfChar()returned approximately 360° instead of 0° for full-turn rotations after normalisation into the [0°, 360°) range. (315293@main) (178044934)Fixed an issue where a non-BMP character before aboundary shifted thexandyvalue lists by one position. (315418@main) (178360036)Fixed interpolation of arc flags in thedproperty to treat them as non-zero booleans. (314745@main) (178950624)FixedpathFromEllipseElementto honorautovalues forrxandry, so APIs such asgetTotalLength()return the correct length for ellipses. (314846@main) (178959205)Fixed animated GIFs freezing when presentation attributes are changed on an SVG image referenced by aelement. (315094@main) (179414226)Fixed an issue wheregetBoundingClientRect()on an SVGelement returned the bounds of the entireelement instead of the’s own area. (315234@main) (179626476)Fixed an issue where a nestedclip-pathon aelement ignored css zoom. (315562@main) (180162723)ScrollingResolved IssuesFixed an issue wherescrollIntoViewwithnearestalignment incorrectly aligned to the far edge for an oversized target positioned before the scrollport. (315225@main) (106356373)Fixed a regression on macOS 26 where horizontal rubber-banding interfered with vertical scrolling. (315424@main) (165449829)Fixed an issue where scroll snapping selected a snap point that overshot the destination instead of the closest one in the scroll direction. (315522@main) (179549119)Fixed an issue where interrupting a smooth scroll with a newscrollTo()call to a different target fired thescrollendevent at the wrong position. (315471@main) (179551854)Fixed an issue where re-snapping after a layout change moved away from a valid scroll position when the snap area was larger than the snapport. (315291@main) (179553122)SecurityResolved IssuesFixed an issue where Content Security Policy'self'did not match script sources in opaque-origin HTTP(S) documents. (314912@main) (178638597)Fixed an issue where Content Security Policy incorrectly appliedscript-srcto JSON module imports instead ofconnect-src. (315497@main) (180006320)Spatial WebKnown IssuesWebXR might not render when you use Simulator. (178666073)Workaround:Use an Apple Vision Pro device instead of Simulator. Resolved IssuesFixed an issue where transforming the camera instead of the model in aelement led to undesirable lighting effects. (312407@main) (179522538)DeprecationsRemoved the Spatial Backdrop developer preview in favor of the Immersive API. (315100@main) (160271766)TextResolved IssuesFixed a line break appearing after a U+201D Right Double Quotation Mark. (314829@main) (177952069)Web APIResolved IssuesFixed an issue where the URL Pattern tokenizer emitted a spurious zero-lengthRegexptoken for empty regexp groups. (315289@main) (179452346)WebDriverNew FeaturesAllow your agent to connect to a Safari browser for development and debugging via the Safari MCP server. (176038457)Resolved IssuesFixed an issue where the WebDriver full page screenshot was clipped to the viewport dimensions instead of the full page. (315337@main) (179840186)WebGLResolved IssuesFixed a regression where a WebGL canvas was filled with opaque content that hid stacked canvases beneath it. (315018@main) (175352260)Apple’s aim with Safari Technology Preview is to gather feedback from developers and users on its browser development process. Safari Technology Preview can run side-by-side with the existing Safari browser and while it is designed for developers, it does not require a developer account to download and use. Next UpApple Has Cut iPhone 17 Lineup Production, Claims Leaker