প্রকল্প সম্পর্কে

TianGong-LCA-MCP হল একটি Model Context Protocol (MCP) সার্ভার যা TianGong লাইফ-সাইকেল অ্যাসেসমেন্ট (LCA) ক্ষমতাগুলিকে MCP-সামঞ্জস্যপূর্ণ AI হোস্টগুলিতে প্রকাশ করে। এটি দুটি পরিবহন সমর্থন করে: স্থানীয় ক্লায়েন্ট ইন্টিগ্রেশনের জন্য STDIO এবং দূরবর্তী ব্যবহারের জন্য Streamable HTTP। কনফিগারেশন পরিবেশ ভেরিয়েবলের মাধ্যমে করা হয় যা `.env.example` থেকে কপি করা হয়, যার মধ্যে Supabase ইস্যুকারী, প্রকাশযোগ্য কী, অনুমোদিত পাবলিক OAuth ক্লায়েন্ট আইডি এবং অনুমোদিত ব্রাউজার উত্স অন্তর্ভুক্ত থাকে। README উল্লেখ করে যে OAuth প্রমাণীকরণের জন্য Redis, একটি গোপন ক্লায়েন্ট সিক্রেট, বা সার্ভার-সাইড সেশন এনক্রিপশন কী প্রয়োজন হয় না। GLAD ডেটাসেট অনুসন্ধান সরঞ্জামগুলির জন্য একটি অতিরিক্ত GLAD API কী এবং বেস URL (ডিফল্টরূপে পাবলিক গ্লোবাল LCA ডেটা অ্যাক্সেস এন্ডপয়েন্টে) প্রয়োজন। দূরবর্তী Streamable HTTP কে OAuth 2.1 সুরক্ষিত রিসোর্স হিসাবে বর্ণনা করা হয়েছে। একটি সামঞ্জস্যপূর্ণ MCP হোস্ট সুরক্ষিত-রিসোর্স মেটাডেটা আবিষ্কার করে, Supabase Auth অথরাইজেশন সার্ভার অনুসরণ করে, ব্যবহারকারীর ব্রাউজার খোলে এবং S256 PKCE সহ Authorization Code ফ্লো সম্পন্ন করে। শংসাপত্রগুলি AI বা MCP হোস্টে প্রবেশ না করিয়ে ব্রাউজারে প্রবেশ করানো হয়। Supabase অ্যাক্সেস এবং রিফ্রেশ টোকেনগুলি পাবলিক MCP ক্লায়েন্টকে ইস্যু করে; ক্লায়েন্ট রিফ্রেশ টোকেন স্থানীয়ভাবে সংরক্ষণ করে এবং প্রতিটি অনুরোধের সাথে একটি স্বল্প-মেয়াদী ES256 অ্যাক্সেস JWT পাঠায়। সার্ভার স্বাক্ষর, ইস্যুকারী, দর্শক, মেয়াদ, ভূমিকা/সেশন এবং সঠিক ক্লায়েন্ট আইডি যাচাই করে, Edge/PostgREST প্রসঙ্গ পুনরায় যাচাই করে এবং রো-লেভেল সিকিউরিটি প্রয়োগ করে। ডাইনামিক ক্লায়েন্ট রেজিস্ট্রেশন অক্ষম করা হয়েছে; অপারেটররা Supabase-এ সঠিক পাবলিক ক্লায়েন্ট এবং লুপব্যাক কলব্যাক নিবন্ধন করে এবং একটি Allowlist ভেরিয়েবলে তাদের UUID তালিকাভুক্ত করে। MCP অরিজিন নিজে কোনো অথরাইজেশন, টোকেন, রিফ্রেশ, রিভোক, কলব্যাক, রেজিস্ট্রেশন বা ডেমো এন্ডপয়েন্ট প্রকাশ করে না। ইনস্টলেশন এবং স্টার্টআপ বিকল্পগুলির মধ্যে রয়েছে একটি গ্লোবাল pnpm প্যাকেজ (`@tiangong-lca/mcp-server`) যা dotenv-cli এর মাধ্যমে STDIO সার্ভার হিসাবে চালানো হয়, অথবা একটি স্থানীয়ভাবে নির্মিত Docker ইমেজ যা পোর্ট 9278 এ একটি env ফাইল সহ প্রকাশিত হয়। স্থানীয় টেস্টিং pnpm স্ক্রিপ্ট ব্যবহার করে: `pnpm start` STDIO সার্ভারের জন্য MCP Inspector এর মাধ্যমে, `pnpm start:server` Streamable HTTP সার্ভারের জন্য, এবং `pnpm start:server-local` একটি স্থানীয় HTTP ভেরিয়েন্টের জন্য। HTTP স্টার্ট কমান্ডগুলি একটি ক্রস-প্ল্যাটফর্ম Node argv র্যাপারের মাধ্যমে MCP Inspector চালু করে। README একটি পিন করা টুলচেইন (Node 24.19.0, pnpm 11.24.0, TypeScript 7.0.2) নথিভুক্ত করে এবং উল্লেখ করে যে Docker উদাহরণগুলি একটি স্থানীয় বিল্ড বর্ণনা করে কারণ কোনো পাবলিক প্রি-বিল্ট ইমেজ ট্যাগ যাচাই করা হয়নি।