ప్రధాన కంటెంట్‌కు దాటవేయండి
MCP ఇంటిగ్రేషన్

MCP మీద Blockchain0x.

ఏ MCP హోస్ట్‌కు - Claude Desktop, Cursor, VS Code - ఒక కాన్ఫిగ్ బ్లాక్‌తో ఏజెంట్ వాలెట్ సాధనాలను ఇవ్వండి. మరియు మీ స్వంత సాధనాలకు ఛార్జ్ చేయాలనుకుంటే, నిజమైన requirePayment x402 బిల్డర్‌ను ఉపయోగించండి.

చిన్న సమాధానం

@blockchain0x/mcp సర్వర్ MCP హోస్ట్‌కు ఐదు ఏజెంట్-వాలెట్ సాధనాలను అందిస్తుంది: ఒక వాలెట్‌ను చదవండి, వాలెట్‌లను జాబితా చేయండి, ఒక లావాదేవీని తనిఖీ చేయండి, USDC చెల్లింపును పంపండి, మరియు x402 ఇన్వాయిస్‌ను కుదించండి. దీన్ని npx @blockchain0x/mcp తో నడపండి (మీ కీ మీ యంత్రంలోనే ఉంటుంది) లేదా హోస్టెడ్ URL కు సూచించండి. వేరుగా, ప్యాకేజీ requirePayment ను ఎగుమతి చేస్తుంది కాబట్టి మీరు మీ స్వంత MCP సాధనాలపై x402 402 ఛాలెంజ్‌తో ధరను ఉంచవచ్చు.

రెండు ఉద్యోగాలు, ఒక ప్యాకేజీ

MCP ద్వారా ఖర్చు చేయండి. MCP ద్వారా ఛార్జ్ చేయండి.

జాబ్ ఒకటి: ఒక ఏజెంట్ తన హోస్ట్‌లోని వాలెట్‌ను ఉపయోగించడానికి అనుమతించండి. @blockchain0x/mcp సర్వర్ @blockchain0x/node SDKపై ఒక బరువుకరమైన, రాష్ట్రరహిత ప్రాక్సీ. ఇది Claude Desktop, Cursor లేదా VS Code కు ఐదు వాలెట్ సాధనాలను ప్రదర్శిస్తుంది, మరియు మీ API కీ యొక్క పరిధి, అనుమతి మరియు ప్రతి కాలానికి పరిమితులను బ్యాక్‌ఎండ్ ద్వారా అమలు చేయబడుతుంది, ఇది ఇతర API కాల్‌లకు సరిపోలుతుంది. సర్వర్ ఎలాంటి కీని కలిగి ఉండదు మరియు ఏమీ నిల్వ చేయదు.

జాబ్ రెండు: మీ సాధనాలను పిలవడానికి ఏజెంట్లకు ఛార్జ్ చేయండి. MCP సాధనాన్ని పిలవడం సులభంగా చేసింది, ఇది మీ సర్వర్ ఉచితంగా ఎగుమతి, టోకెన్లు మరియు మూడవ పక్ష API ఖర్చులను తినే వరకు గొప్పది. 402 చెల్లింపు అవసరం నమూనా ఇక్కడ ఖచ్చితంగా సరిపోతుంది. requirePayment ఒక హోస్టెడ్ చెక్‌ఔట్ URLతో నిర్మాణాత్మక x402 ఛాలెంజ్‌ను మింట్ చేస్తుంది; మీరు ఒక సాధనం చెల్లించని సమయంలో దాన్ని తిరిగి ఇవ్వండి మరియు చెల్లింపు పరిష్కరించిన తర్వాత కాల్‌ను అనుమతించండి. x402ని మాట్లాడే క్లయింట్లు స్వయంచాలకంగా చెల్లిస్తాయి; మిగతా వాటి URLని మానవుడికి ప్రదర్శిస్తాయి.

సర్వర్‌ను నడపండి

దీనిని నడిపించడానికి రెండు మార్గాలు. హోస్టెడ్ కోసం ఇన్‌స్టాల్ లేదు.

దాన్ని స్థానికంగా stdio ద్వారా npx తో నడపండి (మీ కీ మీ యంత్రంలోనే ఉంటుంది), లేదా ఏ MCP హోస్ట్ను హోస్టెడ్ స్ట్రీమబుల్ HTTP URL కు సూచించండి మరియు కీని బేరర్ టోకెన్‌గా పంపండి. రెండూ హోస్ట్ యొక్క MCP కాన్ఫిగరేషన్‌లో నేరుగా పడతాయి. స్థానిక మార్గానికి Node 20+.

LOCAL - STDIO (npx)
{
  "mcpServers": {
    "blockchain0x": {
      "command": "npx",
      "args": ["-y", "@blockchain0x/mcp"],
      "env": {
        "BLOCKCHAIN0X_API_KEY": "sk_live_...",
        "BLOCKCHAIN0X_API_BASE_URL": "https://api.blockchain0x.com"
      }
    }
  }
}
HOSTED - STREAMABLE HTTP
{
  "mcpServers": {
    "blockchain0x": {
      "url": "https://mcp.blockchain0x.com/mcp",
      "headers": { "Authorization": "Bearer sk_live_..." }
    }
  }
}

BLOCKCHAIN0X_API_KEY అనేది మీ dashboard నుండి వచ్చిన sk_test_ testnet లేదా sk_live_ mainnet key; BLOCKCHAIN0X_API_BASE_URL యొక్క default https://api.blockchain0x.com. Server మీ key ను backend కు forward చేస్తుంది మరియు ఏమీ store చేయదు, కాబట్టి ఆ key పై scope మరియు caps agent చేయగల పనిని ఖచ్చితంగా నిర్ణయిస్తాయి. ఇది expose చేసే ఐదు tools: 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 ఈవెంట్‌ను POST చేస్తుంది. Node SDK నుండి webhooks.verify తో దీన్ని ధృవీకరించండి, తరువాత మీరు ఇప్పటికే నడుపుతున్న స్టోర్‌లో కాలర్ చెల్లించినట్లు నమోదు చేయండి. కాన్ఫిగర్ చేయడానికి పంపించిన రసీదు కాష్ లేదు - మీరు ఆ భాగాన్ని కలిగి ఉన్నారు, అంటే ఎలాంటి ఆశ్చర్యం మౌలిక వసతులు ఉండవు.

WEBHOOK.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 server మరియు requirePayment builder అనేవి database మరియు volumes లేకుండా Node SDK పై thin pass-through మాత్రమే, కాబట్టి audit చేయడానికి పెద్దగా ఏమీ లేదు - అదే ఉద్దేశ్యం. Native MCP OAuth 2.1 ఒక planned follow-up; pasted-key path ముందుగా ship అవుతుంది, ఎందుకంటే అది ఉన్న API-key trust model నే reuse చేస్తుంది.

github.com/tosh-labs/blockchain0x-node

పూర్తి tool list, scopes, మరియు hosted environment URLs the docs లో documented గా ఉన్నాయి. నిజమైన key ను point చేసే ముందు testing కోసం production తో పాటు staging మరియు dev hosted endpoints కూడా ఉన్నాయి.

సాధారణ పిట్ఫాల్స్

గమనించాల్సిన ఐదు MCP-సంబంధిత చిక్కులు.

ఇవి ఉత్పత్తిలో చెల్లించిన MCP సర్వర్లను నడుపుతున్న ఆపరేటర్ల నుండి వస్తాయి. ఎక్కువగా కాష్ నిర్మాణం మరియు MCP ప్రోటోకాల్ యొక్క ప్రత్యేక దోష ఫార్మాట్‌కు సంబంధించి ఉన్నాయి.

PITFALL 1

requirePayment ఒక బిల్డర్, మిడ్‌వేర్ కాదు

requirePayment ఒక శుద్ధ ఫంక్షన్: మీరు దీన్ని పిలుస్తారు, ఇది { status: 402, body }ని తిరిగి ఇస్తుంది, మరియు ఒక టూల్ చెల్లించనిప్పుడు ఆ శరీరాన్ని తిరిగి ఇవ్వాలి. ఇది మీ హ్యాండ్లర్‌ను చుట్టదు, ఎవరు చెల్లించారో ట్రాక్ చేయదు, మరియు ఇది కారణం లేదా క్యాష్-విండో ఎంపికలను తీసుకోదు - కేవలం amountUsdc, payTo, hostedUrl మరియు ఒక ఆప్షనల్ నెట్‌వర్క్ మరియు వివరణ. చెల్లింపు రాష్ట్రాన్ని ట్రాక్ చేయడం మీ పని: మీ డేటాబేస్‌లో ఒక పంక్తి, మీ స్వంత రెడిస్‌లో ఒక కీ, ఏమిటి సరిపోతే. Blockchain0x సవాల builder మరియు పరిష్కార వెబ్‌హుక్‌ను పంపిస్తుంది, రసీదు క్యాష్ కాదు.

PITFALL 2

stdio మీ కీని మీ యంత్రంలో ఉంచుతుంది

npx మరియు BLOCKCHAIN0X_API_KEY తో సర్వర్‌ను నడపండి మరియు కీ మీ బాక్స్‌ను ఎప్పుడూ విడువదు - ఇది స్థానికంగా చదవబడుతుంది, నెట్‌వర్క్ హెడ్డర్‌గా పంపబడదు. హోస్టెడ్ URL వ్యతిరేక వ్యాపారం: జీరో ఇన్‌స్టాల్, కానీ మీరు కీని 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-స్పెసిఫిక్ ప్రశ్నలు.

ఇది Claude Desktop, Cursor, మరియు VS Code తో బాక్స్ నుండి పనిచేస్తుందా?

అవును. ఇవి ప్రామాణిక MCP హోస్టులు. హోస్ట్ యొక్క MCP కాన్ఫిగరేషన్‌కు blockchain0x సర్వర్‌ను జోడించండి - stdio బ్లాక్ (npx + మీ కీని envలో) లేదా హోస్టెడ్ బ్లాక్ (mcp.blockchain0x.com URL + బేరర్ కీ) - మరియు ఐదు వాలెట్ టూల్‌లు ఏజెంట్‌కు కనిపిస్తాయి. అక్కడ నుండి ఏజెంట్ ఒక వాలెట్‌ను చదవవచ్చు, ఒక లావాదేవీని తనిఖీ చేయవచ్చు, USDC చెల్లింపును పంపవచ్చు లేదా x402 ఇన్వాయిస్‌ను పరిష్కరించవచ్చు, ఇవన్నీ మీ API కీ ఇప్పటికే అమలు చేస్తున్న పరిధి, అనుమతి మరియు కాప్స్‌లో ఉన్నాయి.

సర్వర్ కనెక్ట్ అయిన తర్వాత ఏజెంట్ నిజంగా ఏమి చేయగలడు?

ఐదు సాధనాలను సరిపోల్చే ఐదు విషయాలు: get_wallet మరియు list_wallets వాలెట్ మెటాడేటాను చదువుతాయి, get_transaction ఒక లావాదేవీ స్థితిని మరియు హ్యాష్‌ను పోల్స్ చేస్తుంది, send_payment ఒక అవుట్‌బౌండ్ USDC చెల్లింపును చేస్తుంది, మరియు settle_payment_request ఒక x402 ఇన్వాయిస్‌ను ఆన్-చైన్ సాక్ష్యంతో పరిష్కరిస్తుంది. ఇది మొత్తం ఉపరితలం. సర్వర్ ఒక రాష్ట్రరహిత ప్రాక్సీ: ఇది ఎలాంటి కీని కలిగి ఉండదు, ఏమీ నిల్వ చేయదు, మరియు డాష్‌బోర్డ్-మాత్రం కార్యకలాపాలకు చేరుకోలేరు, కాబట్టి ఒక ఏజెంట్ కీలు మార్చలేరు, గుర్తింపును మార్చలేరు, లేదా దాని ద్వారా ఉపసంహరించలేరు.

నా స్వంత MCP సాధనాలను పిలవడానికి ఏజెంట్లకు ఎలా ఛార్జ్ చేయాలి?

@blockchain0x/mcp ద్వారా ఎగుమతి చేసిన నిజమైన requirePayment సహాయాన్ని ఉపయోగించండి. కాలర్ చెల్లించకపోతే, requirePayment({ amountUsdc, payTo, hostedUrl }) ను మీ టూల్ లో కాల్ చేయండి మరియు ఫలితంగా వచ్చిన 402 బాడీని తిరిగి ఇవ్వండి - ఇది @blockchain0x/x402 తో వైర్-సంబంధితంగా ఉంటుంది. మీరు ఎవరు చెల్లించారు అనే విషయాన్ని ట్రాక్ చేస్తారు (payment.received పై వెబ్‌హుక్ మరియు మీ స్వంత స్టోర్), మరియు వారు చెల్లించిన తర్వాత కాల్‌ను అనుమతిస్తారు. MCP కంటే సాధారణ HTTP సర్వర్ కోసం, రిసీవ్-సైడ్ x402 అడాప్టర్ (Express కోసం createX402Middleware, Fastify కోసం createX402Plugin) ఫ్రేమ్‌వర్క్ స్థాయిలో అదే పని చేస్తుంది.

మీ ఏజెంట్‌కు MCP ద్వారా ఒక వాలెట్ ఇవ్వండి.

వాలెట్ టూల్స్‌ను కనెక్ట్ చేయడానికి ఒక కాన్ఫిగ్ బ్లాక్. మీకు మీ స్వంతానికి ఛార్జ్ చేయాలనుకుంటే నిజమైన requirePayment బిల్డర్. ప్రారంభించడానికి ఉచితం.