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

fumasignal-mcp হলো একটি থার্ড-পার্টি, অফিশিয়াল না হওয়া Model Context Protocol (MCP) সার্ভার যা AI আসিস্ট্যান্টদের Fumadocs দিয়ে তৈরি ডকুমেন্টেশন সাইট সার্চ ও পড়ার সুবিধা দেয়। এটি কোনো ডিপ্লয়ড Fumadocs URL বা লোকাল Fumadocs প্রজেক্ট ডিরেক্টরির দিকে নির্দেশিত হয় এবং MCP-স্পিকিং ক্লায়েন্টের জন্য রিড-অনলি টুল প্রকাশ করে। প্রজেক্টের নাম Fumadocs অথরের হ্যান্ডেল fuma-nama এবং ধোঁয়ার সংকেতের ধারণার ওপর ভিত্তি করে তৈরি, যা AI ক্লায়েন্ট ও বহির্মুখী টুলের মধ্যে বার্তা বহন করে। অথর স্পষ্টভাবে বলেছেন যে এটি Fumadocs প্রজেক্টের সাথে কোনোভাবেই সম্পর্কিত নয়। অপারেটিং মোড সার্ভার দুটি মোডে চালিত হয়। রিমোট মোডে আপনি কোনো ডিপ্লয়ড Fumadocs সাইটের অবস্থান প্রদান করেন (শুধু স্কিম ও হোস্ট, ডক্স পাথ আলাদা কনফিগার করা হয়), যা লোকাল সেটআপের প্রয়োজন নেই। লোকাল মোডে আপনি এটিকে ডিস্কে একটি Fumadocs প্রজেক্ট রুটের দিকে নির্দেশ করেন, যা অফলাইন কাজ বা প্রি-ডিপ্লয় চেকের জন্য উপযুক্ত। এটি একটি সিঙ্গেল npx বাইনারি হিসেবে বণ্টিত হয়, তাই সাধারণ ইনভোকেশন হলো npx -y fumasignal-mcp --url https://your-docs.com, এবং সকল অ্যাক্সেস রিড-অনলি হিসেবে বর্ণনা করা হয়, ডকুমেন্টেশন কখনো পরিবর্তন করে না। প্রকাশিত টুল সাতটি টুল প্রদান করা হয়েছে। search_docs সাইটের Orama সার্চ API বরাবর ফুল-টেক্সট সার্চ করে এবং একটি ক्वেরি প্রয়োজন; এটি মাল্টি-ডক্স সাইটের জন্য tag আর্গুমেন্টও গ্রহণ করে। list_pages পরিচিত ডকুমেন্টেশন পেজ তালিকাভুক্ত করে এবং URL পিস্টেড দ্বারা ফিল্টার করা যায়। get_page একটি পেজের সম্পূর্ণ Markdown কন্টেন্ট আনায়। get_section একটি হেডিং অ্যাংকার দ্বারা চিহ্নিত একক সেকশন আনায়। get_toc একটি পেজের হেডিং এবং তাদের অ্যাংকার তালিকাভুক্ত করে। get_meta frontmatter বা পেজ মেটাডেটা JSON হিসেবে ফেরত দেয়। get_llms_txt llms.txt আনে, অথবা full অপশন সেট থাকলে llms-full.txt আনে। পেজ রেফারেন্স URL পাস, একই হোস্টের এক্সোলুট URL, অথবা docs পিস্টেডের নীচে একটি স্লাগ হিসেবে দেওয়া যেতে পারে। ক্লায়েন্ট কনফিগারেশন README-তে Claude Desktop, Claude Code, Cursor, VS Code with GitHub Copilot Chat, এবং Continue.dev-এর জন্য কনফিগারেশন স্নিপেট ডকুমেন্ট করা হয়েছে, stdio ট্রান্সপোর্ট ব্যবহার করে প্রতিটি ক্ষেত্রে একই npx কমান্ড। বিভিন্ন কী-এর নীচে একাধিক ইনস্ট্যান্স regisster করে একাধিক ডকুমেন্টেশন সাইট পরিবেশন করা যেতে পারে। Continue.dev-এর জন্য একটি রিইউজেবল JSON ফাইল এবং নেটিভ YAML ফর্ম্যাট উভয়ই দেখানো হয়েছে। কনফিগারেশন ফ্ল্যাগ ও পরিবেশ ভেরিয়েবল CLI ফ্ল্যাগের মধ্যে রয়েছে --url সাইট অবস্থানের জন্য, --local একটি লোকাল প্রজেক্ট রুটের জন্য, --search-path ডিফল্ট ছাড়া সার্চ API পাথের জন্য (ডিফল্ট /api/search, সবসময় অরিজিন রুট থেকে রিজলভ করা হয়), --docs-pisxt ডকুমেন্টেশন URL পিস্টেডের জন্য (ডিফল্ট /docs), --content-dir লোকাল কন্টেন্ট ডিরেক্টরির জন্য (ডিফল্ট content/docs), --auth-header অথেনটিকেটেড সাইটের জন্য, --cache-ttl রিমোট রেসপন্স ক্যাশের জন্য (ডিফল্ট 300000 মিলিসেকেন্ড), সাথে --version এবং --help। প্রতিটি ফ্ল্যাগের একটি অনুরূপ FUMASIGNAL_* পরিবেশ ভেরিয়েবল রয়েছে, যেখানে এক্সপ্লিসিট ফ্ল্যাগকে প্রাধান্য দেওয়া হয়, এবং FUMASIGNAL_LOG_LEVEL নামক একটি অতিরিক্ত সেটিং রয়েছে যাতে কোনো ফ্ল্যাগ সমতুল্য নেই। README রহস্যময় তথ্য কমান্ড লাইনের বদলে পরিবেশ ভেরিয়েবলের মাধ্যমে প্রদান করার পরামর্শ দেয় যাতে তা shell হিস্টরি বা প্রসেস লিস্টিং-এ স্থায়ী না হয়। রিসিভাল কীভাবে কাজ করে রিমোট মোডে, সার্চ সাইটের Orama API কল করে এবং ফ্ল্যাট-অ্যারে ও hits/document রেসপন্স শেপ উভয় হ্যান্ডেল করে; পেজ তালিকা sitemap.xml আনে এবং docs পিস্টেড দ্বারা ফিল্টার করে; পেজ রিসিভাল প্রথমে URL-এর .md, .mdx এবং /raw ভারিয়েন্ট চেষ্টা করে, অন্যথায় rendered HTML স্ক্রাপিং করে এবং Turndown দিয়ে article বা main এলিমেন্টকে Markdown-এ রূপান্তর করে; llms.txt সরাসরি আনা হয়। রিমোট রেসপন্স মেমোরিতে পাঁচ মিনিটের ডিফল্ট TTL-এ ক্যাশড হয়। লোকাল মোডে সার্ভার content ডিরেক্টরির নীচে Markdown ও MDX ফাইল হাঁটে, gray-matter দিয়ে frontmatter পার্স করে, index ফাইলকে docs রুটের সাথে ম্যাপ করে, এবং heading-ওয়েটেড টোকেন ম্যাচিং ব্যবহার করে সার্চ রেজাল্ট স্কোর করে। কম্প্যাটিবিলিটি ও টেস্টিং প্রজেক্টটি Node.js 20 বা তার পরবর্তী সংস্করণ প্রয়োজন, default Orama সার্চ API ও স্ট্যান্ডার্ড sitemap লেআউটের সাথে টেস্ট করা হয়েছে বলে উল্লেখ করে, এবং STDIO MCP ক্লায়েন্টের সাথে কাজ করে বলে দাবি করে, Claude Desktop, Claude Code, Cursor, VS Code অপশন, Zed এবং Cline-সহ নাম উল্লেখ করে। এতে search, sitemap ও HTML পথে fixtures কভার করা 280-এর বেশি ইউনিট টেস্ট রয়েছে বলে উল্লেখ করা হয়েছে। টার্বলশুটিং ও ডেভেলপমেন্ট README সাধারণ সমস্যাবলী কভার করে: একটি missing sitemap শুধুমাত্র list_pages-এর প্রভাব ফেলে, সার্চে 404 সাধারণত কোনো নন-ডিফল্ট সার্চ পাথ বা URL-এ পাথ থাকার কারণে হয়, HTML স্ক্রাপিং Markdown এন্ডপয়েন্ট ছাড়া সাইটে noise উৎপন্ন করতে পারে, এবং MCP Inspector স্ক্রিপ্ট প্রদান করা হয়েছে যাতে টুল সঠিকভাবে regisster হয়েছে কিনা যাচাই করা যায়। ডেভেলপমেন্ট নির্দেশাবলী cloning, installing, tsc দিয়ে টাইপ চেক, eslint দিয়ে linting, vitest দিয়ে টেস্টিং, tsup দিয়ে বিল্ড, এবং একটি কম্বাইন্ড চেক স্ক্রিপ্ট কভার করে। অবদানের আমন্ত্রণ জানানো হয়েছে, কিন্তু গুরুত্বপূর্ণ পরিবর্তনের জন্য প্রথমত একটি ইস্যু খোলার অনুরোধ করা হয়েছে। প্রজেক্টটি MIT লাইসেন্সের অধীনে প্রকাশিত হয়েছে।