10 मिनट में अपने MCP सर्वर को मुद्रीकरण करें।
AI एजेंटों को आपके MCP सर्वर को प्रति कॉल, USDC में, हस्ताक्षरित वेबहुक और ऑडिट लॉग के साथ भुगतान करने दें। x402-संगत। ड्रॉप-इन मिडलवेयर।
आपने एक MCP सर्वर बनाया। हजारों ग्राहक इसका मुफ्त में उपयोग कर रहे हैं।
आपने अपना MCP सर्वर इसलिए भेजा क्योंकि Claude Desktop, Cursor, और Cline ग्राहकों को इस क्षमता की आवश्यकता थी। शब्द फैला। आप अब AI एजेंटों से प्रति दिन हजारों भुगतान-टूल इनवोकेशन की सेवा कर रहे हैं जिनसे आप कभी नहीं मिले। आपका एग्रेस बिल वास्तविक है। आपके अंतर्निहित सेवा के लिए API कुंजी वास्तविक है। आपका रखरखाव समय वास्तविक है। राजस्व शून्य है।
आपके पास तीन विकल्प हैं। इसे मुफ्त रखें और बुनियादी ढांचे पर पैसे जलाएं। इसे मैनुअल API कुंजियों के पीछे गेट करें (और साइनअप फ़ॉर्म के घर्षण के कारण एजेंट ट्रैफ़िक का 95% खो दें)। या एक भुगतान परत जोड़ें जिसे AI एजेंट वास्तव में पूरा कर सकें - जो कि 402 Payment Required + USDC के लिए बनाया गया है।
Blockchain0x विकल्प तीन है। आपका MCP सर्वर हमारे API की ओर इशारा करता है। जब एक AI क्लाइंट एक भुगतान किए गए उपकरण को कॉल करता है, तो प्रतिक्रिया 402 होती है जिसमें एक होस्टेड भुगतान URL होता है। क्लाइंट (या उसका मानव पर्यवेक्षक) USDC में भुगतान करता है। आपका वेबहुक सक्रिय होता है। उस क्लाइंट से अगली कॉल सफल होती है। पूरे आकार को x402 कहा जाता है, और यह वही प्रोटोकॉल है जो Coinbase ने इस सटीक पैटर्न के लिए प्रकाशित किया था।
कैसे 402 भुगतान आवश्यक एक प्रोग्रामेटिक चेकआउट बनता है।
HTTP स्थिति कोड 402 तब से मौजूद है जब से विनिर्देश पहली बार लिखा गया था लेकिन कभी भी एक मानक कार्यान्वयन नहीं था। Coinbase का x402 प्रोटोकॉल अंततः इसे एक देता है। आकार सरल है: आपका उपकरण 402 चुनौती लौटाता है (एक संरचित JSON शरीर जो भुगतान करने का तरीका बताता है); ग्राहक भुगतान करता है और पुनः प्रयास करता है; कॉल सफल होती है। @blockchain0x/mcp से requirePayment आपके लिए उस चुनौती शरीर का निर्माण करता है।
{
"error": "payment_required",
"amountUsdc": "0.02",
"payTo": "0xYourMcpAgentAddress",
"hostedUrl": "https://pay.blockchain0x.com/checkout/docs-search",
"network": "mainnet",
"description": "docs search"
}चार राज्य
- अवैतनिक कॉल: AI क्लाइंट एक भुगतान किए गए उपकरण को बुलाता है। आपका हैंडलर आपके स्वयं के भुगतान-राज्य की जांच करता है, पाता है कि भुगतान करने वाला भुगतान के रूप में चिह्नित नहीं है, और requirePayment से 402 चुनौती बॉडी को एक उपकरण त्रुटि के रूप में लौटाता है।
- भुगतान: ग्राहक होस्टेडUrl का पालन करता है होस्टेड चेकआउट के लिए और Base पर USDC ट्रांसफर पूरा करता है (या तो x402-जानकारी वाले वॉलेट के माध्यम से प्रोग्रामेटिक रूप से या QR कोड के माध्यम से मैन्युअल रूप से)।
- वेबहुक: Blockchain0x श्रृंखला की पुष्टि के कुछ सेकंड के भीतर आपके एंडपॉइंट पर payment.received को सक्रिय करता है। आप इसे webhooks.verify के साथ सत्यापित करते हैं और अपने स्वयं के स्टोर में भुगतान करने वाले को भुगतान के रूप में रिकॉर्ड करते हैं।
- पुनः प्रयास: ग्राहक मूल MCP उपकरण कॉल को पुनः प्रयास करता है। आपका हैंडलर अब भुगतान करने वाले को भुगतान के रूप में चिह्नित करता है, उपकरण को चलाता है, और वास्तविक परिणाम लौटाता है।
हर भुगतान आपके Blockchain0x डैशबोर्ड में रिकॉर्ड किया जाता है, और हर payment.received वेबहुक आपके अपने लॉग में आता है। क्योंकि आप भुगतान-राज्य और वेबहुक हैंडलर के मालिक हैं, प्रति-उपकरण और प्रति-भुगतानकर्ता राजस्व विश्लेषण उन डेटा से निकलता है जो आप पहले से ही स्टोर करते हैं।
एक संपूर्ण कार्यशील उदाहरण।
requirePayment @blockchain0x/mcp से 402 चुनौती का निर्माण करता है; webhooks.verify @blockchain0x/node से पुष्टि को सत्यापित करता है। आपके पास बीच में दो छोटे टुकड़े हैं: उपकरण के अंदर भुगतान-राज्य की जांच, और वेबहुक हैंडलर जो एक भुगतानकर्ता को भुगतान के रूप में चिह्नित करता है। नीचे एक पूर्ण MCP सर्वर है जो एक भुगतान किए गए उपकरण के साथ-साथ इसके वेबहुक एंडपॉइंट को उजागर करता है।
import express from "express";
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { requirePayment } from "@blockchain0x/mcp";
import { webhooks } from "@blockchain0x/node";
const server = new McpServer({ name: "docs-search", version: "1.0.0" });
// You decide who counts as paid. Back this with Redis/Postgres in production.
const paid = new Set<string>();
server.tool(
"search_docs",
"Semantic search across our docs",
{ query: { type: "string" }, payer: { type: "string" } },
async ({ query, payer }) => {
if (!paid.has(`search_docs:${payer}`)) {
// Not paid yet: build an x402-compatible 402 challenge and return its
// body as a tool error. requirePayment is a challenge builder - it does
// not gate the call for you; this check is yours.
const { body } = requirePayment({
amountUsdc: "0.02",
payTo: "0xYourMcpAgentAddress",
hostedUrl: "https://pay.blockchain0x.com/checkout/docs-search",
description: "docs search",
});
return { content: [{ type: "text", text: JSON.stringify(body) }], isError: true };
}
const results = await runVectorSearch(query);
return { content: [{ type: "text", text: JSON.stringify(results) }] };
},
);
// Your webhook endpoint marks a payer as paid once the checkout settles.
const app = express();
app.post("/webhooks/blockchain0x", express.raw({ type: "*/*" }), (req, res) => {
const r = webhooks.verify({ headers: req.headers, rawBody: req.body, secret: process.env.BLOCKCHAIN0X_WEBHOOK_SECRET! });
if (!r.ok) return res.status(400).json({ code: r.code });
if (r.eventType === "payment.received") {
// Resolve (tool, payer) from the reference you encoded in hostedUrl, then:
paid.add("search_docs:0xPayer");
}
res.json({ received: true });
});सेटअप चरण
- 1अपने MCP सर्वर के लिए एक Blockchain0x एजेंट वॉलेट बनाएं, एक योजना पर जिसमें API और वेबहुक पहुंच शामिल है। उस वॉलेट पते को नोट करें जिसका आप payTo के रूप में उपयोग करेंगे।
- 2पैकेज इंस्टॉल करें:
npm install @blockchain0x/mcp @blockchain0x/node - 3पर्यावरण चर सेट करें: BLOCKCHAIN0X_API_KEY (MCP सर्वर इसे Authorization: Bearer के रूप में भेजता है) और BLOCKCHAIN0X_WEBHOOK_SECRET (डैशबोर्ड साइनिंग सीक्रेट, जिसके खिलाफ webhooks.verify जांच करता है).
- 4अपने भुगतान किए गए उपकरणों को गेट करें अपने स्वयं के भुगतान-राज्य की जांच करके और तब requirePayment चुनौती बॉडी लौटाकर जब कॉल करने वाले ने भुगतान नहीं किया हो। मुफ्त उपकरणों को बिना गेट के छोड़ दें।
- 5वेबहुक एंडपॉइंट कॉन्फ़िगर करें Blockchain0x डैशबोर्ड में (उदाहरण के लिए /webhooks/blockchain0x), फिर हर डिलीवरी को webhooks.verify के साथ सत्यापित करें और भुगतान.received पर भुगतान करने वाले को भुगतान के रूप में चिह्नित करें।
- 6डिप्लॉय करें. पहला AI क्लाइंट जो आपके भुगतान किए गए उपकरण पर हिट करता है, उसे 402 मिलता है, भुगतान करता है, और अगली कॉल सफल होती है। आप 10 सेकंड के भीतर डैशबोर्ड में भुगतान देखते हैं।
आप npx @blockchain0x/mcp (stdio) के साथ Blockchain0x MCP सर्वर को स्वयं भी चला सकते हैं या mcp.blockchain0x.com पर होस्टेड स्ट्रीम करने योग्य HTTP कंटेनर चला सकते हैं। पूरा सेटअप, जिसमें वेबहुक पेलोड आकार शामिल हैं, दस्तावेज़ीकरण में है।
आपके हैंडलर में सबसे महत्वपूर्ण निर्णय।
क्योंकि आप भुगतान-राज्य के मालिक हैं, आप यह भी तय करते हैं कि भुगतान कितनी देर तक गिनता है। जब एक ग्राहक एक टूल के लिए भुगतान करता है, तो उन्हें कुछ समय के लिए भुगतान किया गया चिह्नित रखें, और उस विंडो के भीतर ताज़ा भुगतान के बिना कॉल को आने दें। विंडो को बहुत छोटा सेट करें और आप हर कॉल पर ग्राहकों को भुगतान की घर्षण के साथ दंडित करते हैं; इसे बहुत लंबा सेट करें और आप एक सस्ते भुगतान के बाद महंगे संचालन को मुफ्त में दे देते हैं। आपके Redis/Postgres कुंजी पर एक TTL इसे लागू करने का सबसे सरल तरीका है।
हम जो विंडो अनुशंसा करते हैं
| उपकरण प्रकार | विंडो | क्यों |
|---|---|---|
| सस्ता लुकअप ($0.01-$0.05) | 60 सेकंड | स्वाभाविक पुनः प्रयास और अनुवर्ती कॉल को बिना सत्र दिए अवशोषित करता है। |
| मध्यम मूल्य निर्धारण अनुमान ($0.10-$1) | 30 सेकंड | प्रति कॉल भुगतान सही आकार है; संक्षिप्त कैश अस्थायी त्रुटियों पर पुनः प्रयास करता है। |
| महंगा लंबा संदर्भ ($1-$10) | 0 सेकंड (कोई कैश नहीं) | प्रत्येक कॉल अपना खुद का भुगतान किया गया इवेंट है; कोई कैशिंग नहीं। |
| सदस्यता-शैली उपकरण | 24 घंटे | खिड़की के भीतर अनलिमिटेड कॉल के लिए प्रति दिन एक बार भुगतान करें। कम घर्षण पर प्रति ग्राहक अधिक राजस्व। |
अपने भुगतान-राज्य को (भुगतानकर्ता वॉलेट, टूल) जोड़ी के अनुसार कुंजी दें, जिस तरह से उदाहरण search_docs:0xPayer के साथ करता है। दो अलग-अलग क्लाइंट एक ही टूल पर हिट करते हैं, प्रत्येक अलग से भुगतान करता है। एक ही क्लाइंट दो अलग-अलग टूल पर हिट करता है, दो अलग-अलग भुगतान आवश्यक हैं। यदि आप चाहें तो आप इसे अधिक व्यापक रूप से स्कोप कर सकते हैं (सभी टूल के लिए प्रति भुगतानकर्ता); प्रति-भुगतानकर्ता प्रति-टूल बारीकी से कीमत को उचित महसूस कराती है।
चार मूल्य निर्धारण आकार जो MCP सर्वरों के लिए काम करते हैं।
मूल्य निर्धारण आपकी कॉल है - आप मिडलवेयर में प्रति टूल राशि निर्धारित करते हैं। नीचे चार पैटर्न हैं जो हम अक्सर देखते हैं और जो टूल आकार वे फिट करते हैं।
प्रति-कॉल माइक्रो मूल्य निर्धारण
$0.01 - $0.05 प्रति कॉलखोज, लुकअप, वर्गीकरण, फ़ॉर्मेट रूपांतरण - उच्च मात्रा के साथ सस्ते ऑपरेशन।
ग्राहकों के लिए सबसे कम घर्षण; लागत को उपयोग के साथ सही ढंग से संरेखित करता है।
सबसे अधिक लेनदेन ओवरहेड; केवल उच्च कॉल वॉल्यूम पर काम करता है।
प्रति-कॉल मध्यम मूल्य निर्धारण
$0.10 - $1.00 प्रति कॉलLLM अनुमान, उत्पादन, सामग्री निर्माण, कुछ भी जहां प्रत्येक कॉल वास्तविक काम करता है।
संतुलित - प्रति कॉल स्पष्ट मूल्य, प्रबंधनीय लेनदेन संख्या।
प्रति कॉल उच्च घर्षण; ग्राहक कभी-कभी इस मूल्य बिंदु पर सब्सक्रिप्शन को प्राथमिकता देते हैं।
प्रति-कॉल उच्च मूल्य निर्धारण
$1 - $10 प्रति कॉललंबी-संदर्भ उत्पत्ति, दस्तावेज़ प्रसंस्करण, बहु-चरण समन्वय, महंगे तृतीय-पक्ष API लपेटना।
प्रति कॉल मार्जिन महत्वपूर्ण है; असफल भुगतान सहनीय हानि हैं।
ग्राहक इस मूल्य पर कड़ी बातचीत करते हैं; रिफंड अनुरोधों की अपेक्षा करें।
सदस्यता विंडो
$5 - $50 प्रति 24 घंटे की विंडो (या $X प्रति माह)ग्राहक जो एक सत्र में कई कॉल करते हैं और प्रति-कॉल भुगतान में रुकावट सहन नहीं करेंगे।
प्रति ग्राहक अधिक राजस्व; प्रति कॉल कम ओवरहेड।
कम खोजने की क्षमता; ग्राहकों को अग्रिम में प्रतिबद्ध होना चाहिए। अक्सर हाइब्रिड मूल्य निर्धारण के लिए प्रति-कॉल के साथ जोड़ा जाता है।
कई ऑपरेटर पैटर्न को मिलाते हैं: प्रति-कॉल माइक्रो-प्राइसिंग पर सस्ते टूल, प्रति-कॉल उच्च-प्राइसिंग पर महंगे टूल, और भारी उपयोगकर्ताओं के लिए 24 घंटे की सदस्यता विंडो। कुछ भी आपको एक ही MCP सर्वर पर तीनों चलाने से नहीं रोकता; प्रत्येक टूल अपने requirePayment में अपना amountUsdc और आपके हैंडलर में अपनी भुगतान विंडो सेट करता है।
प्रो लगभग हर MCP सर्वर के लिए सही योजना है।
MCP सर्वर ऑपरेटर लगभग हमेशा Pro पर शुरू करते हैं क्योंकि API लिखने की पहुँच और वेबहुक पहले दिन से आवश्यक होते हैं: मुफ्त केवल पढ़ने के लिए है, और एक भुगतान टूल को payment.received वेबहुक प्राप्त करने और उन्हें सत्यापित करने की आवश्यकता होती है। प्रति-एजेंट लागत और लेनदेन-शुल्क स्तर कहां हैं, इसके लिए मूल्य निर्धारण पृष्ठ देखें; संक्षिप्त संस्करण यह है कि कोई भी सर्वर जो वास्तविक भुगतान मात्रा कर रहा है वह उस बिंदु से बहुत आगे है जहां Pro अपने लिए भुगतान करता है।
- Free: API और dashboard के साथ experiment करने के लिए उपयोगी। Production paid tools के लिए उपयुक्त नहीं (read-only, no webhooks)।
- Pro: live MCP servers के लिए default। Full API access, webhooks, exports.
- Business: जब आपको compliance के लिए audit log चाहिए, या जब आप कई clients के लिए MCP servers चलाते हैं और per-agent team-seat sharing चाहते हैं।