MCP چیست؟ اتصال هوش مصنوعی به ابزارها و دادهها
مقدمه: چرا هوش مصنوعی به MCP نیاز دارد؟
هوش مصنوعی در چند سال اخیر پیشرفت چشمگیری داشته است. مدلهایی مانند GPT، Claude و Gemini میتوانند متن تولید کنند، کد بنویسند، اطلاعات را تحلیل کنند و به بسیاری از پرسشهای پیچیده پاسخ دهند. اما یک محدودیت مهم همچنان وجود دارد: مدل هوش مصنوعی بهصورت پیشفرض به تمام اطلاعات، ابزارها و سیستمهای خارجی دسترسی ندارد.
برای مثال تصور کنید از یک دستیار هوش مصنوعی بخواهید:
- موجودی یک محصول را در فروشگاه اینترنتی بررسی کند.
- اطلاعات مشتریان را از سیستم CRM دریافت کند.
- یک سفارش جدید در فروشگاه ثبت کند.
- اطلاعات یک پایگاه داده را تحلیل کند.
- فایلهای موجود در کامپیوتر را جستجو کند.
- یک جلسه در تقویم ایجاد کند.
مدل زبانی بهتنهایی نمیتواند تمام این کارها را انجام دهد. برای انجام چنین فعالیتهایی باید به سرویسها، ابزارها و منابع اطلاعاتی مختلف متصل شود.
در گذشته توسعهدهندگان برای هر مدل هوش مصنوعی و هر سرویس خارجی، یکپارچهسازی اختصاصی طراحی میکردند. این موضوع باعث افزایش پیچیدگی، هزینه توسعه و دشواری نگهداری سیستمها میشد.
اینجاست که MCP یا Model Context Protocol اهمیت پیدا میکند.
MCP یک پروتکل استاندارد و متنباز برای اتصال برنامههای هوش مصنوعی به ابزارها، دادهها و سرویسهای خارجی است. این پروتکل به توسعهدهندگان کمک میکند بدون طراحی یکپارچهسازی اختصاصی برای هر ترکیب از مدل و ابزار، ارتباطی ساختاریافته و قابل استفاده مجدد ایجاد کنند.
در این مقاله بررسی میکنیم MCP چیست، چگونه کار میکند، چه تفاوتی با Function Calling دارد و چرا میتواند یکی از زیرساختهای مهم نسل جدید دستیارهای هوشمند باشد.
MCP چیست؟ (Model Context Protocol)
MCP مخفف Model Context Protocol و به معنی پروتکل زمینه مدل است.
این استاندارد برای ایجاد یک روش مشترک ارتباطی میان برنامههای هوش مصنوعی و منابع خارجی طراحی شده است.
به زبان ساده، MCP مانند یک رابط استاندارد عمل میکند که به هوش مصنوعی اجازه میدهد از طریق آن با ابزارها و اطلاعات مختلف تعامل داشته باشد.
برای درک بهتر، یک مثال ساده در نظر بگیرید.
فرض کنید یک فروشگاه اینترنتی با WooCommerce دارید و میخواهید یک دستیار هوش مصنوعی بسازید که بتواند:
- محصولات فروشگاه را جستجو کند.
- قیمت و موجودی محصولات را بررسی کند.
- مشخصات چند محصول را مقایسه کند.
- سفارشهای مشتری را بررسی کند.
- اطلاعات محصولات جدید را دریافت کند.
بدون یک پروتکل استاندارد، باید برای اتصال دستیار به هر بخش از فروشگاه، روش ارتباطی اختصاصی طراحی کنید.
اما با MCP میتوانید یک MCP Server ایجاد کنید که قابلیتهای فروشگاه را در قالب ابزارها و منابع استاندارد در اختیار برنامه هوش مصنوعی قرار دهد.
در نتیجه، هر MCP Client سازگار میتواند با رعایت مجوزها و محدودیتهای دسترسی، از قابلیتهای ارائهشده توسط این سرور استفاده کند.
نکته مهم این است که MCP خودش یک مدل هوش مصنوعی نیست. همچنین وظیفه تولید پاسخ یا تصمیمگیری هوشمند را بر عهده ندارد. MCP فقط استاندارد ارتباط و تبادل اطلاعات میان اجزای مختلف سیستم را تعریف میکند.
معماری MCP چگونه کار میکند؟
معماری MCP بر اساس مدل Client-Server طراحی شده است. در این معماری سه بخش اصلی وجود دارد:
۱. MCP Host
Host همان برنامهای است که کاربر از طریق آن با هوش مصنوعی تعامل میکند.
برای مثال:
- Claude Desktop
- محیطهای توسعه مجهز به هوش مصنوعی
- دستیارهای هوشمند سازمانی
- اپلیکیشنهای مبتنی بر مدلهای زبانی
Host مسئول مدیریت تعامل با کاربر، مدل هوش مصنوعی و ارتباط با MCP Clientها است.
۲. MCP Client
Client بخشی از برنامه Host است که ارتباط با یک MCP Server مشخص را مدیریت میکند.
هر Client میتواند به یک سرور متصل شود و قابلیتهای آن را شناسایی و استفاده کند.
برای مثال، یک دستیار هوشمند میتواند چند Client داشته باشد:
- یک Client برای اتصال به GitHub
- یک Client برای دسترسی به پایگاه داده
- یک Client برای اتصال به فایلهای محلی
- یک Client برای ارتباط با فروشگاه اینترنتی
۳. MCP Server
Server بخشی است که قابلیتها و دادههای یک سرویس خارجی را از طریق MCP در اختیار Client قرار میدهد.
برای مثال یک MCP Server مخصوص WooCommerce میتواند امکانات زیر را ارائه دهد:
- جستجوی محصولات
- دریافت جزئیات محصول
- بررسی موجودی
- مشاهده سفارشها
- دریافت اطلاعات مشتریان با مجوز مناسب
- ایجاد یا بهروزرسانی سفارش در صورت مجاز بودن
سرور میتواند به پایگاه داده، API یا سیستمهای داخلی متصل شود و اطلاعات موردنیاز را در قالب استاندارد MCP ارائه کند.
یک مثال از معماری MCP
فرض کنید کاربر از یک دستیار هوشمند میپرسد:
«ارزانترین لپتاپ مناسب برنامهنویسی با حداقل ۱۶ گیگابایت رم را در فروشگاه پیدا کن.»
فرآیند به این شکل انجام میشود:
- کاربر درخواست خود را به Host ارسال میکند.
- مدل هوش مصنوعی تشخیص میدهد که برای پاسخ دقیق به اطلاعات فروشگاه نیاز دارد.
- MCP Client قابلیتهای سرور فروشگاه را بررسی میکند.
- ابزار جستجوی محصولات از MCP Server فراخوانی میشود.
- سرور اطلاعات محصولات مرتبط را از WooCommerce دریافت میکند.
- نتایج به Client بازگردانده میشوند.
- مدل هوش مصنوعی اطلاعات دریافتی را تحلیل و محصولات مناسب را معرفی میکند.
در این فرآیند، مدل بهجای حدس زدن اطلاعات، از دادههای واقعی فروشگاه استفاده میکند.
سه قابلیت اصلی MCP: Tools، Resources و Prompts
یکی از مهمترین بخشهای MCP، سه مفهوم اصلی آن است که هرکدام وظیفه متفاوتی دارند.
۱. Tools؛ ابزارهایی برای انجام عملیات
Tools به مدل هوش مصنوعی اجازه میدهند عملیات مشخصی را روی سیستمهای خارجی اجرا کند.
برای مثال:
- جستجوی یک محصول
- ارسال ایمیل
- ثبت سفارش
- اجرای یک Query روی پایگاه داده
- ایجاد فایل
- دریافت اطلاعات آبوهوا
هر Tool دارای نام، توضیحات و ساختار ورودی مشخص است.
برای نمونه، یک ابزار جستجوی محصول ممکن است چنین ورودیهایی داشته باشد:
{
"name": "search_products",
"arguments": {
"query": "لپ تاپ مناسب برنامه نویسی",
"min_ram": 16,
"max_price": 50000000
}
}
مدل میتواند بر اساس درخواست کاربر تصمیم بگیرد که چه زمانی از این ابزار استفاده کند و چه پارامترهایی را به آن ارسال کند.
البته اجرای ابزارهای حساس باید تحت کنترل مجوزها و سیاستهای امنیتی برنامه باشد.
۲. Resources؛ دسترسی به اطلاعات و دادهها
Resources برای ارائه اطلاعات و محتوای قابل استفاده در اختیار برنامه هوش مصنوعی طراحی شدهاند.
برخلاف Tools که معمولاً عملیاتی را اجرا میکنند، Resources بیشتر برای دسترسی به دادهها و اطلاعات کاربرد دارند.
برای مثال:
- مستندات یک پروژه
- ساختار پایگاه داده
- اطلاعات محصولات
- فایلهای متنی
- گزارشهای سازمانی
- اطلاعات تنظیمات یک سیستم
فرض کنید یک MCP Server به یک پایگاه داده متصل است. این سرور میتواند ساختار جداول و اطلاعات موردنیاز را بهصورت Resource در اختیار Client قرار دهد.
به این ترتیب مدل میتواند با شناخت بهتر ساختار دادهها، درخواستهای دقیقتری ایجاد کند.
۳. Prompts؛ قالبهای آماده تعامل با هوش مصنوعی
Prompts امکان ارائه الگوهای آماده و قابل استفاده مجدد برای تعامل با مدل را فراهم میکنند.
برای مثال یک MCP Server مربوط به تحلیل فروش میتواند Promptهایی مانند موارد زیر ارائه دهد:
- تحلیل عملکرد فروش ماهانه
- شناسایی محصولات کمفروش
- مقایسه فروش دستهبندیها
- تهیه گزارش موجودی انبار
این قابلیت کمک میکند الگوهای تعامل با هوش مصنوعی به شکل ساختاریافته و یکپارچه مدیریت شوند.
تفاوت MCP با Function Calling چیست؟
یکی از سؤالات رایج توسعهدهندگان این است که MCP چه تفاوتی با Function Calling دارد.
این دو مفهوم به یکدیگر مرتبط هستند، اما وظیفه یکسانی ندارند.
Function Calling قابلیتی است که به مدل هوش مصنوعی اجازه میدهد یک تابع تعریفشده را با پارامترهای مشخص فراخوانی کند.
برای مثال، شما تابعی به نام get_product_price تعریف میکنید و مدل در صورت نیاز، آن را با شناسه محصول اجرا میکند.
اما MCP یک پروتکل ارتباطی استاندارد برای ارائه و کشف ابزارها و منابع است.
به بیان دیگر:
- Function Calling مشخص میکند مدل چگونه یک تابع را فراخوانی کند.
- MCP مشخص میکند ابزارها و منابع چگونه بهشکل استاندارد در اختیار برنامههای هوش مصنوعی قرار بگیرند.
| ویژگی | Function Calling | MCP |
|---|---|---|
| هدف اصلی | فراخوانی توابع | استانداردسازی ارتباط |
| کشف ابزارها | معمولاً توسط برنامه | از طریق پروتکل |
| منابع اطلاعاتی | نیازمند پیادهسازی جداگانه | پشتیبانی ساختاریافته |
| قالبهای Prompt | وابسته به برنامه | پشتیبانی استاندارد |
| قابلیت استفاده مجدد | وابسته به معماری | امکان استفاده میان Clientهای سازگار |
| ارتباط با سرویس خارجی | نیازمند اتصال اختصاصی | از طریق MCP Server |
نکته مهم: MCP جایگزین Function Calling نیست. بسیاری از برنامههای هوش مصنوعی از Function Calling برای اجرای ابزارهایی استفاده میکنند که از طریق MCP کشف شدهاند.
MCP از چه فناوریهایی استفاده میکند؟
MCP برای انتقال پیامها از ساختار JSON-RPC استفاده میکند.
JSON-RPC یک استاندارد سبک برای ارسال درخواست و دریافت پاسخ میان اجزای مختلف نرمافزار است.
این ساختار باعث میشود Client و Server بتوانند بدون وابستگی به زبان برنامهنویسی یکدیگر ارتباط برقرار کنند.
از نظر انتقال اطلاعات، MCP از دو روش مهم پشتیبانی میکند:
ارتباط از طریق STDIO
در این روش، MCP Client یک فرآیند محلی را اجرا میکند و از طریق ورودی و خروجی استاندارد سیستمعامل با آن ارتباط برقرار میکند.
این روش برای ابزارهای محلی و برنامههایی که روی سیستم کاربر اجرا میشوند بسیار مناسب است.
برای مثال، یک MCP Server میتواند به فایلهای محلی یا ابزارهای توسعه دسترسی داشته باشد.
ارتباط از طریق Streamable HTTP
در این روش، ارتباط از طریق HTTP انجام میشود و امکان استفاده از MCP Serverهای راه دور فراهم میشود.
این روش برای سرویسهای ابری، سیستمهای سازمانی و APIهای آنلاین کاربرد زیادی دارد.
Streamable HTTP امکان استفاده از جریان رویدادهای Server-Sent Events را نیز فراهم میکند.
در نسخه منتشرشده 2026-07-28، معماری پروتکل به سمت Stateless بودن حرکت کرده است؛ به این معنی که درخواستها دیگر به نشست پروتکلی مشترک وابسته نیستند و اطلاعات نسخه و قابلیتها در متادیتای هر درخواست منتقل میشوند.
این تغییر برای مقیاسپذیری سرویسهای راه دور و استقرار پشت Load Balancer اهمیت دارد.
MCP چه کاربردهایی در دنیای واقعی دارد؟
MCP فقط یک فناوری برای توسعه ابزارهای برنامهنویسی نیست. این پروتکل میتواند در بسیاری از صنایع و محصولات نرمافزاری استفاده شود.
۱. فروشگاههای اینترنتی
یکی از کاربردهای جذاب MCP در فروشگاههای آنلاین است.
با ایجاد یک MCP Server برای فروشگاه میتوان امکانات مختلفی را در اختیار دستیارهای هوشمند قرار داد:
- جستجوی محصولات
- مقایسه کالاها
- بررسی قیمت و موجودی
- دریافت اطلاعات سفارش
- پیشنهاد محصولات مرتبط
- بررسی وضعیت ارسال
برای مثال، مشتری میتواند از دستیار هوشمند بپرسد: «یک گوشی مناسب عکاسی تا ۳۰ میلیون تومان معرفی کن.»
دستیار با استفاده از اطلاعات واقعی فروشگاه میتواند محصولات متناسب با بودجه و نیاز مشتری را پیدا کند.
۲. توسعه نرمافزار
در محیطهای توسعه نرمافزار، MCP میتواند دسترسی هوش مصنوعی به ابزارهای مختلف را سادهتر کند.
برای مثال:
- خواندن فایلهای پروژه
- بررسی ساختار کد
- دریافت اطلاعات از GitHub
- اجرای تستها
- بررسی خطاهای سیستم
- دسترسی به مستندات فنی
در نتیجه توسعهدهنده میتواند از یک دستیار هوشمند برای انجام فعالیتهایی استفاده کند که قبلاً نیازمند جابهجایی مداوم میان ابزارهای مختلف بود.
۳. سیستمهای CRM و مدیریت مشتریان
یک MCP Server برای CRM میتواند اطلاعات مشتریان، سوابق ارتباطی و وضعیت فروش را در اختیار دستیار هوشمند قرار دهد.
برای مثال کاربر میتواند درخواست کند:
«مشتریانی که در سه ماه گذشته خرید نکردهاند و بیش از ۵۰ میلیون تومان خرید قبلی داشتهاند را پیدا کن.»
هوش مصنوعی میتواند با استفاده از ابزارهای مناسب، اطلاعات را استخراج و تحلیل کند.
۴. تحلیل داده و گزارشگیری
با اتصال MCP به پایگاههای داده و ابزارهای تحلیلی، کاربران میتوانند سؤالات خود را به زبان طبیعی مطرح کنند.
برای مثال:
«میزان فروش محصولات دستهبندی موبایل در ماه گذشته چقدر بوده است؟»
سیستم میتواند اطلاعات را از منبع داده دریافت کند و نتیجه را به شکل یک گزارش قابل فهم ارائه دهد.
البته دسترسی به دادهها باید محدود، کنترلشده و متناسب با سطح مجوز کاربر باشد.
چگونه یک MCP Server بسازیم؟
برای ساخت MCP Server ابتدا باید مشخص کنید که قرار است چه قابلیتهایی را در اختیار برنامه هوش مصنوعی قرار دهید.
برای مثال، فرض کنید میخواهید یک سرور ساده برای جستجوی محصولات بسازید.
مراحل کلی پیادهسازی عبارتاند از:
- انتخاب زبان برنامهنویسی مانند Python، TypeScript یا PHP.
- انتخاب SDK سازگار با نسخه پروتکل موردنظر.
- تعریف ابزارها و منابع موردنیاز.
- پیادهسازی منطق ارتباط با سیستم خارجی.
- تعریف اعتبارسنجی ورودیها و مدیریت خطاها.
- انتخاب Transport مناسب.
- پیادهسازی احراز هویت و کنترل دسترسی.
- آزمایش ارتباط با MCP Client.
برای مثال، یک MCP Server فروشگاهی میتواند ابزارهایی با نامهای زیر ارائه کند:
search_products
get_product_details
check_product_stock
get_order_status
compare_products
هر ابزار باید توضیح روشن و پارامترهای دقیق داشته باشد تا مدل بتواند کاربرد آن را تشخیص دهد.
در انتخاب SDK باید به نسخه آن توجه کنید. برای مثال، SDKهای قدیمی ممکن است هنوز از نسخههای قبلی MCP پشتیبانی کنند و با تغییرات نسخه جدید سازگار نباشند.
به همین دلیل قبل از شروع توسعه، مستندات رسمی نسخه پروتکل و SDK انتخابی را بررسی کنید.
امنیت در MCP؛ مهمترین نکاتی که نباید نادیده بگیرید
اتصال هوش مصنوعی به سیستمهای خارجی مزایای زیادی دارد، اما در صورت پیادهسازی نادرست میتواند خطرات امنیتی جدی ایجاد کند.
تصور کنید یک دستیار هوشمند به اطلاعات سفارشها، اطلاعات مشتریان و قابلیت حذف یا تغییر دادهها دسترسی داشته باشد.
اگر دسترسیها بهدرستی محدود نشده باشند، یک درخواست نامناسب یا دستور مخرب میتواند باعث اجرای عملیات ناخواسته شود.
مهمترین نکات امنیتی در پیادهسازی MCP عبارتاند از:
۱. احراز هویت و مجوز دسترسی
هر کاربر یا Client باید فقط به منابع و ابزارهایی دسترسی داشته باشد که مجوز استفاده از آنها را دارد.
۲. محدودسازی ابزارها
بهتر است ابزارهای حساس مانند حذف اطلاعات، ثبت پرداخت یا تغییر سفارش، محدودیتهای بیشتری داشته باشند.
۳. اعتبارسنجی ورودیها
تمام پارامترهای دریافتی باید پیش از اجرا اعتبارسنجی شوند. نباید به ورودی تولیدشده توسط مدل اعتماد کامل داشت.
۴. مقابله با Prompt Injection
محتوای دریافتی از فایلها، صفحات وب و منابع خارجی ممکن است شامل دستورهای مخرب باشد. این محتوا نباید بهعنوان دستور قابل اعتماد سیستم تلقی شود.
۵. مدیریت اطلاعات محرمانه
کلیدهای API، اطلاعات احراز هویت و دادههای حساس کاربران باید بهصورت امن نگهداری شوند.
۶. ثبت و نظارت بر عملیات
ثبت درخواستها، خطاها و عملیات حساس به شناسایی مشکلات و بررسی رفتار سیستم کمک میکند.
نکته مهم این است که استفاده از MCP بهخودیخود امنیت سیستم را تضمین نمیکند. امنیت به نحوه طراحی، پیادهسازی و مدیریت مجوزهای Server و Client بستگی دارد.
آینده MCP و نقش آن در توسعه Agentهای هوشمند
دستیارهای هوش مصنوعی در حال حرکت از سیستمهای صرفاً پاسخگو به سمت Agentهایی هستند که میتوانند چندین مرحله از یک فعالیت را برنامهریزی و اجرا کنند.
برای مثال یک Agent فروشگاهی ممکن است:
- نیاز مشتری را شناسایی کند.
- محصولات مناسب را جستجو کند.
- مشخصات و قیمتها را مقایسه کند.
- موجودی محصولات را بررسی کند.
- گزینه مناسب را پیشنهاد دهد.
- در صورت تأیید کاربر، عملیات مجاز خرید را انجام دهد.
برای انجام چنین فرآیندهایی، Agent به ارتباط پایدار و ساختاریافته با ابزارهای مختلف نیاز دارد.
MCP میتواند این ارتباط را استاندارد کند و توسعهدهندگان را از ساخت اتصالهای اختصاصی متعدد بینیاز سازد.
با توسعه اکوسیستم MCP، امکان ساخت سرورهای تخصصی برای فروشگاهها، سیستمهای سازمانی، ابزارهای توسعه، نرمافزارهای مالی و سرویسهای ابری بیشتر میشود.
نسخه 2026-07-28 نیز با تغییراتی مانند Stateless شدن هسته پروتکل، پشتیبانی از درخواستهای چندمرحلهای و چارچوب توسعه Extensionها، مسیر تکامل این اکوسیستم را ادامه داده است.
البته MCP به معنی حذف APIها یا بینیازی از معماریهای نرمافزاری قبلی نیست. API همچنان زیرساخت اصلی بسیاری از ارتباطات نرمافزاری است و MCP لایهای استاندارد برای ارائه قابلیتها و منابع به برنامههای هوش مصنوعی محسوب میشود.
جمعبندی: آیا MCP ارزش یادگیری و استفاده دارد؟
MCP یکی از فناوریهای مهم در مسیر توسعه نسل جدید برنامههای هوش مصنوعی است.
این پروتکل راهی استاندارد برای اتصال مدلهای هوش مصنوعی به ابزارها، دادهها و سرویسهای خارجی فراهم میکند و به توسعهدهندگان اجازه میدهد قابلیتهای نرمافزارهای خود را در قالبی قابل استفاده مجدد ارائه دهند.
اگر توسعهدهنده نرمافزار هستید، MCP میتواند به شما کمک کند ابزارهای هوشمندتر و یکپارچهتری بسازید.
اگر صاحب کسبوکار هستید، این فناوری میتواند راهی برای اتصال سیستمهای موجود به دستیارهای هوشمند باشد.
و اگر به آینده هوش مصنوعی علاقه دارید، شناخت MCP به شما کمک میکند بهتر درک کنید که چگونه مدلهای زبانی از یک ابزار پاسخگویی ساده به بخشی از سیستمهای اجرایی و خودکار تبدیل میشوند.
آینده هوش مصنوعی فقط به مدلهای قدرتمندتر وابسته نیست؛ توانایی اتصال هوشمندانه این مدلها به دنیای واقعی نیز به همان اندازه اهمیت دارد.
پرسشهای متداول درباره MCP
آیا MCP یک مدل هوش مصنوعی است؟
خیر. MCP یک پروتکل ارتباطی است که امکان اتصال برنامههای هوش مصنوعی به ابزارها و منابع اطلاعاتی خارجی را فراهم میکند.
آیا برای استفاده از MCP به API نیاز داریم؟
MCP خودش جایگزین API نیست. یک MCP Server میتواند برای ارتباط با سرویسهای خارجی از API استفاده کند و قابلیتهای آنها را از طریق MCP در اختیار Client قرار دهد.
تفاوت MCP Server و MCP Client چیست؟
MCP Server ابزارها و منابع را ارائه میدهد؛ MCP Client وظیفه برقراری ارتباط با Server و استفاده از قابلیتهای آن را بر عهده دارد.
آیا MCP فقط برای Claude کاربرد دارد؟
خیر. MCP یک استاندارد مستقل از یک مدل یا برند خاص است. هر برنامهای که از این پروتکل پشتیبانی کند، میتواند به MCP Serverهای سازگار متصل شود.
آیا میتوان برای WordPress و WooCommerce یک MCP Server ساخت؟
بله. میتوان یک MCP Server طراحی کرد که از طریق APIهای وردپرس و ووکامرس به اطلاعات محصولات، سفارشها و سایر قابلیتهای فروشگاه دسترسی داشته باشد. البته مجوزهای دسترسی و امنیت عملیات باید بهدقت مدیریت شوند.
آیا MCP جایگزین REST API میشود؟
خیر. REST API همچنان برای ارتباط میان سرویسها کاربرد دارد. MCP میتواند از همین APIها استفاده کند و قابلیتهای آنها را در قالبی استاندارد و قابل استفاده برای برنامههای هوش مصنوعی ارائه دهد.
از کجا یادگیری MCP را شروع کنیم؟
بهترین نقطه شروع، مطالعه معماری رسمی پروتکل، آشنایی با مفاهیم Tools و Resources و ساخت یک MCP Server ساده با یکی از SDKهای رسمی است.