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

campus-cli হলো UPC (পেরু)-এর Blackboard Learn (Aula Virtual) ব্যবহারকারী শিক্ষার্থীদের জন্য একটি অনানুষ্ঠানিক কমান্ড-লাইন টুল ও MCP সার্ভার। এটি ব্রাউজার না খুলেই কোর্স, সময়সূচি, বাকি অ্যাসাইনমেন্ট, জমা দেওয়ার তারিখ, গ্রেড, ঘোষণা, বার্তা ও উপকরণ দেখা যায়, এবং Model Context Protocol-সামঞ্জস্যপূর্ণ AI সহকারীদের কাছে সেই তথ্য প্রকাশ করে। প্রধান সক্ষমতা: - সেমিস্টারের কোর্স তালিকা করা, কনটেন্ট, ফোল্ডার, ঘোষণা, বার্তা ও গ্রেড দেখা। - বাকি অ্যাসাইনমেন্ট, প্রচেষ্টার ইতিহাস, শিক্ষকের ফিডব্যাক ও সাপ্তাহিক সময়সূচি (Banner UPC) দেখা। - Blackboard থেকে ফাইল ও সম্পূর্ণ ফোল্ডার ডাউনলোড করা, আকারসীমা সহ এবং ফাইল ওভাররাইট না করে। - ফাইল আপলোড করা, ড্রাফট সংরক্ষণ করা ও অ্যাসাইনমেন্ট জমা দেওয়া, MCP ক্লায়েন্টের স্পষ্ট নিশ্চিতকরণসহ। - Crossref, OpenAlex, IEEE Xplore, ACM, Scopus, Web of Science ও ScienceDirect-এ একাডেমিক প্রকাশনা খোঁজা, DOI যাচাই ও প্রত্যাহার-সতর্কতা দেখা। - বিদ্যমান SSO সেশন ব্যবহার করে UPC Class-এর রেকর্ডিং ও ট্রান্সক্রিপ্ট অ্যাক্সেস করা। - Blackboard-এর পাবলিক API-তে সরাসরি কল করা এবং স্ক্রিপ্টিংয়ের জন্য JSON আউটপুট দেওয়া। ব্যবহারের ধরন: সরাসরি CLI, stdio-ভিত্তিক MCP সার্ভার (npx campus-cli mcp) এবং raw API। MCP সার্ভার কনফিগারেশনের মাধ্যমে Claude Desktop, Claude Code, Cursor, GitHub Copilot, OpenAI Codex CLI ও Windsurf-এর সঙ্গে সংযুক্ত হয়। প্রমাণীকরণ ও গোপনীয়তা: Microsoft SSO সম্পূর্ণ করতে Playwright দিয়ে Chromium খোলে; কুকিজ স্থানীয়ভাবে ~/.blackboard-cli/session.json-এ সংরক্ষিত হয়। বিশ্ববিদ্যালয়ের OAuth কী বা মধ্যবর্তী সার্ভার প্রয়োজন হয় না। PostHog-ভিত্তিক ঐচ্ছিক অ্যানালিটিকস একটি অনুমোদিত প্রপার্টি-তালিকা ব্যবহার করে এবং POSTHOG_DISABLED=1 দিয়ে বন্ধ করা যায়। প্রয়োজনীয়তা: Node.js 22.13.0 বা তার বেশি, সক্রিয় UPC অ্যাকাউন্ট এবং এমন পরিবেশ যেখানে Playwright Chromium খুলতে পারে। স্ট্যাক: TypeScript, Playwright, Axios, Commander.js, MCP SDK। লাইসেন্স ISC। Canvas ও Moodle রোডম্যাপে রয়েছে।