انتشار نسخه جدید Agents SDK با قابلیتهای اتصال فقطخواندنی و بهبودهای امنیتی پروتکل MCP
نسخه جدید Agents SDK با مجموعهای از قابلیتهای جدید و بهبودهای امنیتی منتشر شده است که شامل پشتیبانی از اتصالات فقطخواندنی، ارتقاء پروتکل MCP و مهاجرت به نسخه دوم پروتکل پرداخت x402 میشود. این بهروزرسانیها به توسعهدهندگان امکان میدهد تا کنترل دقیقتری بر دسترسی کاربران داشته باشند و امنیت ارتباطات را بهبود بخشند.
یکی از ویژگیهای برجسته این نسخه، امکان تعریف اتصالات فقطخواندنی برای کلاینتهای WebSocket است. این قابلیت اجازه میدهد تا کلاینتها تنها بتوانند دادهها را مشاهده کنند و امکان تغییر وضعیت عامل (Agent) را نداشته باشند. این ویژگی برای کاربردهایی مانند داشبوردها یا نماهای تماشاگر بسیار مفید است که در آنها نیاز است کاربران فقط اطلاعات را ببینند بدون اینکه تغییری ایجاد کنند. برای پیادهسازی این قابلیت، هوکهای جدیدی مانند shouldConnectionBeReadonly، setConnectionReadonly و isConnectionReadonly معرفی شدهاند که امکان مدیریت وضعیت فقطخواندنی اتصال را فراهم میکنند. همچنین، این وضعیت حتی پس از خواب زمستانی (hibernation) اتصال حفظ میشود.
در زمینه امنیت و احراز هویت، امکان سفارشیسازی ارائهدهنده OAuth برای اتصال به سرورهای MCP اضافه شده است. متد createMcpOAuthProvider در کلاس Agent این امکان را میدهد که توسعهدهندگان بتوانند استراتژیهای احراز هویت دلخواه خود مانند استفاده از گواهیهای از پیش ثبتشده یا mTLS را پیادهسازی کنند. این قابلیت فراتر از ثبتنام پویا کلاینت است و انعطافپذیری بیشتری در مدیریت امنیت ارتباطات فراهم میآورد.
نسخه MCP SDK به ۱.۲۶.۰ ارتقا یافته است تا از نشت پاسخها بین کلاینتها جلوگیری کند. در این نسخه، سرورهای MCP بدون حالت (stateless) باید برای هر درخواست یک نمونه جدید از McpServer ایجاد کنند و از اشتراکگذاری یک نمونه واحد خودداری نمایند. همچنین، محدودیتی اضافه شده که از اتصال مجدد به یک نمونه سرور که قبلاً به یک ترنسپورت متصل شده، جلوگیری میکند. این تغییرات نیازمند بازنگری در کدهای توسعهدهندگان است که نمونه McpServer را به صورت متغیر سراسری تعریف کردهاند.
در بخش امنیت URLهای callback مربوط به OAuth در MCP، گزینه callbackPath به متد addMcpServer افزوده شده است تا از افشای نام نمونه در URL جلوگیری شود. این اصلاحات همچنین تشخیص درخواستهای callback را به جای بررسی رشته ساده /callback، بر اساس پارامتر state انجام میدهد که امکان استفاده از مسیرهای callback سفارشی را فراهم میکند.
متد onStateUpdate که پیشتر برای دریافت بهروزرسانیهای وضعیت استفاده میشد، اکنون با onStateChanged جایگزین شده است. این تغییر تنها در نام متد است و رفتار آن بدون تغییر باقی مانده است، اما استفاده از onStateUpdate همچنان ممکن است با هشدار یکباره در کنسول همراه باشد. همچنین، در صورت رد تغییر وضعیت، پیام خطای CF_AGENT_STATE_ERROR به کلاینت ارسال میشود.
یکی از تغییرات مهم دیگر، مهاجرت پروتکل پرداخت x402 به نسخه دوم است که شامل انتقال از بسته قدیمی x402 به بستههای @x402/core و @x402/evm نسخه ۲ میشود. این مهاجرت با تغییراتی در وابستگیها و نوع دادهها همراه است. به عنوان مثال، نوع PaymentRequirements اکنون از فیلدهای نسخه دوم استفاده میکند و نوع حساب در X402ClientConfig تغییر یافته است. همچنین، شناسههای شبکه اکنون میتوانند هم از نامهای قدیمی و هم از فرمت CAIP-۲ استفاده کنند. این تغییرات باعث بهبود سازگاری و امنیت در فرایند پرداخت میشوند.
علاوه بر این، در نسخه جدید بهبودهای دیگری نیز اعمال شده است. از جمله رفع مشکلاتی که باعث کرش شدن useAgent و AgentClient در هنگام استفاده از مسیرهای basePath میشد، واگذاری مدیریت CORS به پشتیبانی بومی partyserver برای سادگی و اطمینان بیشتر، و افزودن callback برای مدیریت خطاهای بهروزرسانی وضعیت در سمت کلاینت.
برای بهرهمندی از این قابلیتها و بهبودها، توسعهدهندگان میتوانند با اجرای دستور npm i agents@latest نسخه جدید را دریافت و در پروژههای خود استفاده کنند. این بهروزرسانیها نشاندهنده تلاش مستمر برای افزایش امنیت، انعطافپذیری و قابلیت اطمینان در ارتباطات و پرداختهای مبتنی بر Agents SDK و MCP است.