{"id":232127,"date":"2025-05-19T09:22:51","date_gmt":"2025-05-19T16:22:51","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/java\/?p=232127"},"modified":"2025-05-19T09:22:51","modified_gmt":"2025-05-19T16:22:51","slug":"vibe-coding-with-github-copilot-agent-mode-and-mcp-support-in-jetbrains-and-eclipse","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/java\/vibe-coding-with-github-copilot-agent-mode-and-mcp-support-in-jetbrains-and-eclipse\/","title":{"rendered":"Vibe coding with GitHub Copilot: Agent mode and MCP support in JetBrains and Eclipse"},"content":{"rendered":"<p><a href=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/800x449_20250507_Blog-poster_-GitHub-Copilot-Agent.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-232128\" src=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/800x449_20250507_Blog-poster_-GitHub-Copilot-Agent.png\" alt=\"800x449 20250507 Blog poster GitHub Copilot Agent image\" width=\"3200\" height=\"1796\" srcset=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/800x449_20250507_Blog-poster_-GitHub-Copilot-Agent.png 3200w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/800x449_20250507_Blog-poster_-GitHub-Copilot-Agent-300x168.png 300w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/800x449_20250507_Blog-poster_-GitHub-Copilot-Agent-1024x575.png 1024w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/800x449_20250507_Blog-poster_-GitHub-Copilot-Agent-768x431.png 768w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/800x449_20250507_Blog-poster_-GitHub-Copilot-Agent-1536x862.png 1536w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/800x449_20250507_Blog-poster_-GitHub-Copilot-Agent-2048x1149.png 2048w\" sizes=\"(max-width: 3200px) 100vw, 3200px\" \/><\/a><\/p>\n<p><span data-contrast=\"auto\">Today, we&#8217;re excited to announce that <a href=\"https:\/\/github.blog\/changelog\/2025-05-19-agent-mode-and-mcp-support-for-copilot-in-jetbrains-eclipse-and-xcode-now-in-public-preview\/\"><strong>GitHub Copilot <\/strong><\/a><\/span><a href=\"https:\/\/github.blog\/changelog\/2025-05-19-agent-mode-and-mcp-support-for-copilot-in-jetbrains-eclipse-and-xcode-now-in-public-preview\/\"><strong>Agent Mode and MCP<\/strong><\/a><span data-contrast=\"auto\"><a href=\"https:\/\/github.blog\/changelog\/2025-05-19-agent-mode-and-mcp-support-for-copilot-in-jetbrains-eclipse-and-xcode-now-in-public-preview\/\"><strong> support<\/strong><\/a> are now in public preview for both <\/span><a href=\"https:\/\/plugins.jetbrains.com\/plugin\/17718-github-copilot\"><b><span data-contrast=\"auto\">JetBrains<\/span><\/b><\/a><span data-contrast=\"auto\">\u00a0and <\/span><a href=\"https:\/\/marketplace.eclipse.org\/content\/github-copilot\"><b><span data-contrast=\"auto\">Eclipse<\/span><\/b><\/a><span data-contrast=\"auto\">! Whether you&#8217;re working in IntelliJ IDEA, PyCharm, WebStorm or Eclipse, you can now access Copilot\u2019s intelligent agent features and seamlessly manage your project workflows, all from within your IDE.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">In this post, we\u2019ll demonstrate how <\/span><b><span data-contrast=\"auto\">Agent Mode<\/span><\/b><span data-contrast=\"auto\"> and <\/span><b><span data-contrast=\"auto\">MCP<\/span><\/b><span data-contrast=\"auto\"> support can supercharge real-world development workflows through a collaborative feature development story. Meet Adrian, a backend-focused Java developer who primarily uses JetBrains, and Lucy, a full-stack enthusiast working in Eclipse. Together, they\u2019re enhancing the popular Spring PetClinic project by adding a brand-new feature: Pet Adoption.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/github.com\/spring-projects\/spring-petclinic\"><b><span data-contrast=\"none\">PetClinic<\/span><\/b><\/a> <span data-contrast=\"auto\">is a classic Spring Boot demo application, widely used for learning and prototyping. It simulates a veterinary clinic system, with features like managing pets, owners, and visits. Adrian and Lucy\u2019s mission: add a <\/span><b><span data-contrast=\"auto\">Pet Adoption<\/span><\/b><span data-contrast=\"auto\"> feature from scratch, showing how GitHub Copilot Agent Mode and MCP make collaboration effortless.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/diagram.png\"><img decoding=\"async\" class=\"wp-image-232129 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/diagram.png\" alt=\"diagram image\" width=\"612\" height=\"584\" srcset=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/diagram.png 1196w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/diagram-300x286.png 300w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/diagram-1024x978.png 1024w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/diagram-768x733.png 768w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/diagram-24x24.png 24w\" sizes=\"(max-width: 612px) 100vw, 612px\" \/><\/a><\/p>\n<h3 aria-level=\"2\"><span data-contrast=\"none\">\ud83d\ude80<\/span><span data-contrast=\"none\"> Gets Started with Agent Mode and MCP on JetBrains IDEs<\/span><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335559738&quot;:160,&quot;335559739&quot;:80,&quot;335559740&quot;:240}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">Adrian begins by cloning the PetClinic repo into his IntelliJ: <\/span><code class=\"language-vb\">git clone https:\/\/github.com\/spring-projects\/spring-petclinic.git<\/code><code class=\"language-vb\">\n<\/code><\/p>\n<p><span data-contrast=\"auto\">By switching to the Agent(Preview) in the chat window, he gains the access to the agent mode and simply types:<\/span><code class=\"language-default\">\"Build and run the project\"\u00a0<\/code><\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/buildandrun.png\"><img decoding=\"async\" class=\"size-full wp-image-232130 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/buildandrun.png\" alt=\"buildandrun image\" width=\"624\" height=\"229\" srcset=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/buildandrun.png 624w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/buildandrun-300x110.png 300w\" sizes=\"(max-width: 624px) 100vw, 624px\" \/><\/a><\/p>\n<p><span class=\"TextRun SCXW2512989 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW2512989 BCX0\">Copilot handles the setup, including project build, dependency resolution, and launching the app.<\/span><\/span><span class=\"EOP Selected SCXW2512989 BCX0\" data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/applaunch.png\"><img decoding=\"async\" class=\"size-full wp-image-232131 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/applaunch.png\" alt=\"applaunch image\" width=\"624\" height=\"325\" srcset=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/applaunch.png 624w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/applaunch-300x156.png 300w\" sizes=\"(max-width: 624px) 100vw, 624px\" \/><\/a><\/p>\n<p><span class=\"TextRun SCXW200517682 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW200517682 BCX0\">Next, Adrian uses Agent Mode to generate the new adoption page:<\/span><\/span><span class=\"EOP Selected SCXW200517682 BCX0\" data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<pre class=\"prettyprint language-default\"><code class=\"language-default\">Create a new tab for me called \"Adopt Me\": this adoption page should have\u00a0\r\n\r\n1. A new page called \"Adoption\"\r\n2. A tab entry in the navigation bar called \"Adopt Me\", this tab is next to the \"Find Owners\" tab\r\n3. A description paragraph calling for pets adoption, make it the 1st person point of view\r\n4. A table of content with these columns:\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 - Species (cat, dog, snake)\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 - Gender\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 - Age\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 - Description\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 - Adopt Me (a button for a quick adopt page, if adopted, the button will be greyed out)\u00a0<\/code><\/pre>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-20.52.07.png\"><img decoding=\"async\" class=\"wp-image-232134 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-20.52.07.png\" alt=\"Screenshot 2025 05 19 at 20 52 07 image\" width=\"844\" height=\"423\" srcset=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-20.52.07.png 1992w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-20.52.07-300x150.png 300w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-20.52.07-1024x513.png 1024w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-20.52.07-768x385.png 768w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-20.52.07-1536x770.png 1536w\" sizes=\"(max-width: 844px) 100vw, 844px\" \/><\/a><\/p>\n<p><span class=\"TextRun SCXW73962492 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW73962492 BCX0\">Within seconds, Copilot scaffolds the new feature with a new navigation tab, a dedicated page, and a responsive table interface. Adrian is impressed.<\/span><\/span><span class=\"EOP Selected SCXW73962492 BCX0\" data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-20.51.59.png\"><img decoding=\"async\" class=\"wp-image-232135 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-20.51.59.png\" alt=\"Screenshot 2025 05 19 at 20 51 59 image\" width=\"845\" height=\"330\" srcset=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-20.51.59.png 2000w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-20.51.59-300x117.png 300w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-20.51.59-1024x400.png 1024w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-20.51.59-768x300.png 768w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-20.51.59-1536x601.png 1536w\" sizes=\"(max-width: 845px) 100vw, 845px\" \/><\/a><\/p>\n<p><span data-contrast=\"auto\">Adrian then decided to publish the project to GitHub. But before that, he needs to setup the <strong>GitHub MCP server<\/strong>.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<ol>\n<li data-leveltext=\"%1.\" data-font=\"Segoe UI\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:0,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[65533,0],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;%1.&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">Click on the GitHub Copilot Icon\u00a0<a href=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/03\/copilot-3.svg\"><img decoding=\"async\" class=\"alignnone wp-image-231952\" role=\"img\" src=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/03\/copilot-3.svg\" alt=\"\" width=\"20\" height=\"20\" \/><\/a> <\/span><span data-contrast=\"auto\">in the lower Right Corner\u202f<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559685&quot;:0,&quot;335559731&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240,&quot;469777462&quot;:[720],&quot;469777927&quot;:[0],&quot;469777928&quot;:[0]}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"%1.\" data-font=\"Segoe UI\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:0,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[65533,0],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;%1.&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">Select Edit Settings in the menu\u202f<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559685&quot;:0,&quot;335559731&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240,&quot;469777462&quot;:[720],&quot;469777927&quot;:[0],&quot;469777928&quot;:[0]}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"%1.\" data-font=\"Segoe UI\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:0,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[65533,0],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;%1.&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">Find the MCP section and click on Edit in mcp.json\u202f<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559685&quot;:0,&quot;335559731&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240,&quot;469777462&quot;:[720],&quot;469777927&quot;:[0],&quot;469777928&quot;:[0]}\">\u00a0<\/span><\/li>\n<\/ol>\n<pre class=\"prettyprint language-json\"><code class=\"language-json\">{ \r\n\r\n    \"servers\": { \r\n\r\n        \"GitHub\": { \r\n\r\n            \"command\": \"npx\", \r\n\r\n            \"args\": [ \r\n\r\n                \"-y\", \r\n\r\n                \"@modelcontextprotocol\/server-github\" \r\n\r\n            ], \r\n\r\n            \"env\": { \r\n\r\n                \"GITHUB_PERSONAL_ACCESS_TOKEN\": \"your-own-token\" \r\n\r\n            } \r\n\r\n        } \r\n\r\n    } \r\n\r\n} <\/code><\/pre>\n<p><em><span class=\"TextRun SCXW249957636 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW249957636 BCX0\" data-ccp-parastyle=\"paragraph\" data-ccp-parastyle-defn=\"{&quot;ObjectId&quot;:&quot;aaed607e-c2a3-5841-9fb4-41037bfa0faf|1&quot;,&quot;ClassId&quot;:1073872969,&quot;Properties&quot;:[469777841,&quot;Times New Roman&quot;,469777842,&quot;Times New Roman&quot;,469777843,&quot;Times New Roman&quot;,469777844,&quot;Times New Roman&quot;,469769226,&quot;Times New Roman&quot;,335559740,&quot;240&quot;,201341983,&quot;0&quot;,335559739,&quot;0&quot;,201342446,&quot;1&quot;,201342447,&quot;5&quot;,201342448,&quot;3&quot;,201342449,&quot;1&quot;,201341986,&quot;1&quot;,268442635,&quot;24&quot;,469775450,&quot;paragraph&quot;,201340122,&quot;2&quot;,134233614,&quot;true&quot;,469778129,&quot;paragraph&quot;,335572020,&quot;1&quot;,134233118,&quot;true&quot;,134233117,&quot;true&quot;,469778324,&quot;Normal&quot;]}\"><strong>Notice<\/strong> that if it is your first time to<\/span><span class=\"NormalTextRun SCXW249957636 BCX0\" data-ccp-parastyle=\"paragraph\"> enable the <\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW249957636 BCX0\" data-ccp-parastyle=\"paragraph\">github<\/span><span class=\"NormalTextRun SCXW249957636 BCX0\" data-ccp-parastyle=\"paragraph\"> personal access token(pat), please follow the <\/span><\/span><a class=\"Hyperlink SCXW249957636 BCX0\" href=\"https:\/\/docs.github.com\/en\/authentication\/keeping-your-account-and-data-secure\/managing-your-personal-access-tokens#creating-a-personal-access-token-classic\" target=\"_blank\" rel=\"noreferrer noopener\"><span class=\"TextRun Underlined SCXW249957636 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW249957636 BCX0\" data-ccp-charstyle=\"Hyperlink\">instructions from the official doc<\/span><\/span><\/a><span class=\"TextRun SCXW249957636 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW249957636 BCX0\" data-ccp-parastyle=\"paragraph\">.<\/span><\/span><span class=\"LineBreakBlob BlobObject DragDrop SCXW249957636 BCX0\"><span class=\"SCXW249957636 BCX0\">\u00a0<\/span><br class=\"SCXW249957636 BCX0\" \/><\/span><span class=\"TextRun SCXW249957636 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW249957636 BCX0\" data-ccp-parastyle=\"paragraph\">You also need to have <\/span><\/span><a class=\"Hyperlink SCXW249957636 BCX0\" href=\"https:\/\/nodejs.org\/\" target=\"_blank\" rel=\"noreferrer noopener\"><span class=\"TextRun Underlined SCXW249957636 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW249957636 BCX0\" data-ccp-charstyle=\"Hyperlink\">node.js<\/span><\/span><\/a><span class=\"TextRun SCXW249957636 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW249957636 BCX0\" data-ccp-parastyle=\"paragraph\"> installed in your local environment.<\/span><\/span><span class=\"EOP Selected SCXW249957636 BCX0\" data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559738&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/em><\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-20.55.23.png\"><img decoding=\"async\" class=\"wp-image-232136 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-20.55.23.png\" alt=\"Screenshot 2025 05 19 at 20 55 23 image\" width=\"722\" height=\"645\" srcset=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-20.55.23.png 1238w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-20.55.23-300x268.png 300w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-20.55.23-1024x915.png 1024w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-20.55.23-768x686.png 768w\" sizes=\"(max-width: 722px) 100vw, 722px\" \/><\/a><\/p>\n<p><span data-contrast=\"auto\">With the MVP ready, Adrian switches to <\/span><b><span data-contrast=\"auto\">GitHub Copilot MCP<\/span><\/b><span data-contrast=\"auto\"> and instructs:<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<pre class=\"prettyprint language-default\"><code class=\"language-default\">Create a repo called PetClinicAcoption and push this project into the repo. Return me the repo URL.<\/code><\/pre>\n<p><span data-contrast=\"auto\">Copilot MCP creates the repository, pushes the code, and sets everything up.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><a href=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-20.56.15-1.png\"><img decoding=\"async\" class=\"wp-image-232138 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-20.56.15-1.png\" alt=\"Screenshot 2025 05 19 at 20 56 15 image\" width=\"724\" height=\"559\" srcset=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-20.56.15-1.png 1232w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-20.56.15-1-300x232.png 300w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-20.56.15-1-1024x791.png 1024w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-20.56.15-1-768x593.png 768w\" sizes=\"(max-width: 724px) 100vw, 724px\" \/><\/a><\/p>\n<p><span class=\"TextRun SCXW21955834 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW21955834 BCX0\">The project is now available on GitHub.<\/span><span class=\"NormalTextRun SCXW21955834 BCX0\"> Adrian <\/span><span class=\"NormalTextRun SCXW21955834 BCX0\">then <\/span><span class=\"NormalTextRun SCXW21955834 BCX0\">adds Lucy as a <\/span><span class=\"NormalTextRun SCXW21955834 BCX0\">collaborator,<\/span> <span class=\"NormalTextRun SCXW21955834 BCX0\">and they decide <\/span><span class=\"NormalTextRun SCXW21955834 BCX0\">Lucy wi<\/span><span class=\"NormalTextRun SCXW21955834 BCX0\">ll refine the UI by updating the icon for the new tab.<\/span><\/span><span class=\"EOP Selected SCXW21955834 BCX0\" data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<h3><span class=\"TextRun SCXW36921686 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW36921686 BCX0\" data-ccp-parastyle=\"heading 2\">\ud83d\ude80<\/span><\/span><span class=\"TextRun SCXW36921686 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW36921686 BCX0\" data-ccp-parastyle=\"heading 2\"> Gets Started with Agent Mode<\/span><span class=\"NormalTextRun SCXW36921686 BCX0\" data-ccp-parastyle=\"heading 2\"> and MCP on Eclipse IDE<\/span><\/span><span class=\"EOP Selected SCXW36921686 BCX0\" data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335559738&quot;:160,&quot;335559739&quot;:80,&quot;335559740&quot;:240}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">Lucy opens Eclipse and forks the repo using GitHub MCP server.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">To enable MCP on Eclipse:<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<ol>\n<li><span data-contrast=\"auto\">Click on the GitHub Copilot Icon <a href=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/03\/copilot-3.svg\"><img decoding=\"async\" class=\"alignnone wp-image-231952\" role=\"img\" src=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/03\/copilot-3.svg\" alt=\"\" width=\"20\" height=\"20\" \/><\/a> <\/span><span data-contrast=\"auto\">in the lower Right Corner\u202f.<\/span><\/li>\n<li>Select <b><span data-contrast=\"auto\">Edit Preferences <\/span><\/b><span data-contrast=\"auto\">in the menu\u202f<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559685&quot;:0,&quot;335559731&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240,&quot;469777462&quot;:[720],&quot;469777927&quot;:[0],&quot;469777928&quot;:[0]}\">\u00a0<\/span><\/li>\n<li><span data-contrast=\"auto\">In the left pane, expand <\/span><b><span data-contrast=\"auto\">GitHub Copilot<\/span><\/b><span data-contrast=\"auto\"> and Click on <\/span><b><span data-contrast=\"auto\">MCP<\/span><\/b><span data-contrast=\"auto\">\u202f<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559685&quot;:0,&quot;335559731&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240,&quot;469777462&quot;:[720],&quot;469777927&quot;:[0],&quot;469777928&quot;:[0]}\"> <a href=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-18-at-14.51.39.png\"><img decoding=\"async\" class=\"wp-image-232140 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-18-at-14.51.39.png\" alt=\"Screenshot 2025 05 18 at 14 51 39 image\" width=\"668\" height=\"515\" srcset=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-18-at-14.51.39.png 2094w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-18-at-14.51.39-300x231.png 300w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-18-at-14.51.39-1024x788.png 1024w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-18-at-14.51.39-768x591.png 768w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-18-at-14.51.39-1536x1182.png 1536w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-18-at-14.51.39-2048x1577.png 2048w\" sizes=\"(max-width: 668px) 100vw, 668px\" \/><\/a><\/span><\/li>\n<\/ol>\n<p><em><span class=\"TextRun SCXW249957636 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW249957636 BCX0\" data-ccp-parastyle=\"paragraph\" data-ccp-parastyle-defn=\"{&quot;ObjectId&quot;:&quot;aaed607e-c2a3-5841-9fb4-41037bfa0faf|1&quot;,&quot;ClassId&quot;:1073872969,&quot;Properties&quot;:[469777841,&quot;Times New Roman&quot;,469777842,&quot;Times New Roman&quot;,469777843,&quot;Times New Roman&quot;,469777844,&quot;Times New Roman&quot;,469769226,&quot;Times New Roman&quot;,335559740,&quot;240&quot;,201341983,&quot;0&quot;,335559739,&quot;0&quot;,201342446,&quot;1&quot;,201342447,&quot;5&quot;,201342448,&quot;3&quot;,201342449,&quot;1&quot;,201341986,&quot;1&quot;,268442635,&quot;24&quot;,469775450,&quot;paragraph&quot;,201340122,&quot;2&quot;,134233614,&quot;true&quot;,469778129,&quot;paragraph&quot;,335572020,&quot;1&quot;,134233118,&quot;true&quot;,134233117,&quot;true&quot;,469778324,&quot;Normal&quot;]}\"><strong>Notice<\/strong> that if it is your first time to<\/span><span class=\"NormalTextRun SCXW249957636 BCX0\" data-ccp-parastyle=\"paragraph\"> enable the <\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW249957636 BCX0\" data-ccp-parastyle=\"paragraph\">github<\/span><span class=\"NormalTextRun SCXW249957636 BCX0\" data-ccp-parastyle=\"paragraph\"> personal access token(pat), please follow the <\/span><\/span><a class=\"Hyperlink SCXW249957636 BCX0\" href=\"https:\/\/docs.github.com\/en\/authentication\/keeping-your-account-and-data-secure\/managing-your-personal-access-tokens#creating-a-personal-access-token-classic\" target=\"_blank\" rel=\"noreferrer noopener\"><span class=\"TextRun Underlined SCXW249957636 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW249957636 BCX0\" data-ccp-charstyle=\"Hyperlink\">instructions from the official doc<\/span><\/span><\/a><span class=\"TextRun SCXW249957636 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW249957636 BCX0\" data-ccp-parastyle=\"paragraph\">.<\/span><\/span><span class=\"LineBreakBlob BlobObject DragDrop SCXW249957636 BCX0\"><span class=\"SCXW249957636 BCX0\">\u00a0<\/span><br class=\"SCXW249957636 BCX0\" \/><\/span><span class=\"TextRun SCXW249957636 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW249957636 BCX0\" data-ccp-parastyle=\"paragraph\">You also need to have <\/span><\/span><a class=\"Hyperlink SCXW249957636 BCX0\" href=\"https:\/\/nodejs.org\/\" target=\"_blank\" rel=\"noreferrer noopener\"><span class=\"TextRun Underlined SCXW249957636 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW249957636 BCX0\" data-ccp-charstyle=\"Hyperlink\">node.js<\/span><\/span><\/a><span class=\"TextRun SCXW249957636 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW249957636 BCX0\" data-ccp-parastyle=\"paragraph\"> installed in your local environment.<\/span><\/span><span class=\"EOP Selected SCXW249957636 BCX0\" data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559738&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/em><\/p>\n<p><span class=\"TextRun SCXW120714139 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW120714139 BCX0\">After <\/span><span class=\"NormalTextRun SCXW120714139 BCX0\">switching<\/span><span class=\"NormalTextRun SCXW120714139 BCX0\"> to the agent mode by <\/span><span class=\"NormalTextRun SCXW120714139 BCX0\">selecting <\/span><\/span><span class=\"TextRun MacChromeBold SCXW120714139 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed SCXW120714139 BCX0\">Agent(<\/span><span class=\"NormalTextRun SCXW120714139 BCX0\">Preview)<\/span><\/span><span class=\"TextRun SCXW120714139 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"> <span class=\"NormalTextRun SCXW120714139 BCX0\">in the <\/span><span class=\"NormalTextRun SCXW120714139 BCX0\">chat box<\/span><span class=\"NormalTextRun SCXW120714139 BCX0\">,<\/span><span class=\"NormalTextRun SCXW120714139 BCX0\"> Lucy types:<\/span><\/span><span class=\"EOP Selected SCXW120714139 BCX0\" data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<pre class=\"prettyprint language-default\"><code class=\"language-default\">Clone https:\/\/github.com\/AdrianContoso\/PetClinicAcoption and create a new branch called adoption_new_icon <\/code><\/pre>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-21.07.02.png\"><img decoding=\"async\" class=\"wp-image-232141 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-21.07.02.png\" alt=\"Screenshot 2025 05 19 at 21 07 02 image\" width=\"699\" height=\"493\" srcset=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-21.07.02.png 1216w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-21.07.02-300x212.png 300w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-21.07.02-1024x723.png 1024w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-21.07.02-768x542.png 768w\" sizes=\"(max-width: 699px) 100vw, 699px\" \/><\/a><\/p>\n<p><span class=\"TextRun SCXW161681376 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW161681376 BCX0\">Adrian\u2019s project has now been <\/span><span class=\"NormalTextRun SCXW161681376 BCX0\">cloned<\/span><span class=\"NormalTextRun SCXW161681376 BCX0\">,<\/span><span class=\"NormalTextRun SCXW161681376 BCX0\"> where she creates a new branch to begin her work. She then instructs:<\/span><\/span><span class=\"EOP Selected SCXW161681376 BCX0\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<pre class=\"prettyprint language-default\"><code class=\"language-default\"> Change the adoption tab icon from a heart to a claw icon <\/code><\/pre>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-21.08.41.png\"><img decoding=\"async\" class=\"alignnone wp-image-232142\" src=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-21.08.41.png\" alt=\"Screenshot 2025 05 19 at 21 08 41 image\" width=\"928\" height=\"138\" srcset=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-21.08.41.png 2110w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-21.08.41-300x45.png 300w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-21.08.41-1024x152.png 1024w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-21.08.41-768x114.png 768w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-21.08.41-1536x229.png 1536w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-21.08.41-2048x305.png 2048w\" sizes=\"(max-width: 928px) 100vw, 928px\" \/><\/a><\/p>\n<p><span data-contrast=\"auto\">Copilot locates the relevant UI component and swaps the icon, keeping the styling and layout intact.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Lucy wants to check the build, so she types:<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<pre class=\"prettyprint language-default\"><code class=\"language-default\">Build and run the project<\/code><\/pre>\n<p><span class=\"TextRun SCXW32040138 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW32040138 BCX0\">Looks like there are some build errors, GitHub Copilot then started to <\/span><span class=\"NormalTextRun SCXW32040138 BCX0\">troubleshoot<\/span><span class=\"NormalTextRun SCXW32040138 BCX0\"> the issue<\/span><span class=\"NormalTextRun SCXW32040138 BCX0\">.<\/span><\/span><span class=\"LineBreakBlob BlobObject DragDrop SCXW32040138 BCX0\"><span class=\"SCXW32040138 BCX0\">\u00a0<\/span><br class=\"SCXW32040138 BCX0\" \/><\/span><span class=\"LineBreakBlob BlobObject DragDrop SCXW32040138 BCX0\"><span class=\"SCXW32040138 BCX0\"> <a href=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-21.09.48.png\"><img decoding=\"async\" class=\"wp-image-232143 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-21.09.48.png\" alt=\"Screenshot 2025 05 19 at 21 09 48 image\" width=\"836\" height=\"264\" srcset=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-21.09.48.png 2084w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-21.09.48-300x95.png 300w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-21.09.48-1024x323.png 1024w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-21.09.48-768x242.png 768w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-21.09.48-1536x485.png 1536w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-21.09.48-2048x647.png 2048w\" sizes=\"(max-width: 836px) 100vw, 836px\" \/><\/a><\/span><br class=\"SCXW32040138 BCX0\" \/><\/span><span class=\"TextRun SCXW32040138 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW32040138 BCX0\">After getting the confirmation from Lucy, GitHub Copilot <\/span><span class=\"NormalTextRun SCXW32040138 BCX0\">f<\/span><span class=\"NormalTextRun SCXW32040138 BCX0\">ixes <\/span><span class=\"NormalTextRun SCXW32040138 BCX0\">the issue and re-run the project, now Lucy can see the new icon took effects:<\/span><\/span><span class=\"LineBreakBlob BlobObject DragDrop SCXW32040138 BCX0\"><span class=\"SCXW32040138 BCX0\">\u00a0<\/span><br class=\"SCXW32040138 BCX0\" \/><\/span><\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-21.09.57.png\"><img decoding=\"async\" class=\"wp-image-232144 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-21.09.57.png\" alt=\"Screenshot 2025 05 19 at 21 09 57 image\" width=\"773\" height=\"183\" srcset=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-21.09.57.png 2122w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-21.09.57-300x71.png 300w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-21.09.57-1024x242.png 1024w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-21.09.57-768x182.png 768w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-21.09.57-1536x363.png 1536w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-21.09.57-2048x484.png 2048w\" sizes=\"(max-width: 773px) 100vw, 773px\" \/><\/a><\/p>\n<p><span class=\"TextRun SCXW260457940 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW260457940 BCX0\">After testing the updated UI via Agent Mode, Lucy uses MCP once again<\/span><span class=\"NormalTextRun SCXW260457940 BCX0\"> to send the PR<\/span><span class=\"NormalTextRun SCXW260457940 BCX0\">:<\/span><\/span><span class=\"EOP Selected SCXW260457940 BCX0\" data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-21.11.35.png\"><img decoding=\"async\" class=\"wp-image-232145 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-21.11.35.png\" alt=\"Screenshot 2025 05 19 at 21 11 35 image\" width=\"850\" height=\"364\" srcset=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-21.11.35.png 2114w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-21.11.35-300x129.png 300w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-21.11.35-1024x439.png 1024w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-21.11.35-768x329.png 768w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-21.11.35-1536x658.png 1536w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-21.11.35-2048x878.png 2048w\" sizes=\"(max-width: 850px) 100vw, 850px\" \/><\/a><\/p>\n<p><span class=\"NormalTextRun SCXW161319342 BCX0\">Done. The collaboration is <\/span><span class=\"NormalTextRun SCXW161319342 BCX0\">complete. Effortlessly<\/span><span class=\"NormalTextRun SCXW161319342 BCX0\"> orchestrated across tools and platforms with GitHub Copilot.<\/span><\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-21.12.02.png\"><img decoding=\"async\" class=\"wp-image-232146 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-21.12.02.png\" alt=\"Screenshot 2025 05 19 at 21 12 02 image\" width=\"844\" height=\"634\" srcset=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-21.12.02.png 1364w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-21.12.02-300x225.png 300w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-21.12.02-1024x769.png 1024w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/Screenshot-2025-05-19-at-21.12.02-768x577.png 768w\" sizes=\"(max-width: 844px) 100vw, 844px\" \/><\/a><\/p>\n<h3><b><span data-contrast=\"auto\">\ud83d\ude4c<\/span><\/b><b><span data-contrast=\"auto\"> Try It Yourself<\/span><\/b><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">The power of GitHub Copilot Agent Mode and Managed Code Projects (MCP) is now in your hands. Whether you&#8217;re a JetBrains pro like Adrian or an Eclipse power user like Lucy, you can streamline your development, collaborate more easily, and focus on what really matters\u2014building great software.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">\ud83d\udc49<\/span><span data-contrast=\"auto\"> Ready to get started? Enable Agent Mode and MCP in your <a href=\"https:\/\/plugins.jetbrains.com\/plugin\/17718-github-copilot\">JetBrains<\/a> or <a href=\"https:\/\/marketplace.eclipse.org\/content\/github-copilot\">Eclipse<\/a> today and start vibe coding with GitHub Copilot!<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">\u00a0<a href=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/JetBrains.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-232153\" src=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/JetBrains.png\" alt=\"JetBrains image\" width=\"65\" height=\"65\" srcset=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/JetBrains.png 65w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/JetBrains-24x24.png 24w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/JetBrains-48x48.png 48w\" sizes=\"(max-width: 65px) 100vw, 65px\" \/><\/a>Feedback Channel for JetBrains IDEs: <a href=\"https:\/\/github.com\/microsoft\/copilot-intellij-feedback\/issues\">https:\/\/github.com\/microsoft\/copilot-intellij-feedback\/issues<\/a>\nVideo demos: <a href=\"https:\/\/www.youtube.com\/watch?v=givppH8MVvQ\">Copilot Agent Mode is now available in JetBrains IDEs<\/a><\/span><\/p>\n<p>Official Doc: <a href=\"https:\/\/docs.github.com\/en\/copilot\/using-github-copilot\/copilot-chat\/asking-github-copilot-questions-in-your-ide?tool=jetbrains#copilot-edits-2\">Agent Mode<\/a> and <a href=\"https:\/\/docs.github.com\/en\/copilot\/customizing-copilot\/extending-copilot-chat-with-mcp?tool=jetbrains\">MCP<\/a><\/p>\n<p><span data-contrast=\"auto\"><a href=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/image-3.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-232154\" src=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/image-3.png\" alt=\"image 3 image\" width=\"72\" height=\"72\" srcset=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/image-3.png 72w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/image-3-24x24.png 24w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2025\/05\/image-3-48x48.png 48w\" sizes=\"(max-width: 72px) 100vw, 72px\" \/><\/a>Feedback Channel for Eclipse IDE: <a href=\"https:\/\/github.com\/microsoft\/copilot-eclipse-feedback\/issues\">https:\/\/github.com\/microsoft\/copilot-eclipse-feedback\/issues<\/a><\/span><\/p>\n<p>Official Doc: <a href=\"https:\/\/docs.github.com\/en\/copilot\/using-github-copilot\/copilot-chat\/asking-github-copilot-questions-in-your-ide?tool=eclipse#copilot-agent-mode-1\">Agent Mode <\/a>and <a href=\"https:\/\/docs.github.com\/en\/copilot\/customizing-copilot\/extending-copilot-chat-with-mcp?tool=eclipse\">MCP<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Today, we&#8217;re excited to announce that GitHub Copilot Agent Mode and MCP support are now in public preview for both JetBrains\u00a0and Eclipse! Whether you&#8217;re working in IntelliJ IDEA, PyCharm, WebStorm or Eclipse, you can now access Copilot\u2019s intelligent agent features and seamlessly manage your project workflows, all from within your IDE.\u00a0 In this post, we\u2019ll [&hellip;]<\/p>\n","protected":false},"author":97204,"featured_media":227205,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[829,833,803,1,834],"tags":[811,23,794,842],"class_list":["post-232127","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-copilot","category-eclipse","category-intelligent-apps","category-java","category-xcode","tag-copilot","tag-eclipse-jdt-language-server","tag-intellij","tag-mcp"],"acf":[],"blog_post_summary":"<p>Today, we&#8217;re excited to announce that GitHub Copilot Agent Mode and MCP support are now in public preview for both JetBrains\u00a0and Eclipse! Whether you&#8217;re working in IntelliJ IDEA, PyCharm, WebStorm or Eclipse, you can now access Copilot\u2019s intelligent agent features and seamlessly manage your project workflows, all from within your IDE.\u00a0 In this post, we\u2019ll [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/posts\/232127","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/users\/97204"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/comments?post=232127"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/posts\/232127\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/media\/227205"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/media?parent=232127"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/categories?post=232127"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/tags?post=232127"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}