# visual studio 搭配 github coiplot 使用 mcp <span style="color:red;"> ※ visual studio 版本必須是 17.14 以上 ※ 必須有 github 帳號搭配 Copilot 存取登入 Visual Studio</span> [在 Visual Studio 中使用 MCP 伺服器 (官網)](https://learn.microsoft.com/zh-tw/visualstudio/ide/mcp-servers?view=vs-2022) ## 設定 Personal Access Token 1. 登入 github 後進入 https://github.com/settings/tokens 2. 在左側邊欄中,找到 Personal access tokens,選擇 Tonkens (classic)。 點擊 Generate new token,選擇 Generate new token (classic) ![image](https://hackmd.io/_uploads/rkDAn-C-gl.png) 3. 輸入 token 名稱與選擇期限 ![image](https://hackmd.io/_uploads/SyyS4MAWlx.png) 4. 設定權限 ![image](https://hackmd.io/_uploads/SyrAmfAbgg.png) 5. 點擊 Generate token 建立 token<span style="color:red"> ※ token 複製到自己記得的地方保存好,這個頁面重新整理後 token 不會再顯示 ※ 過期或遺失請重新建立 token</span> ![image](https://hackmd.io/_uploads/H1hu8M0-ge.png) ## 設定 visual studio 1. 建立 visual studio 全域 mcp 設定檔 ``` %USERPROFILE%\.mcp.json ``` 官網給的預設內容貼到建立的 .mcp.json ``` json { "inputs": [ { "id": "github_pat", "description": "GitHub personal access token", "type": "promptString", "password": true } ], "servers": { "github": { "type": "stdio", "command": "docker", "args": [ "run", "-i", "--rm", "-e", "GITHUB_PERSONAL_ACCESS_TOKEN", "ghcr.io/github/github-mcp-server" ], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_pat}" } } } } ``` 2. 開啟 visual studio => 工具 => 選項 => GitHub => Copilot => 勾選 "在聊天窗格中啟用代理程式模式" ![image](https://hackmd.io/_uploads/HkZDYQT8gg.png) 3. 點擊 GitHub Copilot Chat 視窗中的 詢問(Ask) 下拉選單,然後選取 代理程式(Agent)。 ![image](https://hackmd.io/_uploads/HJnqfQAZlx.png) 4. 輸入前面設定的 personal access token ![image](https://hackmd.io/_uploads/BJnBmX0-ge.png) ## 使用 FileSystem MCP Server 測試 加入 [fileSystem mcp server](https://github.com/modelcontextprotocol/servers/tree/main/src/filesystem) <span style="color:red;">※ 必須加入 ``` "type": "stdio" ``` GitHub Copilot 才能正確取用</span> ``` json "filesystem": { "type": "stdio", "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-filesystem", "/Users/username/Desktop", "/path/to/other/allowed/dir" ] } ``` ![image](https://hackmd.io/_uploads/B14dUm0-xl.png) 已設定的 mcp 工具 ![image](https://hackmd.io/_uploads/rJj2DmA-ll.png) 使用 filesystem mcp 工具 ![image](https://hackmd.io/_uploads/r1i4HXC-ee.png) 執行結果 ![image](https://hackmd.io/_uploads/B1pw3m0Wgx.png)