મુખ્ય સામગ્રી પર જાઓ
MCP ઇન્ટિગ્રેશન

Blockchain0x MCP પર.

કોઈપણ MCP હોસ્ટ - ક્લોડ ડેસ્કટોપ, કર્સર, વીએસ કોડ - એજન્ટ વોલેટ ટૂલ્સને એક કન્ફિગ બ્લોક સાથે આપો. અને જ્યારે તમે તમારા પોતાના ટૂલ્સ માટે ચાર્જ કરવા માંગો છો, ત્યારે વાસ્તવિક requirePayment x402 બિલ્ડરનો ઉપયોગ કરો.

ટૂંકું જવાબ

@blockchain0x/mcp સર્વર એક MCP હોસ્ટને પાંચ એજન્ટ-વોલેટ ટૂલ્સ આપે છે: એક વોલેટ વાંચો, વોલેટની યાદી બનાવો, એક ટ્રાન્ઝેક્શન ચકાસો, USDC પેમેન્ટ મોકલો, અને એક x402 ઇન્વોઇસ સમાધાન કરો. તેને npx @blockchain0x/mcp સાથે ચલાવો (તમારી કી તમારા મશીન પર રહે છે) અથવા હોસ્ટેડ URL પર નિશાન બનાવો. અલગથી, પેકેજ requirePayment ને નિકાસ કરે છે જેથી તમે તમારા પોતાના MCP ટૂલ્સ પર x402 402 પડકાર સાથે કિંમત મૂકી શકો.

બે નોકરીઓ, એક પેકેજ

MCP દ્વારા ખર્ચ કરો. MCP દ્વારા ચાર્જ કરો.

કામ એક: એક એજન્ટને તેના હોસ્ટની અંદરથી વોલેટનો ઉપયોગ કરવા દો. @blockchain0x/mcp સર્વર @blockchain0x/node SDK પર એક પાતળો, સ્ટેટલેસ પ્રોક્સી છે. તે ક્લોડ ડેસ્કટોપ, કર્સર, અથવા VS કોડ માટે પાંચ વોલેટ ટૂલ્સને બહાર પાડે છે, અને તમારા API કીનો વ્યાપ, ભથ્થું, અને પ્રતિ-અવધિ મર્યાદાઓ બેકએન્ડ દ્વારા કોઈ અન્ય API કોલની જેમ જ અમલમાં આવે છે. સર્વરે કોઈ કી રાખતી નથી અને કંઈપણ સંગ્રહિત નથી.

કામ બે: એજન્ટોને તમારા ટૂલ્સને કોલ કરવા માટે ચાર્જ કરો. MCP એ ટૂલ ઇવોકેશનને વિક્ષેપમુક્ત બનાવ્યું, જે ઉત્તમ છે જ્યાં સુધી તમારું સર્વર મફતમાં ઇગ્રેસ, ટોકન અને ત્રીજા પક્ષના API ખર્ચ ખાઈ રહ્યું છે. 402 ચુકવણીની જરૂરિયાત પેટર્ન અહીં ચોક્કસ રીતે ફિટ કરે છે. requirePayment એક સંરચિત x402 પડકાર બનાવે છે જે હોસ્ટેડ ચેકઆઉટ URL સાથે છે; તમે તેને પાછું કરો છો જ્યારે ટૂલ ચૂકવેલ નથી અને એકવાર ચુકવણી નિકાસ થાય ત્યારે કૉલને પસાર થવા દો. જે ક્લાયન્ટ x402 બોલે છે તે આપોઆપ ચૂકવે છે; બાકીના માનવને URL સપાટી આપે છે.

સર્વર ચલાવો

તે ચલાવવા માટે બે રીતો. હોસ્ટેડ માટે કોઈ સ્થાપન નથી.

તેને stdio પર npx સાથે સ્થાનિક રીતે ચલાવો (તમારી કી તમારા મશીન પર રહે છે), અથવા કોઈપણ MCP હોસ્ટને હોસ્ટેડ Streamable HTTP URL પર સેટ કરો અને કી ને Bearer ટોકન તરીકે પસાર કરો. બંને સીધા હોસ્ટના MCP કન્ફિગમાં જડપાય છે. સ્થાનિક માર્ગ માટે નોડ 20+.

સ્થાનિક - STDIO (npx)
{
  "mcpServers": {
    "blockchain0x": {
      "command": "npx",
      "args": ["-y", "@blockchain0x/mcp"],
      "env": {
        "BLOCKCHAIN0X_API_KEY": "sk_live_...",
        "BLOCKCHAIN0X_API_BASE_URL": "https://api.blockchain0x.com"
      }
    }
  }
}
હોસ્ટેડ - સ્ટ્રીમેબલ HTTP
{
  "mcpServers": {
    "blockchain0x": {
      "url": "https://mcp.blockchain0x.com/mcp",
      "headers": { "Authorization": "Bearer sk_live_..." }
    }
  }
}

BLOCKCHAIN0X_API_KEY એ તમારા ડેશબોર્ડમાંથી sk_test_ testnet અથવા sk_live_ mainnet કી છે; BLOCKCHAIN0X_API_BASE_URL ડિફૉલ્ટે https://api.blockchain0x.com પર છે. સર્વર તમારી કી બેકએન્ડને મોકલે છે અને કશું જ સંગ્રહિત નથી, તેથી તે કી પરનો વ્યાપ અને કૅપ્સ ચોક્કસપણે એજન્ટ શું કરી શકે છે તે છે. તે પાંચ સાધનો પ્રદર્શિત કરે છે: get_wallet, list_wallets, get_transaction, send_payment, અને settle_payment_request.

તમારા પોતાના સાધનોની કિંમત રાખો

વાસ્તવિક requirePayment બિલ્ડર સાથે એક ટૂલને ગેટ કરો.

requirePayment @blockchain0x/mcpમાંથી એક શુદ્ધ ફંક્શન છે. તમે તેને ત્યારે કોલ કરો છો જ્યારે ટૂલ ચૂકવેલ નથી, તે એક x402 402 પડકાર (ભાવ, તમારું વોલેટ, એક હોસ્ટેડ ચેકઆઉટ URL) મિન્ટ કરે છે, અને તમે તે શરીરને માનક MCP ભૂલના આકારમાં પાછું આપો છો. તે તમારા હેન્ડલરને લપેટતું નથી અને તે કોણે ચૂકવ્યું તે ટ્રેક કરતું નથી - તે ભાગ તમારું છે, જે સહાયકને નાનું અને ઈમાનદાર રાખે છે.

સર્વર.TS
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { requirePayment } from "@blockchain0x/mcp";
import { z } from "zod";

const server = new McpServer({ name: "docs-search-mcp", version: "1.0.0" });

server.tool(
  "search_docs",
  "Semantic search across our private docs",
  { query: z.string() },
  async ({ query }, extra) => {
    if (!hasPaid(extra)) {
      // Mint an x402 402 challenge and hand it back to the caller.
      const { body } = requirePayment({
        amountUsdc: "0.10",
        payTo: "0xYourWallet",
        hostedUrl: "https://pay.blockchain0x.com/checkout/abc",
      });
      return { content: [{ type: "text", text: JSON.stringify(body) }], isError: true };
    }
    const results = await runVectorSearch(query);
    return { content: [{ type: "text", text: JSON.stringify(results) }] };
  },
);

જ્યારે એજન્ટ search_docs unpaid ને કોલ કરે છે, ત્યારે તે 402 બોડી મેળવે છે. ક્લાયન્ટ્સ જે x402 બોલે છે તે આપોઆપ ચુકવણી કરે છે; Claude Desktop અને Cursor માનવ માટે ચેકઆઉટ URL સપાટી કરે છે. એકવાર ચુકવણી સેટલ થાય છે, તમે તે કોલરને ચૂકવેલ તરીકે ચિહ્નિત કરો છો (આગળની વિભાગ) અને કોલ પસાર થાય છે. MCP એક કરતાં સામાન્ય HTTP સર્વરને પસંદ કરો? પ્રાપ્ત-પક્ષ x402 એડેપ્ટર - Express માટે createX402Middleware, Fastify માટે createX402Plugin - ફ્રેમવર્ક સ્તરે સમાન ગેટિંગ કરે છે.

ચુકવણીની પુષ્ટિ કરો

જ્યારે વેબહૂક લેન્ડ થાય ત્યારે કૉલરને ચૂકવેલ તરીકે માર્ક કરો.

જ્યારે ચુકવણી સેટલ થાય છે, Blockchain0x તમારા વેબહુક URL પર સહી કરેલ payment.received ઇવેન્ટ પોસ્ટ કરે છે. તેને Node SDK માંથી webhooks.verify સાથે માન્ય કરો, પછી નોંધો કે કોલર જે પણ સ્ટોર તમે પહેલેથી ચલાવો છો તેમાં ચૂકવેલ છે. કન્ફિગર કરવા માટે કોઈ શિપ કરેલ રસીદ કેશ નથી - તમે તે ભાગના માલિક છો, જેનો અર્થ છે કે કોઈ આશ્ચર્ય ઇન્ફ્રાસ્ટ્રક્ચર નથી.

વેબહૂક.TS
import express from "express";
import { webhooks } from "@blockchain0x/node";

const app = express();
// Capture the RAW body. The HMAC is over the exact bytes on the wire.
app.use(express.raw({ type: "application/json" }));

app.post("/webhooks/payment", (req, res) => {
  const result = webhooks.verify({
    headers: req.headers,
    rawBody: req.body, // Buffer, raw bytes
    secret: process.env.BLOCKCHAIN0X_WEBHOOK_SECRET!,
  });
  if (!result.ok) return res.status(400).json({ code: result.code });

  if (result.eventType === "payment.received") {
    // Mark this payer paid however you like - a DB row, a Redis key, your call.
    markPaid(result.eventId);
  }
  res.status(200).send("ok");
});

webhooks.verify HMAC-SHA256ને સ્થિર સમયમાં કરે છે અને એક ભેદિત સંઘ પાછું આપે છે, તેથી તમે result.ok પર શાખા કરો છો કોઈપણ પ્રયાસ/કેચ વગર. કાચા શરીરને વાંચો, પાર્સ કરેલી નકલ નહીં, કારણ કે સહી ચોક્કસ બાઇટ્સને આવરી લે છે. મોકલવામાં આવેલા ઇવેન્ટ્સ છે payment.received, payment.sent, wallet.deployed, અને webhook.test; તમારા વોલેટ માટે એક ચુકવણી payment.received છે. જ્યાં તમે 'આ કોલર ચૂકવ્યું' જાળવી રાખો છો - ડેટાબેસની પંક્તિ, રેડિસ કી, એક જ પ્રક્રિયા માટે એક મેમરીમાં નકશો - તે તમારી કૉલ છે.

સ્રોત અને દસ્તાવેજો

સર્વર ખુલ્લો અને રાજ્યહીન છે. તેને વાંચો.

MCP સર્વર અને requirePayment builder Node SDK ઉપર એક પાતળો pass-through છે, જેમાં database અને volumes કંઈ નથી, એટલે audit કરવા માટે બહુ કંઈ નથી - અને એ જ હેતુ છે. Native MCP OAuth 2.1 આગળનું planned follow-up છે; pasted-key path પહેલા ship થાય છે કારણ કે તે હાલના API-key trust modelનો ફરી ઉપયોગ કરે છે.

github.com/tosh-labs/blockchain0x-node

સંપૂર્ણ tool list, scopes, અને hosted environment URLs the docsમાં documented છે. Productionની સાથે staging અને dev hosted endpoints પણ છે, જેથી તમે real key લગાવતાં પહેલાં test કરી શકો.

સામાન્ય ખોટા પગલાં

પાંચ MCP-વિશિષ્ટ જાળાઓથી બચવું.

આ પેઇડ MCP સર્વરો ચલાવતા ઓપરેટર્સ પાસેથી આવે છે. મોટાભાગે કેશ આર્કિટેક્ચર અને MCP પ્રોટોકોલના વિશિષ્ટ ભૂલ ફોર્મેટ સાથે સંબંધિત છે.

PITFALL 1

requirePayment એક બિલ્ડર છે, માધ્યમ નથી

requirePayment એક શુદ્ધ ફંક્શન છે: તમે તેને કોલ કરો છો, તે { status: 402, body } પાછું આપે છે, અને તમે એક ટૂલ ચૂકવેલ નથી ત્યારે તે શરીરને પાછું આપો છો. તે તમારા હેન્ડલરને લપેટતું નથી, તે કોણે ચૂકવ્યું તે ટ્રેક કરતું નથી, અને તે કોઈ કારણ અથવા કેશ-વિન્ડો વિકલ્પો લેતું નથી - ફક્ત amountUsdc, payTo, hostedUrl, અને વૈકલ્પિક નેટવર્ક અને વર્ણન. ચુકવણીની સ્થિતિને ટ્રેક કરવું તમારું કામ છે: તમારા ડેટાબેસમાં એક પંક્તિ, તમારા પોતાના રેડિસમાં એક કી, જે કંઈ પણ ફિટ થાય છે. Blockchain0x પડકાર બિલ્ડર અને સેટલમેન્ટ વેબહુક મોકલે છે, રસીદ કેશ નહીં.

PITFALL 2

stdio તમારા કી તમારા મશીન પર રાખે છે

npx અને BLOCKCHAIN0X_API_KEY સાથે સર્વર ચલાવો અને કી ક્યારેય તમારા બોક્સને છોડતી નથી - તે સ્થાનિક રીતે વાંચી છે, નેટવર્ક હેડર તરીકે મોકલવામાં નથી આવતી. હોસ્ટેડ URL વિરુદ્ધ વેપાર છે: શૂન્ય ઇન્સ્ટોલ, પરંતુ તમે કી ને Bearer ટોકન તરીકે mcp.blockchain0x.com પર પેસ્ટ કરો. ડેવલપરની પોતાની મશીન માટે stdio પસંદ કરો, શેર કરેલ ડિપ્લોયમેન્ટ માટે હોસ્ટેડ.

PITFALL 3

ડેશબોર્ડ-માત્ર સપાટી જાહેર નથી કરવામાં આવી

સર્વર એક પાતળો, રાજ્યહીન પ્રોક્સી છે @blockchain0x/node પર. તે ચોક્કસપણે પાંચ ટૂલ્સને સપાટી પર લાવે છે: get_wallet, list_wallets, get_transaction, send_payment, settle_payment_request. ઓળખમાં ફેરફારો, API-કી અને વેબહૂક CRUD, ઉપાડ અને બિલિંગ API-કી પ્રમાણપત્ર હેઠળ કઠોર બ્લોક કરવામાં આવે છે અને સર્વર ક્યારેય SDK ને પાર નથી પહોંચતું. તે માટે ટૂલની અપેક્ષા ન રાખો - તે ડેશબોર્ડમાં ડિઝાઇન દ્વારા રહે છે.

PITFALL 4

send_payment આઇડેમ્પોટન્ટ છે અને પુનરાવૃત્ત નથી કરે

The send_payment tool wraps payments.create: it auto-mints an Idempotency-Key so a retried call collapses to one transfer, and it does not retry on its own. It can also answer 503 until the chain adapter is wired for your network. If the model gets a 503, do not let it hammer the tool - surface the state and move on. amountWei is USDC base units (6 decimals), so 0.01 USDC is the string "10000".

PITFALL 5

requirePayment પર amountUsdc 6-દશમલવ સ્ટ્રિંગ છે

requirePayment validates amountUsdc as a USDC decimal with at most six fractional digits, so "0.10" is fine and "0.1234567" throws. payTo and hostedUrl are required; network defaults to mainnet. Keep the hostedUrl pointing at a real checkout you control (the pattern is https://pay.blockchain0x.com/checkout/<id>). A malformed amount fails fast rather than minting a broken challenge.

વારંવાર પૂછવામાં આવતી

ત્રણ MCP-વિશિષ્ટ પ્રશ્નો.

શું આ ક્લોડ ડેસ્કટોપ, કર્સર, અને વીએસ કોડ સાથે બોક્સમાંથી કાર્ય કરે છે?

હા. તેઓ માનક MCP હોસ્ટ છે. હોસ્ટના MCP કન્ફિગમાં blockchain0x સર્વર ઉમેરો - stdio બ્લોક (npx + તમારા કી એન્વમાં) અથવા હોસ્ટેડ બ્લોક (mcp.blockchain0x.com URL + એક બેરર કી) - અને પાંચ વોલેટ ટૂલ્સ એજન્ટ માટે દેખાય છે. ત્યાંથી એજન્ટ એક વોલેટ વાંચી શકે છે, એક વ્યવહાર ચકાસી શકે છે, USDC ચુકવણી મોકલી શકે છે, અથવા x402 ઇનવોઈસ સેટલ કરી શકે છે, તે બધા જ તમારા API કી પહેલેથી જ અમલમાં રાખે છે.

જ્યારે સર્વર જોડાય છે ત્યારે એજન્ટ વાસ્તવમાં શું કરી શકે છે?

પાંચ વસ્તુઓ, પાંચ ટૂલ્સને મેળવનાર: get_wallet અને list_wallets વોલેટ મેટાડેટા વાંચે છે, get_transaction એક વ્યવહારની સ્થિતિ અને હેશને પોલ કરે છે, send_payment એક આઉટબાઉન્ડ USDC ચુકવણી કરે છે, અને settle_payment_request એક x402 ઇન્વોઈસને ઓન-ચેઇન પુરાવા સાથે નિકાલ કરે છે. આ આખી સપાટી છે. સર્વર એક સ્ટેટલેસ પ્રોક્સી છે: તે કોઈ કી રાખતું નથી, કશું જ સંગ્રહિત નથી, અને ડેશબોર્ડ-માત્ર કામગીરીને પહોંચી નથી, તેથી એક એજન્ટ કીઓ ફેરવી શકતો નથી, ઓળખ બદલી શકતો નથી, અથવા તેના દ્વારા ઉપાડ કરી શકતો નથી.

હું એજન્ટોને મારા પોતાના MCP ટૂલ્સને કૉલ કરવા માટે કેવી રીતે ચાર્જ કરું?

વાસ્તવિક requirePayment હેલ્પરનો ઉપયોગ કરો જે @blockchain0x/mcp દ્વારા નિકાસ કરવામાં આવ્યો છે. જ્યારે કોલરએ ચુકવણી નથી કરી ત્યારે તમારા ટૂલની અંદર requirePayment({ amountUsdc, payTo, hostedUrl }) બોલાવો, અને પરિણામે મળતી 402 બોડી પાછી આપો - તે @blockchain0x/x402 સાથે વાયર-સંગત છે. તમે કોણે ચુકવણી કરી છે તે ટ્રેક કરો (payment.received પર એક વેબહુક અને તમારી પોતાની સ્ટોર), અને તમે તેમને ચૂકવણી કરી છે ત્યારે કોલને પસાર થવા દો. એક સામાન્ય HTTP સર્વર માટે, MCP એક કરતાં, પ્રાપ્ત-પક્ષ x402 એડેપ્ટર (Express માટે createX402Middleware, Fastify માટે createX402Plugin) ફ્રેમવર્ક સ્તરે સમાન કાર્ય કરે છે.

તમારા એજન્ટને MCP પર એક વોલેટ આપો.

વૉલેટ સાધનોને જોડવા માટે એક કન્ફિગ બ્લોક. જ્યારે તમે તમારા માટે ચાર્જ કરવા માંગો છો ત્યારે વાસ્તવિક requirePayment બિલ્ડર. શરૂ કરવા માટે મફત.