# 🐙 Modul 4: Praktisk MCP-utveckling - Anpassad GitHub-klonserver ![Duration](https://img.shields.io/badge/Duration-30_minutes-blue?style=flat-square) ![Difficulty](https://img.shields.io/badge/Difficulty-Intermediate-orange?style=flat-square) ![MCP](https://img.shields.io/badge/MCP-Custom%20Server-purple?style=flat-square&logo=github) ![VS Code](https://img.shields.io/badge/VS%20Code-Integration-blue?style=flat-square&logo=visualstudiocode) ![GitHub Copilot](https://img.shields.io/badge/GitHub%20Copilot-Agent%20Mode-green?style=flat-square&logo=github) > **⚡ Kom igĂ„ng snabbt:** Bygg en produktionsklar MCP-server som automatiserar kloning av GitHub-repositorier och integrering med VS Code pĂ„ bara 30 minuter! ## 🎯 LĂ€randemĂ„l I slutet av denna lab kommer du att kunna: - ✅ Skapa en anpassad MCP-server för verkliga utvecklingsflöden - ✅ Implementera funktionalitet för kloning av GitHub-repositorier via MCP - ✅ Integrera anpassade MCP-servrar med VS Code och Agent Builder - ✅ AnvĂ€nda GitHub Copilot Agent Mode med anpassade MCP-verktyg - ✅ Testa och distribuera anpassade MCP-servrar i produktionsmiljöer ## 📋 Förkunskaper - Genomförda Labs 1-3 (MCP-grunder och avancerad utveckling) - Prenumeration pĂ„ GitHub Copilot ([gratis registrering finns](https://github.com/github-copilot/signup)) - VS Code med Microsoft Foundry Toolkit och GitHub Copilot extensioner - Git CLI installerat och konfigurerat ## đŸ—ïž Projektöversikt ### **Verkligt utvecklingsutmaning** Som utvecklare anvĂ€nder vi ofta GitHub för att klona repositorier och öppna dem i VS Code eller VS Code Insiders. Denna manuella process innebĂ€r: 1. Öppna terminal/kommandoprompt 2. Navigera till önskad mapp 3. Köra kommandot `git clone` 4. Öppna VS Code i den klonade katalogen **VĂ„r MCP-lösning förenklar detta till ett enda intelligent kommando!** ### **Vad du kommer att bygga** En **GitHub Clone MCP Server** (`git_mcp_server`) som erbjuder: | Funktion | Beskrivning | Fördel | |---------|-------------|---------| | 🔄 **Smart Repositoriekloning** | Klon GitHub-repos med validering | Automatisk felkontroll | | 📁 **Intelligent Kataloghantering** | Kontrollera och skapa mappar sĂ€kert | Förhindrar överskrivning | | 🚀 **TvĂ€rplattform VS Code-integration** | Öppna projekt i VS Code/Insiders | Smidig arbetsflödesövergĂ„ng | | đŸ›Ąïž **Robust Felhantering** | Hantera nĂ€tverk, behörighet och sökvĂ€gsproblem | Produktionsklar pĂ„litlighet | --- ## 📖 Steg-för-steg-implementering ### Steg 1: Skapa GitHub-agent i Agent Builder 1. **Starta Agent Builder** via Microsoft Foundry Toolkit extensionen 2. **Skapa en ny agent** med följande konfiguration: ``` Agent Name: GitHubAgent ``` 3. **Initiera anpassad MCP-server:** - GĂ„ till **Tools** → **Add Tool** → **MCP Server** - VĂ€lj **"Create A new MCP Server"** - VĂ€lj **Python-template** för maximal flexibilitet - **Servernamn:** `git_mcp_server` ### Steg 2: Konfigurera GitHub Copilot Agent Mode 1. **Öppna GitHub Copilot** i VS Code (Ctrl/Cmd + Shift + P → "GitHub Copilot: Open") 2. **VĂ€lj Agent Model** i Copilot-grĂ€nssnittet 3. **VĂ€lj Claude 3.7-modellen** för förbĂ€ttrade resonemangsförmĂ„gor 4. **Aktivera MCP-integrering** för verktygsĂ„tkomst > **💡 Proffstips:** Claude 3.7 ger överlĂ€gsen förstĂ„else för utvecklingsflöden och felhanteringsmönster. ### Steg 3: Implementera kĂ€rnfunktionaliteten i MCP-servern **AnvĂ€nd följande detaljerade prompt med GitHub Copilot Agent Mode:** ``` Create two MCP tools with the following comprehensive requirements: 🔧 TOOL A: clone_repository Requirements: - Clone any GitHub repository to a specified local folder - Return the absolute path of the successfully cloned project - Implement comprehensive validation: ✓ Check if target directory already exists (return error if exists) ✓ Validate GitHub URL format (https://github.com/user/repo) ✓ Verify git command availability (prompt installation if missing) ✓ Handle network connectivity issues ✓ Provide clear error messages for all failure scenarios 🚀 TOOL B: open_in_vscode Requirements: - Open specified folder in VS Code or VS Code Insiders - Cross-platform compatibility (Windows/Linux/macOS) - Use direct application launch (not terminal commands) - Auto-detect available VS Code installations - Handle cases where VS Code is not installed - Provide user-friendly error messages Additional Requirements: - Follow MCP 1.9.3 best practices - Include proper type hints and documentation - Implement logging for debugging purposes - Add input validation for all parameters - Include comprehensive error handling ``` ### Steg 4: Testa din MCP-server #### 4a. Testa i Agent Builder 1. **Starta felsökningskonfigurationen** för Agent Builder 2. **Konfigurera din agent med denna systemprompt:** ``` SYSTEM_PROMPT: You are my intelligent coding repository assistant. You help developers efficiently clone GitHub repositories and set up their development environment. Always provide clear feedback about operations and handle errors gracefully. ``` 3. **Testa med realistiska anvĂ€ndarscenarier:** ``` USER_PROMPT EXAMPLES: Scenario : Basic Clone and Open "Clone {Your GitHub Repo link such as https://github.com/kinfey/GHCAgentWorkshop } and save to {The global path you specify}, then open it with VS Code Insiders" ``` ![Agent Builder Testing](../../../../translated_images/sv/DebugAgent.81d152370c503241.webp) **FörvĂ€ntade resultat:** - ✅ Lyckad kloning med sökvĂ€gsbekrĂ€ftelse - ✅ Automatisk uppstart av VS Code - ✅ Tydliga felmeddelanden vid ogiltiga scenarier - ✅ Korrekt hantering av kantfall #### 4b. Testa i MCP Inspector ![MCP Inspector Testing](../../../../translated_images/sv/DebugInspector.eb5c95f94c69a8ba.webp) --- **🎉 Grattis!** Du har framgĂ„ngsrikt skapat en praktisk, produktionsklar MCP-server som löser verkliga utvecklingsflödesutmaningar. Din anpassade GitHub-klonserver visar kraften i MCP för att automatisera och förbĂ€ttra utvecklarproduktiviteten. ### 🏆 UppnĂ„endet uppnĂ„tt: - ✅ **MCP-utvecklare** - Skapade anpassad MCP-server - ✅ **Automatiseringsspecialist för arbetsflöden** - Strömlinjeformade utvecklingsprocesser - ✅ **Integrationsexpert** - Kopplade samman flera utvecklingsverktyg - ✅ **Produktionsklar** - Byggde distribuerbara lösningar --- ## 🎓 Workshopavslutning: Din resa med Model Context Protocol **KĂ€ra workshopdeltagare,** Grattis till att ha genomfört alla fyra moduler av Model Context Protocol-workshopen! Du har kommit lĂ„ngt frĂ„n att förstĂ„ grundlĂ€ggande Microsoft Foundry Toolkit-koncept till att bygga produktionsklara MCP-servrar som löser verkliga utvecklingsutmaningar. ### 🚀 Din lĂ€randeresa i korthet: **[Modul 1](../lab1/README.md)**: Du började med att utforska grunderna i Microsoft Foundry Toolkit, modelltestning och skapandet av din första AI-agent. **[Modul 2](../lab2/README.md)**: Du lĂ€rde dig MCP-arkitektur, integrerade Playwright MCP och byggde din första agent för webblĂ€sarautomatisering. **[Modul 3](../lab3/README.md)**: Du avancerade till utveckling av anpassade MCP-servrar med Weather MCP-servern och bemĂ€strade felsökningsverktyg. **[Modul 4](../lab4/README.md)**: Du har nu tillĂ€mpat allt för att skapa ett praktiskt verktyg för automatisering av GitHub-repositoriearbetsflöden. ### 🌟 Vad du har bemĂ€strat: - ✅ **Microsoft Foundry Toolkit-ekosystemet**: Modeller, agenter och integrationsmönster - ✅ **MCP-arkitektur**: Klient-serverdesign, transportprotokoll och sĂ€kerhet - ✅ **Utvecklarverktyg**: FrĂ„n Playground till Inspector till produktionsdistribution - ✅ **Anpassad utveckling**: Bygga, testa och distribuera egna MCP-servrar - ✅ **Praktiska applikationer**: Lösa verkliga arbetsflödesutmaningar med AI ### 🔼 Dina nĂ€sta steg: 1. **Bygg din egen MCP-server**: TillĂ€mpa dessa fĂ€rdigheter för att automatisera dina unika arbetsflöden 2. **GĂ„ med i MCP-gemenskapen**: Dela dina skapelser och lĂ€r av andra 3. **Utforska avancerad integration**: Koppla MCP-servrar till företagsystem 4. **Bidra till öppen kĂ€llkod**: HjĂ€lp till att förbĂ€ttra MCP-verktyg och dokumentation Kom ihĂ„g, denna workshop Ă€r bara början. Model Context Protocol-ekosystemet utvecklas snabbt, och du Ă€r nu rustad för att vara i framkant för AI-drivna utvecklingsverktyg. **Tack för din medverkan och ditt engagemang i lĂ€randet!** Vi hoppas denna workshop har vĂ€ckt idĂ©er som kommer att förĂ€ndra hur du bygger och interagerar med AI-verktyg i din utvecklingsresa. **Lycka till med kodandet!** --- ## Vad hĂ€nder hĂ€rnĂ€st Grattis till att ha avslutat alla labs i Modul 10! - Tillbaka till: [Modul 10 Översikt](../README.md) - FortsĂ€tt till: [Modul 11: MCP Server Hands-On Labs](../../11-MCPServerHandsOnLabs/README.md) --- **Ansvarsfriskrivning**: Detta dokument har översatts med hjĂ€lp av AI-översĂ€ttningstjĂ€nsten [Co-op Translator](https://github.com/Azure/co-op-translator). Även om vi strĂ€var efter noggrannhet, var vĂ€nlig notera att automatiska översĂ€ttningar kan innehĂ„lla fel eller brister. Det ursprungliga dokumentet pĂ„ dess modersmĂ„l bör betraktas som den auktoritativa kĂ€llan. För kritisk information rekommenderas professionell mĂ€nsklig översĂ€ttning. Vi ansvarar inte för nĂ„gra missförstĂ„nd eller feltolkningar som uppstĂ„r till följd av anvĂ€ndningen av denna översĂ€ttning.