سرور MCP ترافرم: ایجنتی که دیگه نسخهٔ پرووایدر رو اشتباه نمینویسه
خلاصهٔ کاملتر
به گفتهٔ نویسندهٔ این مقاله در Spacelift، موج توسعهٔ ایجنتی به دنیای infrastructure as code هم رسیده، ولی یه مشکل جدی داره: مدل روی دادههای یه مقطع زمانی آموزش دیده و از نسخهها و رفتارهای جدید پرووایدرها خبر نداره. نتیجهش کد ترافرمیه که با نسخهٔ قدیمی نوشته شده یا اتریبیوتهایی داره که اصلاً وجود ندارن.
راهحلی که مقاله معرفی میکنه سرور MCP ترافرمـه. MCP یه پروتکل کلاینت-سروره که به ایجنت در قالب «ابزار» دسترسی میده؛ ابزارهای خواندنی برای گرفتن اطلاعات بهروز و ابزارهای عملیاتی برای انجام کار روی سیستم بیرونی. این سرور مشخصاً مستندات پرووایدرها، ماژولها و پالیسیها رو از رجیستری عمومی ترافرم میآره.
مزیت اصلیاش نسبت به دادن یه ابزار جستوجوی وب عمومی به ایجنت اینه که میشه نسخهٔ دقیق پرووایدر رو هدف گرفت. تو مثال مقاله، ایجنت برای ساخت یه سایت استاتیک روی S3 و CloudFront، اول با ابزار get_latest_provider_version آخرین نسخه رو پیدا میکنه و بعد با search_providers سراغ مستندات همون نسخه میره:
{
"provider_name": "aws",
"provider_namespace": "hashicorp",
"service_slug": "cloudfront_origin_access_control",
"provider_document_type": "resources",
"provider_version": "6.47.0"
}پاسخ این فراخوانی یه providerDocID میده که ایجنت با ابزار بعدی (get_provider_details) صفحهٔ کامل مستندات همون ریسورس رو باهاش میگیره. نکتهٔ جالب اینه که لازم نیست صریحاً به ایجنت بگید از این سرور استفاده کنه؛ خودش ابزار مناسب رو پیدا میکنه.
کاربرد دوم، کار کردن با محیط HCP Terraform یا Terraform Enterpriseـه: لیستکردن سازمانها و پروژهها، ساخت ورکاسپیس متصل به VCS، تعریف متغیرها و در نهایت اجرای run با create_run و دنبالکردن وضعیتش. یعنی میشه کل چرخه — از تولید کد تا provision واقعی — رو به ایجنت سپرد. سرور در زمان نگارش مقاله ۴۴ ابزار داره که بیشترشون مربوط به همین محیطهای HCP و Enterpriseان.
بخش مهمتر مقاله هشدارهای امنیتیشه. این سرور با یه TFE_TOKEN کار میکنه که اجازهٔ کارهای حساس رو داره، پس نویسنده تأکید میکنه لوکال اجراش کنید — ترجیحاً بهعنوان کانتینر داکر — تا توکن اصلاً از شبکه رد نشه. توکن هم باید least privilege باشه و بهتره بهجای توکن کاربری، یه تیم اختصاصی با توکن تیمی و دسترسی محدود بسازید.
نکتهٔ کلیدی دیگه، تفکیک ابزارهای خواندنی از عملیاتیه. search_providers و get_provider_details بیخطرن و میشه اجازه داد خودکار اجرا بشن، ولی update_workspace و create_run میتونن زیرساخت رو تغییر بدن یا خراب کنن. توصیهٔ نویسنده اینه که ایجنت برای هر ابزار عملیاتی ازتون تأیید بگیره و اصلاً تو پروداکشن بازشون نذارید. متغیر ENABLE_TF_OPERATIONS هم پیشفرض falseـه و عملیات مخرب خاموشه — همون چیزی که تو کانفیگ نمونهٔ مقاله دستی true شده.
در پایان هم توصیه شده اطلاعات حساس رو اصلاً به سرور ندید (مثلاً برای احراز هویت ابری از OIDC workload identity federation بین HCP Terraform و کلاد استفاده کنید) و لاگ و مانیتورینگ رو با متغیرهایی مثل LOG_LEVEL و OTEL_METRICS_ENABLED فعال کنید. بخش انتهایی مقاله معرفی خود Spacelift و لایهٔ Intelligence اونه، پس اون قسمت رو با دید تبلیغاتی بخونید.
نکات کلیدی:
- سرور MCP ترافرم مستندات نسخهمحور رجیستری رو در اختیار ایجنت میذاره و توهم مدل رو کم میکنه
- میشه باهاش ورکاسپیس ساخت، متغیر تعریف کرد و run اجرا کرد؛ مجموعاً ۴۴ ابزار داره
- اجرای لوکال با داکر توصیه میشه تا TFE_TOKEN از شبکه عبور نکنه
- ابزارهای خواندنی امنان، ابزارهای عملیاتی باید پشت تأیید دستی باشن
- ENABLE_TF_OPERATIONS پیشفرض خاموشه؛ روشنکردنش یعنی قبول ریسک تغییر زیرساخت
- توکن رو با کمترین دسترسی ممکن و ترجیحاً بهصورت توکن تیمی بسازید




