{"id":142,"date":"2025-05-19T16:09:35","date_gmt":"2025-05-19T16:09:35","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/xcode\/?p=142"},"modified":"2025-05-19T16:09:35","modified_gmt":"2025-05-19T16:09:35","slug":"github-copilot-exploring-agent-mode-and-mcp-support-in-public-preview-for-xcode","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/xcode\/github-copilot-exploring-agent-mode-and-mcp-support-in-public-preview-for-xcode\/","title":{"rendered":"GitHub Copilot: Exploring Agent Mode and MCP Support in Public Preview for Xcode"},"content":{"rendered":"<p><span style=\"font-family: helvetica, arial, sans-serif;\">We\u2019re excited to announce that GitHub Copilot\u2019s Agent Mode and Model Context Protocol (MCP) support are now available in public preview for Xcode! This brings powerful autonomous coding capabilities to macOS developers using Xcode.\n<\/span><\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/xcode\/wp-content\/uploads\/sites\/87\/2025\/05\/800x449_20250507_Blog-poster_-GitHub-Copilot-Agent.png\"><img decoding=\"async\" class=\"alignnone wp-image-149\" src=\"https:\/\/devblogs.microsoft.com\/xcode\/wp-content\/uploads\/sites\/87\/2025\/05\/800x449_20250507_Blog-poster_-GitHub-Copilot-Agent.png\" alt=\"800x449 20250507 Blog poster GitHub Copilot Agent image\" width=\"760\" height=\"426\" srcset=\"https:\/\/devblogs.microsoft.com\/xcode\/wp-content\/uploads\/sites\/87\/2025\/05\/800x449_20250507_Blog-poster_-GitHub-Copilot-Agent.png 3200w, https:\/\/devblogs.microsoft.com\/xcode\/wp-content\/uploads\/sites\/87\/2025\/05\/800x449_20250507_Blog-poster_-GitHub-Copilot-Agent-300x168.png 300w, https:\/\/devblogs.microsoft.com\/xcode\/wp-content\/uploads\/sites\/87\/2025\/05\/800x449_20250507_Blog-poster_-GitHub-Copilot-Agent-1024x575.png 1024w, https:\/\/devblogs.microsoft.com\/xcode\/wp-content\/uploads\/sites\/87\/2025\/05\/800x449_20250507_Blog-poster_-GitHub-Copilot-Agent-768x431.png 768w, https:\/\/devblogs.microsoft.com\/xcode\/wp-content\/uploads\/sites\/87\/2025\/05\/800x449_20250507_Blog-poster_-GitHub-Copilot-Agent-1536x862.png 1536w, https:\/\/devblogs.microsoft.com\/xcode\/wp-content\/uploads\/sites\/87\/2025\/05\/800x449_20250507_Blog-poster_-GitHub-Copilot-Agent-2048x1149.png 2048w\" sizes=\"(max-width: 760px) 100vw, 760px\" \/><\/a><\/p>\n<h2><span style=\"font-family: helvetica, arial, sans-serif;\">What is Agent Mode?<\/span><\/h2>\n<p><span style=\"font-family: helvetica, arial, sans-serif;\">Agent Mode turns GitHub Copilot into an intelligent pair programmer that can understand your intent, plan multi-step tasks, and execute them\u2014all through natural language. Unlike traditional autocomplete, Agent Mode is designed for more complex workflows. You can switch to Agent Mode when your task involves multiple steps, needs to integrate with external systems (like an MCP server), or when you\u2019d rather let Copilot figure out the best way to get it done.\n<\/span><\/p>\n<p><span style=\"font-family: helvetica, arial, sans-serif;\">In Xcode, Agent Mode can:<\/span><\/p>\n<ul>\n<li><span style=\"font-family: helvetica, arial, sans-serif;\"><strong>Understand your project: <\/strong>It analyzes your codebase to build context, including structure, dependencies, and logic.<\/span><\/li>\n<li><span style=\"font-family: helvetica, arial, sans-serif;\"><strong>Plan and propose changes: <\/strong>Based on your request, it generates a step-by-step plan whether you&#8217;re refactoring, adding features, or debugging.<\/span><\/li>\n<li><span style=\"font-family: helvetica, arial, sans-serif;\"><strong>Execute changes automatically: <\/strong>Once the plan is ready, Copilot carries it out automatically\u2014editing files, running terminal commands, and handling errors. You can review each change in the chat\u2019s\u00a0<strong>View Diff<\/strong>\u00a0panel and choose to\u00a0<strong>Keep<\/strong>\u00a0or\u00a0<strong>Undo<\/strong> these updates as needed.<\/span><\/li>\n<li><span style=\"font-family: helvetica, arial, sans-serif;\"><strong>Summarize results: <\/strong>After completing the task, Copilot provides a clear summary of what was done.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-family: helvetica, arial, sans-serif;\">Here\u2019s a quick demo of Agent Mode in action. Let\u2019s see how it helps add new features to the HomeView, and adapts to support a new UX toggle while developing an iPhone app. All of this is done automatically, from a single prompt.\n<\/span><\/p>\n<p><div style=\"width: 640px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-142-1\" width=\"640\" height=\"360\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/devblogs.microsoft.com\/xcode\/wp-content\/uploads\/sites\/87\/2025\/05\/CopilotAgentInXcodeN1.mp4?_=1\" \/><a href=\"https:\/\/devblogs.microsoft.com\/xcode\/wp-content\/uploads\/sites\/87\/2025\/05\/CopilotAgentInXcodeN1.mp4\">https:\/\/devblogs.microsoft.com\/xcode\/wp-content\/uploads\/sites\/87\/2025\/05\/CopilotAgentInXcodeN1.mp4<\/a><\/video><\/div><\/p>\n<p>&nbsp;<\/p>\n<h2><span style=\"font-family: helvetica, arial, sans-serif;\">What is MCP?<\/span><\/h2>\n<p><span style=\"font-family: helvetica, arial, sans-serif;\"><strong>Model Context Protocol (MCP)<\/strong>\u00a0is an open standard that allows AI models to interact with external tools and services. In Xcode, MCP extends Agent Mode by enabling it to invoke tools contributed by MCP servers\u2014unlocking workflows like querying file metadata, running diagnostics, or integrating with custom services.<\/span><\/p>\n<h3><span style=\"font-family: helvetica, arial, sans-serif;\">How to Set Up MCP in Xcode<\/span><\/h3>\n<ol>\n<li><span style=\"font-family: helvetica, arial, sans-serif;\">Open the GitHub Copilot for Xcode app<\/span><\/li>\n<li><span style=\"font-family: helvetica, arial, sans-serif;\">Click the \ud83d\udee0\ufe0f Tool Picker in Agent Mode<\/span><\/li>\n<li><span style=\"font-family: helvetica, arial, sans-serif;\">Select\u00a0<strong>Edit Config<\/strong>\u00a0and define your MCP servers (e.g., via\u00a0<code>mcp.json<\/code>)<\/span><\/li>\n<\/ol>\n<p><span class=\"TextRun SCXW115955083 BCX0\" lang=\"EN-US\" style=\"font-family: helvetica, arial, sans-serif;\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW115955083 BCX0\">You may use this JSON file as a starter:<\/span><\/span><\/p>\n<pre class=\"prettyprint language-json\"><code class=\"language-json\">{ \r\n    \"servers\": { \r\n        \"memory\": { \r\n            \"command\": \"npx\", \r\n            \"args\": [ \r\n                \"-y\", \r\n                \"@modelcontextprotocol\/server-memory\" \r\n            ] \r\n        } \r\n    } \r\n}\r\n<\/code><\/pre>\n<p><span style=\"font-family: helvetica, arial, sans-serif;\"><span class=\"NormalTextRun SCXW64295002 BCX8\" data-ccp-parastyle=\"Normal (Web)\">Once configured, you can use natural language to call tools exposed by your MCP server<\/span><span class=\"NormalTextRun SCXW64295002 BCX8\" data-ccp-parastyle=\"Normal (Web)\">. <\/span><\/span><span class=\"NormalTextRun SCXW64295002 BCX8\" style=\"font-family: helvetica, arial, sans-serif;\" data-ccp-parastyle=\"Normal (Web)\">For example, you can ask the agent to get the last modified time of <\/span><span class=\"NormalTextRun SCXW64295002 BCX8\" style=\"font-family: helvetica, arial, sans-serif;\" data-ccp-parastyle=\"Normal (Web)\">the current <\/span><span class=\"NormalTextRun SCXW64295002 BCX8\" style=\"font-family: helvetica, arial, sans-serif;\" data-ccp-parastyle=\"Normal (Web)\">files,<\/span> <span class=\"NormalTextRun SCXW64295002 BCX8\" style=\"font-family: helvetica, arial, sans-serif;\" data-ccp-parastyle=\"Normal (Web)\">and it will route the request through the <\/span><span class=\"NormalTextRun SCXW64295002 BCX8\" style=\"font-family: helvetica, arial, sans-serif;\" data-ccp-parastyle=\"Normal (Web)\">appropriate tool<\/span><span class=\"NormalTextRun SCXW64295002 BCX8\" style=\"font-family: helvetica, arial, sans-serif;\" data-ccp-parastyle=\"Normal (Web)\">.<\/span><\/p>\n<p><div style=\"width: 640px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-142-2\" width=\"640\" height=\"360\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/devblogs.microsoft.com\/xcode\/wp-content\/uploads\/sites\/87\/2025\/05\/GTM-MCP720p.mp4?_=2\" \/><a href=\"https:\/\/devblogs.microsoft.com\/xcode\/wp-content\/uploads\/sites\/87\/2025\/05\/GTM-MCP720p.mp4\">https:\/\/devblogs.microsoft.com\/xcode\/wp-content\/uploads\/sites\/87\/2025\/05\/GTM-MCP720p.mp4<\/a><\/video><\/div><\/p>\n<h2><span style=\"font-family: helvetica, arial, sans-serif;\">Try It Today<\/span><\/h2>\n<p><span style=\"font-family: helvetica, arial, sans-serif;\">Agent Mode and MCP support are now available in public preview for all Xcode users. <\/span><span style=\"font-family: helvetica, arial, sans-serif;\">To get started, install or update to <a href=\"https:\/\/github.com\/github\/CopilotForXcode\/releases\/\">the latest version<\/a> of GitHub Copilot for Xcode. <\/span><span style=\"font-family: helvetica, arial, sans-serif;\">To access <a href=\"https:\/\/aka.ms\/copilotxcode\">GitHub Copilot for Xcode<\/a>, you\u2019ll need a <a href=\"https:\/\/github.com\/features\/copilot\">Copilot license\u00a0<\/a>. Simply sign in with your <strong>GitHub account<\/strong> and start using AI-powered assistance in your Xcode IDE.<\/span><\/p>\n<p><span style=\"font-family: helvetica, arial, sans-serif;\">You can read more in our official documentation:\u00a0<\/span><\/p>\n<ul>\n<li><a href=\"https:\/\/docs.github.com\/en\/copilot\/using-github-copilot\/copilot-chat\/asking-github-copilot-questions-in-your-ide?tool=xcode#copilot-agent-mode\"><span style=\"font-family: helvetica, arial, sans-serif;\">Using Agent mode<\/span><\/a><\/li>\n<li><a href=\"https:\/\/docs.github.com\/en\/copilot\/customizing-copilot\/extending-copilot-chat-with-mcp?tool=xcode\"><span style=\"font-family: helvetica, arial, sans-serif;\">Getting started with MCP\u00a0<\/span><\/a><\/li>\n<\/ul>\n<h2><span style=\"font-family: helvetica, arial, sans-serif;\">We\u2019d Love Your Feedback<\/span><\/h2>\n<p><span style=\"font-family: helvetica, arial, sans-serif;\">Your feedback is essential in shaping the future of GitHub Copilot for Xcode! Share your thoughts our <a href=\"https:\/\/github.com\/github\/CopilotForXcode\/issues\">feedback channel<\/a> or join the <a href=\"https:\/\/aka.ms\/copilotxcode-feedback\">GitHub Community<\/a> to discuss your experiences and provide suggestions.<\/span><\/p>\n<p><span style=\"font-family: helvetica, arial, sans-serif;\">Try it out today, explore what\u2019s possible, and let us know what you think. We can\u2019t wait to see what you build.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>We\u2019re excited to announce that GitHub Copilot\u2019s Agent Mode and Model Context Protocol (MCP) support are now available in public preview for Xcode! This brings powerful autonomous coding capabilities to macOS developers using Xcode. What is Agent Mode? Agent Mode turns GitHub Copilot into an intelligent pair programmer that can understand your intent, plan multi-step [&hellip;]<\/p>\n","protected":false},"author":87519,"featured_media":149,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[3,2],"class_list":["post-142","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-xcode-category","tag-copilot","tag-xcode"],"acf":[],"blog_post_summary":"<p>We\u2019re excited to announce that GitHub Copilot\u2019s Agent Mode and Model Context Protocol (MCP) support are now available in public preview for Xcode! This brings powerful autonomous coding capabilities to macOS developers using Xcode. What is Agent Mode? Agent Mode turns GitHub Copilot into an intelligent pair programmer that can understand your intent, plan multi-step [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/xcode\/wp-json\/wp\/v2\/posts\/142","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/xcode\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/xcode\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/xcode\/wp-json\/wp\/v2\/users\/87519"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/xcode\/wp-json\/wp\/v2\/comments?post=142"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/xcode\/wp-json\/wp\/v2\/posts\/142\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/xcode\/wp-json\/wp\/v2\/media\/149"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/xcode\/wp-json\/wp\/v2\/media?parent=142"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/xcode\/wp-json\/wp\/v2\/categories?post=142"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/xcode\/wp-json\/wp\/v2\/tags?post=142"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}