مقدمه
ابزارهای هوش مصنوعی (AI) به سرعت در حال تغییر روشهای کدنویسی هستند. یکی از این نوآوریها، پروتکل زمینه مدل (Model Context Protocol یا MCP) است که امکان اتصال مدلهای زبانی بزرگ (LLMs) به ابزارها و سرویسهای خارجی را فراهم میکند. این ابزار به شما امکان میدهد از قابلیتهای GitHub Copilot در کنار دسترسی به مخازن (Repositories) و ابزارهای GitHub بهرهمند شوید، همه در محیطی که برای پروژههای .NET بهینه شده است.
پروتکل MCP چیست و چرا برای توسعهدهندگان .NET مهم است؟
پروتکل زمینه مدل (MCP) یک استاندارد باز است که توسط شرکتهایی مانند Anthropic توسعه یافته و هدف آن ایجاد یک رابط یکپارچه بین مدلهای هوش مصنوعی و منابع خارجی مانند فایلها، پایگاه دادهها یا APIها است. این پروتکل به توسعهدهندگان اجازه میدهد تا ابزارهای سفارشی را به دستیارهای کدنویسی مبتنی بر هوش مصنوعی، مانند GitHub Copilot، متصل کنند. برای توسعهدهندگان .NET، این به معنای دسترسی به قابلیتهایی فراتر از پیشنهاد کدها است؛ از جمله خودکارسازی مدیریت مخازن، تعامل با APIهای GitHub و حتی ادغام با ابزارهای خاص اکوسیستم .NET مانند MSBuild یا NuGet.
یکی از مزیتهای اصلی MCP، انعطافپذیری آن است. شما میتوانید سرورهای MCP را بهصورت محلی یا از راه دور اجرا کنید و ابزارهایی را که دقیقاً با نیازهای پروژههایتان همراستا هستند، اضافه کنید. این قابلیت بهویژه در پروژههای پیچیده .NET که شامل چندین سرویس، کتابخانه و وابستگی است، مفید خواهد بود.
نصب و راهاندازی سرور MCP GitHub
برای شروع، باید سرور MCP GitHub را در محیط VS Code نصب کنیم. این فرآیند به نسخه Insiders یا Stable از VS Code نیاز دارد که از MCP پشتیبانی کند (از مارس 2025، این قابلیت به نسخه پایدار نیز اضافه شده است). مراحل زیر شما را راهنمایی میکند:
- پیشنیازها:
- نصب VS Code (ترجیحاً آخرین نسخه).
- نصب Docker (برای اجرای سرور در یک کانتینر) یا Go (برای ساخت دستی).
- یک توکن دسترسی شخصی GitHub (Personal Access Token) برای احراز هویت.
- نصب سرور MCP GitHub: اگر از Docker استفاده میکنید، میتوانید سرور را با دستور زیر اجرا کنید:
docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN=<YOUR_TOKEN> ghcr.io/github/github-mcp-server
در اینجا، <YOUR_TOKEN> باید با توکن GitHub شما جایگزین شود. این توکن باید دسترسیهایی مانند مدیریت مخازن (repo) و مسائل (issues) را داشته باشد تا عملکرد کامل سرور تضمین شود.
- پیکربندی در VS Code: پس از اجرای سرور، باید آن را به VS Code متصل کنید. این کار از طریق فایل تنظیمات settings.json انجام میشود. به تنظیمات VS Code بروید (File > Preferences > Settings)، سپس "Edit in settings.json" را انتخاب کنید و کد زیر را اضافه کنید:
{
"mcp": {
"servers": {
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN=<YOUR_TOKEN>",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
}
}
}
}
}این تنظیمات، سرور MCP را بهصورت محلی با استفاده از Docker اجرا میکند و آن را به GitHub Copilot متصل میکند.
استفاده از سرور MCP در پروژههای .NET
پس از نصب، سرور MCP GitHub ابزارهایی مانند مدیریت مخازن، ایجاد درخواستهای pull و جستجوی کد را در اختیار شما قرار میدهد. برای توسعهدهندگان .NET، این قابلیتها میتوانند بهصورت زیر در پروژهها استفاده شوند:
- ایجاد درخواست pull خودکار: فرض کنید در حال کار بر روی یک پروژه ASP.NET Core هستید و میخواهید تغییرات خود را به یک شاخه جدید در GitHub ارسال کنید. میتوانید از GitHub Copilot در حالت Agent Mode استفاده کنید و درخواستی مانند این را مطرح کنید:
Create a pull request for my recent changes in the "feature-authentication" branch.
سرور MCP این درخواست را پردازش کرده، تغییرات را شناسایی میکند و یک درخواست کشش در مخزن شما ایجاد میکند.
- جستجوی کد در مخزن: اگر در یک راهحل (Solution) بزرگ .NET با چندین پروژه کار میکنید، میتوانید از ابزار جستجوی سرور MCP برای یافتن کد استفاده کنید. بهعنوان مثال:
Find all methods in my repository that use HttpClient in the .NET project.
این قابلیت به شما کمک میکند تا بهسرعت کدهای مرتبط را پیدا کرده و در صورت نیاز تغییراتی اعمال کنید.
- ادغام با ابزارهای .NET: شما میتوانید سرور MCP را با ابزارهای خاص .NET گسترش دهید. بهعنوان مثال، یک ابزار سفارشی برای اجرای دستورات MSBuild یا مدیریت بستههای NuGet بنویسید و آن را به سرور اضافه کنید. این کار از طریق SDK رسمی MCP (در دسترس برای TypeScript و Python) امکانپذیر است.
بهینهسازی و عیبیابی
اگر با خطاهایی مواجه شدید، میتوانید از گزینه "Show Output" در VS Code برای مشاهده لاگهای سرور استفاده کنید. به Command Palette بروید (Ctrl+Shift+P)، سپس "MCP: List Servers" را انتخاب کنید، سرور خود را پیدا کرده و لاگها را بررسی کنید. همچنین، از قرار دادن اطلاعات حساس مانند توکنها در فایلهای قابل اشتراکگذاری خودداری کنید و بهجای آن از متغیرهای محیطی (Environment Variables) استفاده کنید.
برای بهینهسازی، مطمئن شوید که سرور بهدرستی با نیازهای پروژه شما همراستا است. بهعنوان مثال، اگر فقط به مدیریت مخازن نیاز دارید، دسترسیهای توکن را محدود کنید تا امنیت بیشتری داشته باشید.
گسترش قابلیتها برای .NET
توسعهدهندگان .NET میتوانند سرورهای MCP سفارشی را برای نیازهای خاص خود ایجاد کنند. بهعنوان مثال، یک سرور MCP که با Azure DevOps یا SQL Server ادغام میشود، میتواند وظایف پیچیده مانند تولید خودکار اسکریپتهای دیتابیس یا مدیریت ساخت (Build) را ساده کند. این کار نیازمند استفاده از SDK MCP و نوشتن ابزارهایی است که با APIهای مربوطه تعامل دارند.
نتیجهگیری
یکپارچهسازی سرور MCP GitHub در VS Code، ابزاری قدرتمند برای توسعهدهندگان .NET فراهم میکند که بهرهوری را افزایش داده و وظایف تکراری را خودکار میکند. این فناوری با ترکیب قابلیتهای هوش مصنوعی GitHub Copilot و دسترسی به ابزارهای GitHub، به شما امکان میدهد تا پروژههای پیچیدهتر را با کارایی بیشتری مدیریت کنید.