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

MCP Inspector হলো Model Context Protocol (MCP) সার্ভার পরীক্ষা ও নিরীক্ষণের জন্য ডেভেলপার-কেন্দ্রিক একটি টুল। এটি একটি একক npm প্যাকেজ, `@modelcontextprotocol/inspector` হিসেবে সরবরাহ করা হয় এবং একটি গ্লোবাল বাইনারি, `mcp-inspector` প্রকাশ করে, যা তিনটি মোডে চলে: - **Web** — একটি Vite + React + Mantine সিঙ্গেল-পেজ অ্যাপ্লিকেশন, সাথে Node.js ব্যাকএন্ড, যা সার্ভার নিরীক্ষণের জন্য ভিজ্যুয়াল ইন্টারফেস দেয়। - **CLI** — অটোমেশন, CI পাইপলাইন এবং দ্রুত এজেন্ট ফিডব্যাক লুপের জন্য ডিজাইন করা একটি স্ক্রিপ্টযোগ্য কমান্ড-লাইন ক্লায়েন্ট। - **TUI** — Ink দিয়ে তৈরি একটি ইন্টারঅ্যাকটিভ টার্মিনাল UI, যারা টার্মিনাল-ভিত্তিক ওয়ার্কফ্লো পছন্দ করেন তাদের জন্য। তিনটি মোডই একই বাইনারির মাধ্যমে ফ্ল্যাগ দিয়ে চালু করা হয়: ```bash npx @modelcontextprotocol/inspector # web UI (default) npx @modelcontextprotocol/inspector --cli # CLI mode npx @modelcontextprotocol/inspector --tui # TUI mode ``` ## আর্কিটেকচার প্রকল্পটি একটি npm ওয়ার্কস্পেস নয়। `clients/`-এর অধীনে প্রতিটি ক্লায়েন্ট নিজস্ব `package.json` এবং `node_modules` বজায় রাখে। শেয়ার্ড কোড `core/`-এ থাকে এবং `@inspector/core` বিল্ড-টাইম অ্যালিয়াসের মাধ্যমে ব্যবহৃত হয়। `core/` দ্বারা ইমপোর্ট করা রানটাইম ডিপেন্ডেন্সিগুলো রেপো রুটে একবার ঘোষণা করা হয়, অন্যদিকে প্রতিটি ক্লায়েন্ট শুধু নিজস্ব UI স্ট্যাক, বান্ডলার-ইনলাইনড প্যাকেজ এবং ডেভ টুলিং ঘোষণা করে। `clients/cli` এবং `clients/launcher` প্যাকেজগুলোর নিজস্ব কোনো রানটাইম ডিপেন্ডেন্সি নেই। ## প্রকল্প লেআউট - `clients/web/` — Web ক্লায়েন্ট (Vite + React + Mantine)। `src/` ডিরেক্টরিতে ব্রাউজার অ্যাপ থাকে; `server/`-এ Node ব্যাকএন্ড থাকে। - `clients/cli/` — CLI ক্লায়েন্ট, `@inspector/core` অ্যালিয়াস ব্যবহার করে tsup দিয়ে বান্ডল করা। - `clients/tui/` — TUI ক্লায়েন্ট, Ink + React দিয়ে তৈরি এবং tsup দিয়ে বান্ডল করা। - `clients/launcher/` — শেয়ার্ড লঞ্চার, যা `mcp-inspector` বাইনারি সরবরাহ করে এবং উপযুক্ত ক্লায়েন্টে ডিসপ্যাচ করে। - `core/` — `@inspector/core` অ্যালিয়াসের মাধ্যমে ব্যবহৃত শেয়ার্ড কোড; এর কোনো `package.json` নেই। - `test-servers/` — ইন্টিগ্রেশন ও স্মোক টেস্টে ব্যবহৃত কম্পোজেবল MCP টেস্ট সার্ভার এবং ফিক্সচার। - `scripts/` — রুট বিল্ড ও ভেরিফিকেশন টুলিং, যার মধ্যে ইনস্টল ক্যাসকেড, স্মোক টেস্ট এবং CI অটোমেশন রয়েছে। - `docs/` — আর্কিটেকচার, টেস্টিং, কোয়ালিটি গেট, সিক্রেট স্টোরেজ, মাইগ্রেশন, Docker ব্যবহার ইত্যাদি কভার করা টাস্ক-ভিত্তিক গাইড। - `specification/` — ডিজাইন ও বিল্ড স্পেসিফিকেশন। - `.claude/skills/` — এজেন্ট স্কিল, প্রতিটি নিজস্ব ডিরেক্টরিতে, প্রসিডিউর নাম অনুযায়ী অন-ডিমান্ড লোড করা হয়। ## ডেভেলপমেন্ট ওয়ার্কফ্লো Node `>=22.19.0` প্রয়োজন। রেপোজিটরি রুটে `npm install` চালানোর পর (postinstall স্ক্রিপ্ট প্রতিটি ক্লায়েন্টে ক্যাসকেড করে), web, CLI, TUI এবং লঞ্চার ক্রমানুসারে কম্পাইল করতে `npm run build` চালান। দ্রুত web ডেভেলপমেন্টের জন্য, লঞ্চার রিবিল্ড না করেই দ্রুত হট-মডিউল রিপ্লেসমেন্টের জন্য `clients/web` থেকে সরাসরি Vite চালাতে পারেন। বাধ্যতামূলক প্রি-পুশ গেট হলো `npm run local:gate`, যা ফরম্যাট চেক, লিন্টিং, টাইপ-চেকিং, বিল্ড, ইউনিট টেস্ট, কভারেজ ভেরিফিকেশন (প্রতি-ফাইলে 90% থ্রেশহোল্ড), স্মোক টেস্ট এবং Storybook টেস্ট একসাথে চালায়। এটি স্থানীয়ভাবে সম্পূর্ণ GitHub CI চেকের প্রতিচ্ছবি। ## ডকুমেন্টেশন হাইলাইটস - **আর্কিটেকচার** — শেয়ার্ড `@inspector/core` প্যাকেজ এবং web ক্লায়েন্ট কম্পোনেন্ট মডেলের বিস্তারিত। - **টেস্টিং ও কোয়ালিটি গেট** — প্রতিটি ভ্যালিডেশন স্ক্রিপ্ট কী যাচাই করে এবং CI-বনাম-লোকাল গেট বিভাজন কভার করে। - **সিক্রেট স্টোরেজ** — OS কীচেইন, প্লেইনটেক্সট ফাইল এবং ইন-মেমরি স্টোরে সিক্রেট কীভাবে ব্যবস্থাপনা করা হয়, এনক্রিপশন ও লকিংসহ। - **একটি MCP সার্ভার স্মোক-টেস্টিং** — শেল বা CI জবের জন্য connect → list → call → assert ওয়ার্কফ্লো, JSON আউটপুট এবং exit-code ম্যাপিংসহ। - **v1 থেকে v2-তে মাইগ্রেশন** — CLI ফ্ল্যাগ পরিবর্তন, `--config` বনাম `--catalog` বিভাজন, Node ইঞ্জিন বৃদ্ধি এবং env-var নাম পরিবর্তন। - **রোডম্যাপ** — প্রকাশিত MCP রোডম্যাপের সাথে সামঞ্জস্যপূর্ণ ছয় মাসের পরিকল্পনা, যা স্পেক কমপ্লায়েন্স, অফিসিয়াল এক্সটেনশন সাপোর্ট এবং অভিজ্ঞতার উন্নতি কভার করে। ## অবদান রাখা অবদানগুলো ইস্যু-চালিত ওয়ার্কফ্লো অনুসরণ করে। সমস্ত কাজ v2 প্রকল্প বোর্ডে ট্র্যাক করা উচিত, PR `v2/main`-এর বিরুদ্ধে খোলা এবং `Closes #<issue>`-এর মাধ্যমে লিংক করা। বাহ্যিক অবদান পুল রিকোয়েস্টের বদলে ইস্যু হিসেবে গ্রহণ করা হয়। `AGENTS.md` ফাইলটি মানব ও AI অবদানকারী উভয়ের জন্য প্রকল্পের নিয়মাবলী নির্ধারণ করে, যা ভার্সনিং, TypeScript স্ট্যান্ডার্ড, Mantine/React কনভেনশন এবং টেস্টিং প্রয়োজনীয়তা কভার করে। `CLAUDE.md` ফাইলটি Claude Code-এর এন্ট্রি পয়েন্ট হিসেবে কাজ করে, স্বয়ংক্রিয়ভাবে `AGENTS.md` লোড করে যাতে এজেন্ট ও মানুষ একই সত্যের উৎস থেকে কাজ করে। ## লাইসেন্স MCP প্রকল্পটি MIT থেকে Apache-2.0-তে রূপান্তরিত হচ্ছে। নতুন অবদান Apache-2.0-এর অধীনে লাইসেন্সকৃত, ডকুমেন্টেশন (স্পেসিফিকেশন বাদে) CC-BY-4.0-এর অধীনে, এবং রিলাইসেন্সিং সম্মতি না দেওয়া লিগ্যাসি অবদান MIT-এর অধীনে থাকবে।