اگر امروز میخواهید یک عامل هوش مصنوعی را به کدبیس خود متصل کنید، دیگر نیازی نیست هفتهها وقت خود را صرف نوشتن کدهای رابط (Glue Code) یا ساخت یک یکپارچهسازی سفارشی از صفر کنید. طبق مستندات فنی منتشر شده در ۹ سپتامبر ۲۰۲۶، گیتهاب (GitHub) با عرضه سرور رسمی پروتکل زمینه مدل (Model Context Protocol یا MCP) — که شبیه به یک مترجم جهانی است و اجازه میدهد مدلهای مختلف با زبان یکسانی با ابزارها حرف بزنند — دسترسی فوری به ۸۰ ابزار مختلف در ۲۰ مجموعه ابزار را فراهم کرده است.
این تحول در حالی رخ میدهد که صنعت به سمت استانداردسازی ارتباطات میان عامل و ابزار حرکت میکند. این رویکرد یادآور تلاشهای اخیر برای کاهش اصطکاک در جابهجایی میان مدلهاست، مشابه آنچه در سازگاری API دیپسیک با OpenAI مشاهده کردیم که هزینه تغییر مدلها را به صفر رساند. در حالی که ما پیشتر بررسی کردیم که چگونه HeyGen از حداقل فوتیج برای کلون کردن دوقلوهای دیجیتال استفاده میکند، مرز فعلی تکنولوژی بر سر نحوه تعامل عاملها با محیطهای نرمافزاری پیچیده است. پروتکل MCP تضمین میکند که هر کلاینت سازگار، فارغ از اینکه از چه مدل زبانی زیربنایی استفاده میکند، بتواند با یک سرور واحد ارتباط برقرار کند.
معماری سرور رسمی
یک سرور MCP در واقع برنامهای کوچک است که سه نوع المان پایه (Primitives) را از طریق یک استاندارد باز کلاینت-سرور در اختیار اپلیکیشنهای هوش مصنوعی قرار میدهد. هدف این است که اکوسیستم «یکبار بنویس، همهجا اجرا کن» شکل بگیرد؛ یعنی گیتهاب یک سرور مینویسد و کلاینتهایی مثل Claude، Copilot و Cursor بدون نیاز به کدنویسی مجدد و واسطههای سفارشی از آن استفاده میکنند.
سرور رسمی که در آدرس https://api.githubcopilot.com/mcp/ میزبانی میشود، نیاز توسعهدهندگان به مدیریت زیرساخت شخصی را حذف کرده است. این سرور سه قابلیت اصلی را ارائه میدهد:
- ابزارها (Tools): اکشنهای قابل فراخوانی توسط مدل، مانند
create_pull_requestیاlist_issues. - منابع (Resources): دادههای فقط-خواندنی که از طریق URI (مثل یک فایل یا رکورد) آدرسدهی میشوند و اپلیکیشن میتواند آنها را در پنجره زمینه (Context Window) — شبیه به میز کاری که مدل فقط مقدار محدودی از اسناد را همزمان روی آن میبیند — بارگذاری کند.
- پرامپتها (Prompts): قالبهای پارامتریک و قابل استفاده مجدد که معمولاً به صورت دستورات اسلش (Slash Commands) به کاربر نمایش داده میشوند.
برای کسانی که کنترل محلی را ترجیح میدهند، گیتهاب یک ایمیج داکر (ghcr.io/github/github-mcp-server) یا یک باینری Go ارائه داده است. نصب محلی نیازمند یک توکن دسترسی شخصی (GITHUB_PERSONAL_ACCESS_TOKEN) برای احراز هویت است، در حالی که نسخه میزبانیشده از جریان OAuth برای ورود راحتتر و بدون درگیری با توکنها پشتیبانی میکند. این سرور با آخرین مشخصات MCP (نسخه ۲۰۲۶-۰۷-۲۸) بهروز شده تا با میزبانهای دارای Load-balancer و کلاینتهای بدون وضعیت (Stateless) سازگار باشد.
نحوه ادغام در کلاینتهای مختلف
به گزارش گیتهاب، نحوه اتصال بسته به کلاینت متفاوت است. در VS Code (Copilot)، کاربران باید فایلی به نام .vscode/mcp.json ایجاد کنند. نکته حیاتی این است که کلید پیکربندی باید servers باشد و نه mcpServers. در نسخههای ۱.۱۰۱ به بعد، ویرایشگر از طریق مرورگر عملیات OAuth را انجام میدهد و دیگر نیازی به ذخیره توکن روی دیسک نیست. اگر کاربر همچنان ترجیح دهد از توکن استفاده کند، میتواند یک هدر (Header) و یک پرامپت ورودی به پیکربندی JSON اضافه کند.
کاربران Claude Code (CLI) میتوانند با یک دستور ساده و ارسال توکن در هدر، سرور را اضافه کنند: claude mcp add-json github '{"type":"http","url":"https://api.githubcopilot.com/mcp","headers":{"Authorization":"Bearer YOUR_GITHUB_PAT"}}'. به عنوان جایگزین، آنها میتوانند CLI را از طریق stdio به ایمیج داکر متصل کنند تا توکنها هرگز وارد شبکه نشوند؛ این کار با دستور claude mcp add و تعریف متغیر محیطی GITHUB_PERSONAL_ACCESS_TOKEN انجام میشود.
در Claude Desktop، تنظیمات در فایل claude_desktop_config.json انجام میشود. بسته به سیستمعامل، این فایل در مسیرهای زیر قرار دارد:
- در macOS:
~/Library/Application Support/Claude/ - در ویندوز:
%APPDATA%\Claude\ - در لینوکس:
~/.config/Claude/
برخلاف VS Code، کلاینت دسکتاپ از کلیدmcpServersبرای تعریف دستور داکر و متغیرهای محیطی استفاده میکند.
Cursor (نسخه ۰.۴۸ به بالا) از HTTP استریم پشتیبانی میکند و کاربران میتوانند با ویرایش فایل ~/.cursor/mcp.json و استفاده از URL میزبانیشده و یک Bearer token برای احراز هویت، به سرور متصل شوند.
روشهای احراز هویت
کاربران دو راه اصلی برای احراز هویت با سرور MCP گیتهاب دارند:
- OAuth: روش پیشنهادی برای سرورهای راه دور است. در این حالت، یک کلاینت سازگار جریان ورود را اجرا میکند، توکن در حافظه نگه داشته میشود و نیازی به ثبت اپلیکیشن در ابتدای کار نیست. این سادهسازی در تجربه کاربری، مشابه رویکرد AI Bridge در ثبتنام تککلیکی است که با حذف مراحل پیچیده، نرخ تبدیل کاربران را به شدت افزایش داد.
- Personal Access Token (PAT): توکنی که در مسیر
github.com/settings/tokensساخته میشود. برای یک سطح دسترسی منطقی و حداقلی، کاربران باید دسترسیrepoبرای عملیات مخزن،read:packagesبرای دریافت ایمیج داکر وread:orgبرای دسترسی به تیمها را اعطا کنند. راهنمای فنی توصیه میکند از توکنهای Fine-grained استفاده کنید که فقط به مخازن خاصی که تسک با آنها در ارتباط است محدود شدهاند و بهطور منظم چرخش (Rotation) شوند.
امنیت و محدودسازی دسترسی
دادن دسترسی نوشتن (Write) به یک عامل هوش مصنوعی ریسکهای امنیتی بزرگی را به همراه دارد. برای کاهش این خطر، سرور رسمی دو اهرم کنترلی اصلی ارائه میدهد:
۱. حالت فقط-خواندنی (Read-Only): کاربران میتوانند عبارت /readonly را به انتهای URL راه دور اضافه کنند (مثلاً https://api.githubcopilot.com/mcp/x/issues/readonly) یا هدر X-MCP-Readonly را ارسال کنند. برای نمونههای محلی، میتوان از متغیر محیطی GITHUB_READ_ONLY=1 یا فلگ --read-only استفاده کرد.
۲. محدود کردن مجموعهابزارها (Toolset Narrowing): بهجای باز کردن هر ۸۰ ابزار، کاربران میتوانند مجموعههای ابزار خاصی را هدف قرار دهند. در سرور راه دور، این کار با هدف قرار دادن مسیری مانند https://api.githubcopilot.com/mcp/x/{toolset} (مثلاً /x/issues) یا ارسال هدر X-MCP-Toolsets انجام میشود. در حالت محلی، از فلگ --toolsets یا متغیر محیطی GITHUB_TOOLSETS استفاده میشود.
قابلیتهای موجود
این سرور سطح دسترسی گستردهای در ۲۰ مجموعه ابزار فراهم میکند، از جمله:
- توسعه هسته:
repos(مخازن)،git(گیت)،pull_requests(درخواستهای ادغام)،issues(ایشوها) وlabels(برچسبها). - امنیت و کیفیت:
code_security(امنیت کد)،code_quality(کیفیت کد)،secret_protection(حفاظت از اسرار)،security_advisories(توصیههای امنیتی) وdependabot. - سازمانی و اجتماعی:
orgs(سازمانها)،users(کاربران)،stargazers(ستارهها)،discussions(بحثها) وnotifications(اعلانها). - مدیریت پروژه:
projects(پروژهها)،gists(گیستها)،copilotوcontext.
با این اتصال، عامل میتواند فایلها، شاخهها (Branches)، کامیتها، تگها و ریلیزها را مرور کند؛ ایشوها و زیر-ایشوها را دستهبندی نماید؛ Pull Requestها را بهطور خودکار ادغام کند و لاگهای اجرای Actions و Jobها را بخواند.
با اعمال اصل «حداقل دسترسی»، توسعهدهنده میتواند اتصالی بسازد که فقط ایشوها را بخواند و حتی اگر مدل توسط یک Pull Request مسموم (Poisoned) دستکاری شود، نتواند کدی را به صورت Force-push به شاخه اصلی ارسال کند.
چه زمانی سرور سفارشی بسازیم؟
از آنجایی که سرور رسمی تقریباً تمام سطوح گیتهاب را پوشش میدهد، ساخت سرور سفارشی برای گیتهاب معمولاً اتلاف وقت است. اما وقتی عامل نیاز دارد به APIهای داخلی، پایگاهدادههای خصوصی یا سرویسهای اختصاصی شرکت دسترسی داشته باشد، سرورهای سفارشی ضروری هستند.
گیتهاب برای این موارد SDKهای کوچکی ارائه داده است. یک سرور ساده با TypeScript و بسته modelcontextprotocol/server (نسخه فعلی v2) میتواند در چند خط کد، ابزاری را از طریق stdio با استفاده از McpServer و StdioServerTransport و همچنین zod/v4 برای طرحوارههای (Schemas) ورودی ارائه دهد.
به همین ترتیب، بسته پایتون mcp (نسخه ۲) اجازه ساخت سریع ابزارها و منابع را میدهد. توجه داشته باشید که نام این کلاس از FastMCP در نسخه ۱ به MCPServer تغییر یافته است. یک پیادهسازی پایتون میتواند ابزارها را با دکوراتور @mcp.tool() و منابع را از طریق @mcp.resource() (مانند یک URI به شکل greeting://{name}) تعریف کند.
این چرخش به سمت استاندارد «یکبار بنویس، همهجا استفاده کن» به این معناست که با پذیرش MCP توسط سرویسهای بیشتر، اصطکاک راهاندازی محیط عاملهای هوش مصنوعی به صفر نزدیک میشود. تمرکز از لولهکشی APIها به منطق واقعی وظایف عامل منتقل میشود.
برای تست پیادهسازیهای سفارشی پیش از استقرار، توسعهدهندگان میتوانند از MCP Inspector از طریق دستور uv run mcp dev server.py استفاده کنند که اجازه میدهد ابزارها را بهصورت ایزوله بررسی کنند و سپس آنها را به کلاینت متصل نمایند.
گام بعدی شما
- اگر از Cursor یا Claude Desktop استفاده میکنید، سرور رسمی گیتهاب را از طریق URL میزبانیشده فعال کنید تا سرعت مدیریت کدبیس خود را افزایش دهید.
- برای پروژههای حساس، حتماً از حالت
readonlyیا توکنهای Fine-grained استفاده کنید تا ریسک تغییرات ناخواسته توسط مدل کاهش یابد. - اگر ابزارهای داخلی خاصی در شرکت دارید، از SDK پایتون MCP برای تبدیل آنها به ابزارهای قابل فهم برای مدل استفاده کنید.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است — به تحلیل ما دربارهی تراشههای Blackwell مراجعه کنید.




گفتگو