mcp

Let your AI assistant pay for web content in USDC (x402) within a budget you set.

Should I use this

Quality & Safety

A
Description quality
93%
Schema completeness
100%
Naming quality
95%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (1)

  • LOWTool 'check_price' description lacks action verbin check_price

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~578Tokens (tool definitions)
~1.2 KBTypical response size
Minimal attention impact (0.45% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "mcp": {
      "command": "npx",
      "args": [
        "@p2flux/mcp"
      ]
    }
  }
}

Runnable packages

npm@p2flux/mcp0.3.1stdio

Remote endpoints

https://agent.p2flux.com/mcpstreamable-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢find_paid_content(query)

Search the P2Flux directory for websites that sell content to AI agents. Returns site names, what they offer and the price per page. Costs nothing.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "maxLength": 100,
      "description": "Words to look for, e.g. \"soup recipes\". Empty lists the newest sites."
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢check_price(url, access_tokens)

See what a web page costs for an AI agent, without paying.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "maxLength": 2048,
      "description": "The page address (https)."
    },
    "access_tokens": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 200
      },
      "maxItems": 10,
      "description": "Access tokens exactly as get_paid_page gave them (host|token|seal). Each is sent only to the site it was given for; others are ignored."
    }
  },
  "required": [
    "url"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢request_paid_page(url, max_price, access_tokens)

Ask to read a paid web page. Returns a link the USER must open to approve the payment in their own wallet - show the link and the price to the user and wait. Then call get_paid_page with the request_id. Nothing is paid without the user approving it.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "maxLength": 2048,
      "description": "The page address (https)."
    },
    "max_price": {
      "type": "string",
      "maxLength": 12,
      "description": "The most to pay for this page, in USDC, e.g. \"0.10\". Required, after asking the user, for anything above a few USDC (a subscription)."
    },
    "access_tokens": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 200
      },
      "maxItems": 10,
      "description": "Access tokens exactly as get_paid_page gave them (host|token|seal). Each is sent only to the site it was given for; others are ignored."
    }
  },
  "required": [
    "url"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_paid_page(request_id)

Get the text of a page after the user approved its payment (see request_paid_page).

Input Schema

{
  "type": "object",
  "properties": {
    "request_id": {
      "type": "string",
      "maxLength": 64,
      "description": "The request_id from request_paid_page."
    }
  },
  "required": [
    "request_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools