在VS Code當中使用 Azure DevOps MCP Server

來看看這張圖發生了什麼事情?
圖片
沒錯,我們正在VS Code當中,使用 GitHub Copilot Agent Mode,透過自然語言的方式,查詢Azure DevOps中的工作項(WorkItems)。

其實,不僅僅可以查詢,也可以檢視細節、甚至新增、修改。範圍也不只有 WorkItems ,還包含 Pipeline 的觸發、PR的建立或PR Comment的新增…等,全部都可以透過自然語言來進行。

而這些,全都拜MCP所賜。

關於MCP

你大概聽說過 MCP,它是 Anthropic 提出的一套開放式標準協議(Model Context Protocol),旨在讓大型語言模型(LLMs)可以安全、模組化、可擴充地存取外部工具和資料來源。

簡單來說,你可以把 MCP 想像成 AI 世界中自然語言對談機器人對外的接口,像是我們寫程式的時候,可以透過 API 來串接外部系統,MCP 就是大語言模型對外「運行指令與資料交換」的標準協議

不同的是,傳統 API 是設計給開發者來用的,強調結構化資料、明確定義與嚴謹的格式;但 MCP 是設計給大語言模型用的,它理解自然語言、懂語意、會參考上下文。MCP 的設計讓模型能夠和用戶在以「對話的方式」溝通時,依照用戶的命令與外部系統互動,但底層其實還是透過 function calling 的概念與結構化的 JSON 交換資料,只是這一切都被封裝得更自然、更貼近人類使用者的自然語言。

如同上面你看到的,大語言模型透過 MCP,可以自動呼叫 Azure DevOps 系統的API,查詢資料、比對欄位、下指令修改狀態,整個流程就像是你請了一位懂 DevOps、又能聽懂人話的數位助理。

底下是新增一個 bug 單的例子:
圖片

這正是 MCP 的魔力:讓大語言模型從資訊生成者,進化為任務執行者。這背後不只是一個協議,而是未來開發體驗的轉變。未來開發者不再只寫程式,而是設計如何與 AI 協作;工作流程不再只是「使用工具」,而是「與工具對話」。

如何實現?

作法比想像的簡單超級多,由於最新版的 VS Code 和 GitHub Copilot 已經支援 MCP,所以你只需要確認你是在 Agent Mode(下圖一),然後在專案工作區的 .vscode 資料夾中,置入一個 mcp.json 檔案(檔案內容待會解釋):
圖片

接著 GitHub Copilot Agent 就會發現這個 MCP Server 的定義(上圖三),然後就自動運行起來了。(上圖四)

至於該檔案 mcp.json 的描述是什麼呢? 格式如下:

{
  "servers": {
    "azure-devops": {
      "command": "npx",
      "args": ["-y", "@tiberriver256/mcp-server-azure-devops"],
      "env": {
        "AZURE_DEVOPS_ORG_URL": "https://dev.azure.com/your__Server",
        "AZURE_DEVOPS_AUTH_METHOD": "pat",
        "AZURE_DEVOPS_PAT": "_________PAT_______",
        "AZURE_DEVOPS_DEFAULT_PROJECT": "test20250522"
      }
    }
  }
}

主要是描述我們要如何運行起一個MCP Server,例如上面這段 mcp.json,描述的是我們透過 npx 來運行一個套件,該套件(@tiberriver256/mcp-server-azure-devops)是一個開源的 azure devops mcp server,只需要提供底下參數(env)區段,它就會自動幫你串接到你的 Azure DevOps Services Project。

其中參數意義如下:
“AZURE_DEVOPS_ORG_URL”: “https://dev.azure.com/your__Server” 👈你的Azure DevOps Services 組織位置
AZURE_DEVOPS_AUTH_METHOD": “pat” 👈 驗證模式(採 personal access token)
AZURE_DEVOPS_PAT": “PAT”, 👈這邊你要給權限夠大的 personal access token
AZURE_DEVOPS_DEFAULT_PROJECT": “test20250522” 👈預設專案名稱

如此一來,以後當你在 GitHub Copilot 的 Agent Mode中說:
圖片

就會看到 Copilot 回應:
圖片
由於會進行外部呼叫,所以Agent會請你確認,按下『繼續』之後:
圖片

你會發現bug單就被建立完成了。
有沒有,酷斃了!

現在,你知道我們已經可以利用 Github Copilot Agent 與 Azure DevOps 透過自然語言來進行互動了,那接著,你最想做的會是怎樣的整合呢?

下一篇我再告訴你我最想做的自動化是什麼…


相關課程:

敏捷開發專案管理與Azure DevOps實戰
https://www.studyhost.tw/NewCourses/ALM

LINE Bot與人工智慧實戰
https://www.studyhost.tw/NewCourses/LineBot

留言

這個網誌中的熱門文章

原來使用 .net 寫個 MCP Server 如此簡單

使用LM Studio輕鬆在本地端以API呼叫大語言模型(LLM)

開啟 teams 中的『會議轉錄(謄寫)』與Copilot會議記錄、摘要功能

原來使用 .net 寫個 MCP Client 也如此簡單