MCP রিলিজ ক্যান্ডিডেট সারভাইভাল গাইড

MCP রিলিজ ক্যান্ডিডেট হলো প্রোটোকলটি লঞ্চ হওয়ার পর থেকে সবচেয়ে বড় আপডেট। এটি ক্লায়েন্ট, সার্ভার এবং টুলস তৈরি করা প্রত্যেকের জন্য একটি পরীক্ষা। চূড়ান্ত সংস্করণটি ২০২৬ সালের ২৮ জুলাই আসবে। মাইগ্রেশন সংক্রান্ত সমস্যাগুলো খুঁজে বের করতে এই সময়টি ব্যবহার করুন।

সবচেয়ে বড় পরিবর্তন হলো MCP এখন stateless।

আপনার ইমপ্লিমেন্টেশনে যদি session ID বা initialization step ব্যবহার করা হয়, তবে আপনাকে অবশ্যই আপনার কোড পরিবর্তন করতে হবে। প্রতিটি রিকোয়েস্ট এখন মেটাডেটাতে version এবং capability ডেটা বহন করে।

এই পরিবর্তনটি ইনফ্রাস্ট্রাকচারকে সাহায্য করে। Load balancer-গুলো যেকোনো সার্ভার ইনস্ট্যান্সে রিকোয়েস্ট পাঠাতে পারে। তাদের একটি নির্দিষ্ট সার্ভারের সাথে কানেকশন খোলা রাখার প্রয়োজন নেই।

স্টেট (state) কীভাবে হ্যান্ডেল করবেন:

  • কানেকশনের মধ্যে স্টেট লুকিয়ে রাখবেন না।
  • স্টেটকে একটি application handle-এ সরিয়ে নিন।
  • একটি টুলকে basket_id-এর মতো একটি ID রিটার্ন করতে দিন।
  • মডেলটি পরবর্তী কলে এই ID-টি আবার পাঠাতে পারে।

সার্ভার-ইনিশিয়েটেড রিকোয়েস্টগুলোও পরিবর্তিত হয়েছে। একটি সার্ভার শুধুমাত্র তখনই একটি রিকোয়েস্ট শুরু করতে পারে যখন এটি একটি ক্লায়েন্ট কল প্রসেস করে। যদি সার্ভারের আরও তথ্যের প্রয়োজন হয়, তবে এটি একটি InputRequiredResult রিটার্ন করে। এরপর ক্লায়েন্ট নতুন ডেটা দিয়ে কলটি পুনরায় চেষ্টা (retry) করে।

MCP Apps এখন চলে এসেছে। সার্ভারগুলো এখন HTML ইন্টারফেস প্রদান করতে পারে। হোস্টগুলো এগুলোকে sandboxed iframes-এ রেন্ডার করে। এটি ইউজার এক্সপেরিয়েন্স উন্নত করে কিন্তু এর জন্য কঠোর নিরাপত্তার প্রয়োজন।

অথরাইজেশন (Authorization) এখন আরও কঠোর।

  • OAuth 2.0 এবং OpenID Connect ব্যবহার করুন।
  • ক্লায়েন্টদের অবশ্যই issuer parameter যাচাই করতে হবে।
  • অথরাইজেশন সার্ভারগুলোকে এখন অবশ্যই issuer parameter পাঠাতে হবে।

যে বিষয়গুলো deprecate করা হয়েছে (সতর্ক থাকুন):

  • Roots, Sampling, এবং Logging deprecate করা হয়েছে।
  • এগুলো আপাতত কাজ করবে, তবে নতুন প্রজেক্টের জন্য এগুলো ব্যবহার করবেন না।
  • roots-কে tool parameters-এ সরিয়ে নিন।
  • sampling-কে সরাসরি model provider API-তে সরিয়ে নিন।
  • logging-কে OpenTelemetry বা stderr-এ সরিয়ে নিন।

স্কিমা (Schema) আপডেট:

  • টুল স্কিমা এখন সম্পূর্ণ JSON Schema 2020-12 ব্যবহার করে।
  • আপনি oneOf বা anyOf-এর মতো জটিল লজিক ব্যবহার করতে পারেন।
  • এরর এড়াতে সার্ভারগুলোকে স্কিমা ডেপথ (schema depth) সীমিত করতে হবে।
  • আপনার এরর হ্যান্ডলিং আপডেট করুন। missing resource error-এর জন্য এখন স্ট্যান্ডার্ড JSON-RPC কোড -32602 ব্যবহার করা হয়।

আপনি যদি কোনো সমস্যা খুঁজে পান, তবে specification repository-তে একটি issue ওপেন করুন অথবা Discord contributor চ্যানেলে জিজ্ঞাসা করুন।

উৎস: https://dev.to/bengreenberg/the-mcp-release-candidate-survival-guide-apps-auth-deprecations-and-tool-schemas-5da2

ঐচ্ছিক লার্নিং কমিউনিটি: https://t.me/GyaanSetuAi