इस प्रोजेक्ट के बारे में

fumasignal-mcp एक थर्ड-पार्टी, अनौपचारिक मॉडल कॉन्टेक्स्ट प्रोटोकॉल (MCP) सर्वर है जिसका उद्देश्य AI सहायकों को Fumadocs के साथ बनाई गई डॉक्यूमेंटेशन साइट्स को खोजने और पढ़ने की अनुमति देना है। यह या तो एक डिप्लॉय किए गए Fumadocs URL या एक लोकल Fumadocs प्रोजेक्ट डायरेक्टरी की ओर इशारा करता है, और किसी भी MCP-कॉलिंग क्लाइंट के लिए रीड-ओनली टूल्स का सेट एक्सपोज़ करता है। प्रोजेक्ट का नाम Fumadocs के लेखक हैंडिल fuma-nama और इस विचार पर खेल है कि धुएं के संकेत AI क्लाइंट और बाहरी उपकरण के बीच संदेश पहुंचाते हैं। लेखक ने स्पष्ट रूप से कहा है कि यह Fumadocs प्रोजेक्ट से संलग्न नहीं है। ऑपरेटिंग मोड सर्वर दो मोड में चलता है। रिमोट मोड में आप एक डिप्लॉय किए गए Fumadocs साइट के ओरिजिन को आपूर्ति करते हैं (स्कीम प्लस होस्ट मात्र, डॉक्स पाथ अलग से कॉन्फ़िगर), जिसके लिए कोई लोकल सेटअप की आवश्यकता नहीं होती है। लोकल मोड में आप इसे डिस्क पर एक Fumadocs प्रोजेक्ट रूट की ओर इशारा करते हैं, जो ऑफलाइन कार्य या प्री-डिप्लॉय जांच के लिए उपयुक्त है। यह एकल npx बinaire के रूप में वितरित होता है, इसलिए एक आम उदाहरण npx -y fumasignal-mcp --url https://your-docs.com है, और सभी पहुंच को रीड-ओनली के रूप में वर्णित किया गया है, डॉक्यूमेंटेशन को कभी भी म्यूटेट नहीं करता है। एक्सपोज्ड टूल्स सात टूल्स प्रदान किए जाते हैं। search_docs साइट की Orama सर्च API के माध्यम से पूर्ण-पाठ खोज करता है और एक क्वेरी की आवश्यकता होती है; यह मल्टी-डॉक्स साइट्स के लिए टैग तर्क भी स्वीकार करता है। list_pages ज्ञात डॉक्यूमेंटेशन पेजों की गणना करता है और URL उपसर्ग द्वारा फ़िल्टर किया जा सकता है। get_page एक पेज का पूर्ण मार्कडाउन कंटेंट प्राप्त करता है। get_section हेडिंग एंकर द्वारा पहचाने जाने वाले एकल खंड को पुनः प्राप्त करता है। get_toc एक पेज के शीर्षकों को उनके एंकर के साथ सूचीबद्ध करता है। get_meta frontmatter या पेज मेटाडेटा को JSON के रूप में लौटाता है। get_llms_txt llms.txt प्राप्त करता है, या जब पूर्ण विकल्प सेट होता है तो llms-full.txt। पेज संदर्भों को URL पाथ, एक निरपेक्ष समान-होस्ट URL, या docs उपसर्ग के तहत स्लग के रूप में दिया जा सकता है। क्लाइंट कॉन्फ़िगरेशन README में Claude Desktop, Claude Code, Cursor, VS Code with GitHub Copilot Chat, और Continue.dev के लिए कॉन्फ़िगरेशन स्निपेट दस्तावेज़ीकृत हैं, stdio ट्रांसपोर्ट का उपयोग करते हुए और प्रत्येक मामले में समान npx कमांड। कई डॉक्यूमेंटेशन साइट्स को अलग-अलग कुंजी के तहत कई उदाहरणों को पंजीकृत करके सेवा दी जा सकती है। Continue.dev के लिए, एक पुन: प्रयोग योग्य JSON फ़ाइल और नेटिव YAML प्रारूप दोनों दिखाए गए हैं। कॉन्फ़िगरेशन फ्लैग और एन्वायरिमेंट वेरिएबल्स CLI फ्लैग में --url साइट ओरिजिन के लिए, --local एक लोकल प्रोजेक्ट रूट के लिए, --search-path एक गैर-डीफ़ॉल्ट सर्च API पाथ के लिए (डीफ़ॉल्ट /api/search, हमेशा ओरिजिन रूट से संकलित), --docs-prefix डॉक्यूमेंटेशन URL उपसर्ग के लिए (डीफ़ॉल्ट /docs), --content-dir लोकल कंटेंट डायरेक्टरी के लिए (डीफ़ॉल्ट content/docs), --auth-header प्रमाणीकृत साइटों के लिए, --cache-ttl रिमोट रेस्पॉन्स कैशिंग के लिए (डीफ़ॉल्ट 300000 ms), plus --version and --help शामिल हैं। प्रत्येक फ्लैग का एक संबंधित FUMASIGNAL_* एन्वायरिमेंट वेरिएबल है, स्पष्ट फ्लैग को प्राथमिकता देने के साथ, और एक अतिरिक्त FUMASIGNAL_LOG_LEVEL सेटिंग है जिसका कोई फ्लैग समकक्ष नहीं है। README रहस्यों को कमांड लाइन के बजाय एन्वायरिमेंट वेरिएबल के माध्यम से पास करने की सलाह देता है ताकि वे शैल इतिहास या प्रोसेस लिस्टिंग में नहीं रहें। रीट्रीवल कैसे काम करता है रिमोट मोड में, सर्च साइट की Orama API को कॉल करता है और फ्लैट-एरे और hits/document रेस्पॉन्स आकार दोनों को संभालता है; पेजों की सूची sitemap.xml को खींचता है और docs उपसर्ग द्वारा फ़िल्टर करता है; पेज पुनः प्राप्ति पहले .md, .mdx और /raw वेरिएंट की कोशिश करती है और अन्यथा रेंडर किए गए HTML को स्कrape करके और Turndown के साथ article या main एलिमेंट को Markdown में परिवर्तित करके fallback करती है; llms.txt को सीधे प्राप्त किया जाता है। रिमोट रेस्पॉन्स पांच-मिनट के डीफ़ॉल्ट TTL के साथ मेमोरी में कैश होते हैं। लोकल मोड में सर्वर कंटेंट डायरेक्टरी के तहत Markdown और MDX फ़ाइलों को वॉक करता है, gray-matter के साथ frontmatter को parse करता है, इंडेक्स फ़ाइलों को docs रूट से मैप करता है, और हेडिंग-वेटेड टोकन मैचिंग का उपयोग करके सर्च रेस्पॉन्स को स्कोर करता है। कम्पैटिबिलिटी और टेस्टिंग प्रोजेक्ट को Node.js 20 या बाद की आवश्यकता होती है, यह बताता है कि इसका परीक्षण डीफ़ॉल्ट Orama सर्च API और स्टैंडर्ड sitemap लेआउट के खिलाफ किया गया है, और यह किसी भी STDIO MCP क्लाइंट के साथ काम करता है, जिसमें Claude Desktop, Claude Code, Cursor, VS Code options, Zed और Cline शामिल हैं। यह 280 से अधिक यूनिट टेस्ट की रिपोर्ट करता है जिनमें सर्च, sitemap और HTML पाथ को कवर करने वाले fixture शामिल हैं। ट्रबलशूटिंग और डेवलपमेंट README आम समस्याओं को कवर करता है: एक गायब sitemap केवल list_pages को प्रभावित करता है, सर्च पर 404 आमतौर पर गैर-डीफ़ॉल्ट सर्च पाथ या एक ऐसे URL को दर्शाता है जिसमें पाथ शामिल है, HTML स्क्रेपिंग मार्कडाउन एंडपॉइंट्स वाली साइटों पर शोर पैदा कर सकता है, और MCP Inspector स्क्रिप्ट प्रदान की जाती है जो यह सत्यापित करती है कि टूल्स सही तरीके से रजिस्टर होते हैं। डेवलपमेंट निर्देश क्लोन करने, इंस्टॉल करने, tsc के साथ टाइप चेकिंग, eslint के साथ linting, vitest के साथ टेस्टिंग, tsup के साथ बिल्ड करने, और एक कॉम्बाइंड चेक स्क्रिप्ट को कवर करते हैं। योगदान को आमंत्रित किया जाता है, गैर-ट्रिवियल बदलावों के लिए पहले एक मुद्दा खोलने के अनुरोध के साथ। प्रोजेक्ट MIT लाइसेंस के तहत जारी किया जाता है।