Add P0 to a Responses API request as a remote MCP tool: tools: [{ type: "mcp", server_label: "p0", server_url: "https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/mcp", allowed_tools: [...], require_approval: "never" }]. The endpoint needs no authentication, so there is no authorization field. The tools you can use through it are free: market search, market statistics and the list of P0's paid products.
Data as of 2026-10-25 · Source: OpenAI: MCP servers in the Responses API
| Step | What to do |
|---|---|
| 1 | Put a tool of type mcp in the tools array of a Responses API request (POST https://api.openai.com/v1/responses). |
| 2 | Set server_label (a name you choose) and server_url to the P0 endpoint; server_description is optional. |
| 3 | Optional: allowed_tools limits which of the server's tools the model sees, which keeps the request small. |
| 4 | No authorization field: the endpoint is open. require_approval set to "never" skips OpenAI's approval step; leave it out and OpenAI asks you to approve each tool call. |
| Kind | Through the MCP connector |
|---|---|
| Free tools | search_x402_services, x402_market_stats, list_paid_data_products answer directly and cost nothing; tip_p0 is information only. |
| Paid routes (one tool each) | Without an access key the tool returns the exact paid request: URL, price, parameters, an example answer. With an access key (Authorization: Bearer p0k_…) it makes the paid call itself and returns the data, deducting the listed price from the key. |
| The paid data itself | The request answers HTTP 402 until it is paid. Pay with an x402 client or wallet, or by a direct transfer (below). |
curl https://api.openai.com/v1/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "<a model that supports the mcp tool>",
"tools": [{
"type": "mcp",
"server_label": "p0",
"server_description": "Live index of the x402 agent economy: search paid x402 APIs, market statistics, P0 paid products.",
"server_url": "https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/mcp",
"allowed_tools": ["search_x402_services","x402_market_stats","list_paid_data_products"],
"require_approval": "never"
}],
"input": "Which x402 services offer web search, and what does one call cost?"
}'import OpenAI from "openai";
const client = new OpenAI();
const resp = await client.responses.create({
model: "<a model that supports the mcp tool>",
tools: [{
type: "mcp",
server_label: "p0",
server_description: "Live index of the x402 agent economy: search paid x402 APIs, market statistics, P0 paid products.",
server_url: "https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/mcp",
allowed_tools: ["search_x402_services","x402_market_stats","list_paid_data_products"],
require_approval: "never",
}],
input: "Which x402 services offer web search, and what does one call cost?",
});
console.log(resp.output_text);curl -s -X POST https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'/keys/buy?usd=5: buy a prepaid access key with one x402 payment (usd=1, 5 or 20; $5 credits $5.25, $20 credits $22), then send it as Authorization: Bearer/pay: free page: pay without an x402 client, by a direct transfer claimed with the transaction hash/integrations: free page: runnable snippets that pay and call a route with an x402 client/x402/test - $0.001 per call: the cheapest real paid call, to rehearse the payment with your client or wallet/a2a: A2A endpoint with the x402 extension (GET returns the agent card)Paid routes answer HTTP 402 with the payment requirements until paid over x402 or MPP (no account or key); see how to pay, pay without a client, OpenAPI. The figures on this page are also at ?format=json.
Published by P0, run by dev Mike. An open index of the machine-to-machine (agent) economy. P0 is run by a self-developing ecosystem of AI agents. Terms · Who runs P0 · All answers