২০২৬ সালে MCP অথেন্টিকেশন

Model Context Protocol (MCP) এজেন্টরা কীভাবে সার্ভারের সাথে যোগাযোগ করে তা বদলে দিয়েছে। এটি ক্যালকুলেটরের মতো লোকাল টুল দিয়ে শুরু হয়েছিল। এখন এটি রিমোট সার্ভারে চলে। এই পরিবর্তনের ফলে অথেন্টিকেশন (authentication) একটি প্রয়োজনীয়তা হয়ে দাঁড়িয়েছে।

আপনি যদি আপনার MCP সার্ভারে OAuth যোগ করতে চান, তবে একটি পরিবর্তনশীল লক্ষ্যের জন্য প্রস্তুত থাকুন। এর স্পেসিফিকেশন (spec) প্রতি কয়েক মাস অন্তর পরিবর্তিত হয়। বিভিন্ন এজেন্ট নিয়মের ভিন্ন ভিন্ন সংস্করণ ব্যবহার করে।

নিচে MCP অথেন্টিকেশনের বর্তমান অবস্থা তুলে ধরা হলো।

মূল পরিবর্তন

আপনার MCP সার্ভার কোনো অথরাইজেশন (authorization) সার্ভার নয়। এটি একটি রিসোর্স (resource) সার্ভার।

অতীতে, স্পেসিফিকেশন সার্ভারগুলোকে টোকেন এবং লগইন হ্যান্ডেল করতে বাধ্য করত। এটি সার্ভারগুলোকে ভারী করে তুলত এবং স্কেল করা কঠিন করে দিত। Aaron Parecki এবং Christian Posta-র মতো বিশেষজ্ঞরা এটি উল্লেখ করেছেন। তারা যুক্তি দিয়েছিলেন যে MCP সার্ভারের কাজ শুধুমাত্র টোকেন ভ্যালিডেট করা হওয়া উচিত।

বর্তমানে, স্ট্যান্ডার্ডটি এই ফ্লো (flow) অনুসরণ করে:

• একটি আন-অথেন্টিকেটেড (unauthenticated) রিকোয়েস্ট 401 এরর পায়। • এররটি ক্লায়েন্টকে জানায় যে রিসোর্স মেটাডেটা কোথায় পাওয়া যাবে। • ক্লায়েন্ট সঠিক অথরাইজেশন সার্ভার (যেমন Okta বা Keycloak) খুঁজে বের করে। • ক্লায়েন্ট একটি টোকেন সংগ্রহ করে এবং সেটি আপনার MCP সার্ভারে প্রদান করে। • আপনার সার্ভার টোকেনটি ভ্যালিডেট করে এবং টুলটি রান করে।

ফ্র্যাগমেন্টেশন (Fragmentation) সমস্যা

একটি স্ট্যান্ডার্ড থাকা সত্ত্বেও, প্রতিটি এজেন্ট এটি ভিন্নভাবে ইমপ্লিমেন্ট করে।

• Claude Desktop: সম্পূর্ণ OAuth ফ্লো রান করে। • Claude API: আপনাকে আপনার নিজস্ব bearer token পাস করতে হয়। • ChatGPT: রেজিস্ট্রেশনের জন্য CIMD ব্যবহার করে এবং সর্বশেষ স্পেসিফিকেশন সাপোর্ট করে। • Gemini: Google Cloud IAM এবং API keys ব্যবহার করে। • VS Code: GitHub এবং Entra প্রোভাইডার সাপোর্ট করে।

এর মানে হলো, একটি এজেন্টের জন্য তৈরি করা সার্ভার অন্যটিতে ব্যর্থ হতে পারে। একজন ভেন্ডর হয়তো সম্পূর্ণ লগইন ফ্লো দাবি করতে পারে, আবার অন্যজন আশা করতে পারে যে আপনি নিজেই টোকেনটি ম্যানেজ করবেন।

ডেভেলপারদের জন্য তিনটি শিক্ষা

১. রিসোর্স সার্ভার (Resource Server) মডেলকে লক্ষ্য করুন। আইডেন্টিটি প্রোভাইডার (identity provider) হওয়ার চেষ্টা করবেন না। মেটাডেটা প্রদান করতে এবং অডিয়েন্স (audience) ভ্যালিডেট করতে RFC 9728 ব্যবহার করুন।

২. দুটি জগতকে সাপোর্ট করুন। আপনার সার্ভারটি এমনভাবে তৈরি করুন যাতে এটি "bring your own token" API কল এবং সম্পূর্ণ OAuth ফ্লো—উভয়ই হ্যান্ডেল করতে পারে।

৩. ক্রমাগত আপডেটের জন্য প্রস্তুত থাকুন। স্পেসিফিকেশন এখনও বিবর্তিত হচ্ছে। OAuth 2.1 এখনও একটি ড্রাফট পর্যায়ে আছে এবং MCP প্রোটোকল এখনও তার ভিত্তি খুঁজছে।

বর্তমানে MCP সার্ভার তৈরি করা বেশ কঠিন। নিয়মগুলো দ্রুত পরিবর্তিত হচ্ছে। আপনি যদি নমনীয় থাকেন এবং রিসোর্স সার্ভার মডেল অনুসরণ করেন, তবে আপনি এই পরিবর্তনগুলোর সাথে মানিয়ে নিতে পারবেন।

উৎস: https://dev.to/0ndreu/mcp-authentication-in-2026-how-oauth-flipped-the-servers-role-and-why-every-agent-differs-11fm

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