MCP सर्वर
एक Model Context Protocol सर्वर होस्ट करें ताकि कोडिंग एजेंट आपके दस्तावेज़ों को सीधे खोज और पढ़ सकें — टूल, संसाधन, डिस्कवरी दस्तावेज़, कंटेंट-टाइप और फ़ैसेट फ़िल्टर, Connect to MCP मेन्यू, और इसके लिए आवश्यक सर्वर आउटपुट।
एक Model Context Protocol सर्वर होस्ट करें ताकि कोडिंग एजेंट (Claude Code, Cursor, VS Code, claude.ai कनेक्टर) आपके दस्तावेज़ों को सीधे खोज और पढ़ सकें — बिना स्क्रैपिंग के। यह ऑप्ट-इन है:
agents: {
mcp: {
enabled: true,
route: "/mcp", // where the server is mounted
},
}
| विकल्प | डिफ़ॉल्ट | विवरण |
|---|---|---|
enabled |
false |
MCP सर्वर जनरेट और होस्ट करें। |
route |
/mcp |
वह पथ जिस पर Streamable-HTTP एंडपॉइंट माउंट किया जाता है। |
name |
title | क्लाइंट को दिखाया जाने वाला सर्वर नाम (डिफ़ॉल्ट रूप से title)। |
instructions |
— | कनेक्ट होने वाले एजेंट को दिया जाने वाला वैकल्पिक सिस्टम संकेत। |
clients |
true |
वे क्लाइंट जिनमें Connect to MCP मेन्यू सर्वर इंस्टॉल करता है। |
यदि कोई कंटेंट या कस्टम पृष्ठ पहले से ही उस रूट का उपयोग कर रहा है, तो सर्वर जनरेट नहीं किया जाता: बिल्ड एक चेतावनी देता है, और llms.txt तथा अन्य डिस्कवरी दस्तावेज़ इसे शामिल नहीं करते।
अपने दस्तावेज़ों में MCP सर्वर जोड़ें गाइड इसे चालू करने से लेकर सर्वर को डिप्लॉय करने और किसी क्लाइंट को कनेक्ट करने तक की पूरी प्रक्रिया चरण-दर-चरण बताती है।
टूल और संसाधन
सर्वर केवल-पढ़ने योग्य टूल उपलब्ध कराता है — search_docs, get_page, list_pages, और get_navigation — तथा प्रत्येक पृष्ठ को एक MCP संसाधन के रूप में (resources/list पृष्ठों को उनके सर्व किए गए URL पर text/markdown प्रकार के साथ सूचीबद्ध करता है, और list_pages की तरह ही बिना अनुवाद वाले पृष्ठों की i18n फ़ॉलबैक प्रतियों को छोड़ देता है; resources/read पृष्ठ का एजेंट Markdown लौटाता है, वही आउटपुट जो get_page देता है), जिससे URI द्वारा संदर्भ जोड़ने वाले क्लाइंट बिना कोई टूल कॉल किए दस्तावेज़ ब्राउज़ कर सकते हैं। यह /.well-known/mcp.json और /.well-known/mcp/server-card.json पर डिस्कवरी दस्तावेज़ प्रकाशित करता है। सर्वर कार्ड SEP-2127 Server Card एक्सटेंशन स्कीमा का पालन करता है (रिवर्स-DNS name, remotes ट्रांसपोर्ट एंडपॉइंट), साथ ही प्रस्ताव के पुराने संशोधन के अनुसार बने स्कैनर के लिए initialize-आकार वाले संगतता फ़ील्ड (serverInfo, capabilities, transports) भी शामिल हैं। प्रत्येक पृष्ठ का Connect to MCP मेन्यू Claude Code, Cursor, VS Code, और Codex के लिए कॉपी-एंड-गो इंस्टॉल प्रदान करता है (deployment.site सेट होने के बाद दिखाया जाता है), और आप चुन सकते हैं कि इसमें कौन-से क्लाइंट सूचीबद्ध हों।
search_docs अपना स्वयं का फ़ुल-टेक्स्ट इंडेक्स चलाता है, इसलिए यह आपके search प्रदाता की परवाह किए बिना काम करता है — और search: false होने पर भी। MCP सर्वर ऑन-पेज सर्च से एक अलग सुविधा है।
छिपे हुए पृष्ठ list_pages और resources/list में शामिल नहीं होते, और search_docs में भी तब तक शामिल नहीं होते जब तक search.indexing.includeHiddenPages चालू न हो — ठीक वैसे ही जैसे वे साइट सर्च और llms.txt से बाहर रहते हैं। get_page और resources/read फिर भी किसी छिपे हुए पृष्ठ को उसके रूट द्वारा लौटाते हैं: छिपा हुआ होने का अर्थ निजी होना नहीं है, और पृष्ठ अब भी अपने URL पर और Markdown के रूप में सर्व किया जाता है।
वही टूल सादे HTTP पर JSON API के रूप में उपलब्ध हैं, उन फ़्रेमवर्क के लिए जो MCP नहीं समझते।
एंडपॉइंट अनुरोध बॉडी को केवल 64 KB तक पढ़ता है और इससे बड़े किसी भी अनुरोध का उत्तर 413 के साथ देता है। किसी ऐसे टूल को किया गया कॉल जो मौजूद नहीं है, या ऐसे arguments के साथ किया गया कॉल जो ऑब्जेक्ट नहीं हैं, JSON-RPC Invalid params त्रुटि (-32602) प्राप्त करता है।
कंटेंट टाइप और फ़ैसेट द्वारा स्कोपिंग
search_docs और list_pages दोनों एक वैकल्पिक contentTypes फ़िल्टर स्वीकार करते हैं, जो परिणामों को दिए गए फ़्रंटमैटर type वाले पृष्ठों तक सीमित करता है — ["rfc"], ["blog", "changelog"] — ताकि ऐसी साइट पर काम करने वाला एजेंट जो दस्तावेज़ों को RFC, रनबुक, या नीतियों के साथ मिलाती है, अपनी आवश्यकता के अनुसार पृष्ठ प्रकार तक पुनर्प्राप्ति को सीमित कर सके। प्रत्येक परिणाम अपना कंटेंट टाइप बताता है, और list_pages का आउटपुट उपयोग में आने वाले प्रकार दिखाता है।
दोनों टूल एक filters ऑब्जेक्ट भी स्वीकार करते हैं जो उन फ़ैसेट से मिलान करता है जिन्हें साइट प्रति कंटेंट टाइप घोषित करती है (content.types.<type>.facets) — कस्टम फ़्रंटमैटर कुंजियाँ जिनके मान फ़िल्टर करने योग्य मेटाडेटा बन जाते हैं:
{
"query": "OpenAPI request schemas",
"contentTypes": ["rfc"],
"filters": { "domain": "architecture", "status": "enforced" }
}
प्रत्येक filters प्रविष्टि का मिलान होना आवश्यक है (परिणाम अपने फ़ैसेट मान साथ लाते हैं, और list_pages प्रत्येक पृष्ठ के मान दिखाता है), जिससे एक नॉलेज बेस प्रोग्रेसिव-डिस्क्लोज़र एजेंट वर्कफ़्लो चला सकता है — लागू किए गए मानकों की सूची बनाएँ, केवल उन्हीं के भीतर खोजें — बिना अपने किसी सर्वर के।
कोई मान ठीक उसी रूप में मिलान करता है जैसा list_pages उसे दिखाता है, अक्षरों के केस सहित: "enforced" उस पृष्ठ से मेल नहीं खाता जिसका status Enforced है। फ़ैसेट मान स्ट्रिंग होते हैं, इसलिए filters में कोई संख्या या बूलियन अपने स्ट्रिंग रूप से मिलान करता है ({"priority": 1} से priority: 1 वाला पृष्ठ मिलता है), और किसी अन्य आकार का मान, जैसे कोई सूची, फ़िल्टर करने के बजाय अनदेखा कर दिया जाता है।
Connect to MCP मेन्यू
Connect to MCP पृष्ठ क्रिया सर्वर का URL कॉपी करती है, और फिर उन क्लाइंट को सूचीबद्ध करती है जिनमें यह सर्वर इंस्टॉल करती है: Claude Code और Codex के लिए कॉपी करने योग्य कमांड, तथा Cursor और VS Code के लिए इंस्टॉल लिंक। clients इन्हें चुनता है। true (डिफ़ॉल्ट) सभी अंतर्निहित क्लाइंट सूचीबद्ध करता है, false कोई भी नहीं, जिससे मेन्यू में केवल Copy server URL रह जाता है, और एक सूची आपके द्वारा नामित क्लाइंट को उसी क्रम में दिखाती है, कमांड और लिंक के बीच एक विभाजक रेखा के साथ।
ऐसा क्लाइंट जिसे Blume साथ में प्रदान नहीं करता, एक ऑब्जेक्ट होता है जिसमें एक label और कॉपी किया जाने वाला command होता है। कमांड में {name} सर्वर के नाम के id रूप से बदल जाता है: name, या साइट का title, लोअरकेस में, जिसमें a–z और 0–9 के अलावा अन्य वर्णों के प्रत्येक क्रम को एक हाइफ़न में बदल दिया जाता है और सिरों को ट्रिम कर दिया जाता है (यदि कुछ भी शेष न रहे तो docs)। {url} सर्वर के URL से बदल जाता है। किसी बहुभाषी साइट पर, label लोकेल कोड से टेक्स्ट का एक मैप हो सकता है। icon किसी अंतर्निहित आइकन का नाम, इमेज पथ/URL, या इनलाइन SVG स्वीकार करता है, और इसका डिफ़ॉल्ट terminal है।
agents: {
mcp: {
enabled: true,
clients: [
"claude-code",
"codex",
{
label: "Copy Copilot CLI command",
command: "copilot mcp add --transport http {name} {url}",
},
"cursor",
"vscode",
],
},
}
| कुंजी | मेन्यू पंक्ति |
|---|---|
claude-code |
Claude Code के लिए claude mcp add कमांड कॉपी करता है। |
codex |
Codex के लिए codex mcp add कमांड कॉपी करता है। |
cursor |
Cursor का MCP इंस्टॉल लिंक खोलता है। |
vscode |
VS Code का MCP इंस्टॉल लिंक खोलता है। |
सर्वर आउटपुट आवश्यक
MCP सर्वर एक लाइव एंडपॉइंट (/mcp) है, इसलिए यह स्टैटिक बिल्ड पर नहीं चल सकता। सर्वर आउटपुट पर स्विच करने के लिए blume/deploy से एक होस्ट एडाप्टर निर्दिष्ट करें:
import { node } from "blume/deploy"; // or vercel, netlify, cloudflare
export default defineConfig({
deployment: node({ site: "https://docs.example.com" }),
});
agents.mcp.enabled के साथ स्टैटिक बिल्ड तुरंत विफल हो जाता है और एक संदेश देता है जो आपको एक होस्ट एडाप्टर सेट करने के लिए कहता है। एडाप्टर के लिए Deployment देखें। डिप्लॉय हो जाने के बाद, Claude Code से इस तरह कनेक्ट करें:
claude mcp add --transport http my-docs https://docs.example.com/mcp