# QuickBuild agent tools (x402) (remote · quickbuild.quynguyenbac.workers.dev)

Screenshot, TTS, image gen, translate, summarize, URL-to-Markdown, site audit. Pay per call (x402).

- Trust score: 65/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-22

## Components

- remote · `quickbuild.quynguyenbac.workers.dev`: 65/100 (this document), [markdown](https://verifymcp.io/servers/dev-workers-quynguyenbac-quickbuild-agent-tools/quickbuild.md), [page](https://verifymcp.io/servers/dev-workers-quynguyenbac-quickbuild-agent-tools/quickbuild)

## Channel facts

- Endpoint: `https://quickbuild.quynguyenbac.workers.dev/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-22.

- **Endpoint Security**: 63/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS enforcement could not be verified: the plaintext port answered with HTTP 405, which proves neither a plaintext path nor enforcement.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 62/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 4436 tokens (~246/item across 18 items; 18 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 7/100
  - Stability observed for 2 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 18 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 19 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the QuickBuild agent tools (x402) MCP server?

QuickBuild agent tools (x402) is a hosted endpoint at https://quickbuild.quynguyenbac.workers.dev/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http dev-workers-quynguyenbac-quickbuild-agent-tools 'https://quickbuild.quynguyenbac.workers.dev/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "dev-workers-quynguyenbac-quickbuild-agent-tools": {
      "url": "https://quickbuild.quynguyenbac.workers.dev/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "dev-workers-quynguyenbac-quickbuild-agent-tools": {
      "type": "http",
      "url": "https://quickbuild.quynguyenbac.workers.dev/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.dev-workers-quynguyenbac-quickbuild-agent-tools]
url = "https://quickbuild.quynguyenbac.workers.dev/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "dev-workers-quynguyenbac-quickbuild-agent-tools": {
      "type": "remote",
      "url": "https://quickbuild.quynguyenbac.workers.dev/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add dev-workers-quynguyenbac-quickbuild-agent-tools --url 'https://quickbuild.quynguyenbac.workers.dev/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  dev-workers-quynguyenbac-quickbuild-agent-tools:
    url: "https://quickbuild.quynguyenbac.workers.dev/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "dev-workers-quynguyenbac-quickbuild-agent-tools": {
      "Transport": "http",
      "Url": "https://quickbuild.quynguyenbac.workers.dev/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add dev-workers-quynguyenbac-quickbuild-agent-tools -t streamable-http -u 'https://quickbuild.quynguyenbac.workers.dev/mcp'
```

### Other

```json
{
  "mcpServers": {
    "dev-workers-quynguyenbac-quickbuild-agent-tools": {
      "type": "http",
      "url": "https://quickbuild.quynguyenbac.workers.dev/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-21 (score 65, +1)

- [functional regression] Schema quality: 3782 → 4436
- [functional improvement] Stability: unverified → 0.03
- [functional] New tool “crypto_price”
- [functional] New tool “fx_rate”

### 2026-10-20 (score 64)

First indexed and scored.

## MCP tools (18)

### `website_audit` (~111 tokens)

Website pre-launch audit

[PAID $0.05 USDC per call via x402 on Base; errors are free] Pre-launch website audit: up to 3 pages crawled, 30 links checked, meta/OG/canonical, security headers, HTTPS, 404 handling, sitemap, and leaked-secret patterns in client JS (masked). Read-only.

Input parameters:

- `url` (string): Public http(s) URL (hostname, not IP). Private/reserved addresses are refused. Optional: defaults to https://example.com.

### `page_metadata` (~129 tokens)

Page metadata / link preview

[PAID $0.005 USDC per call via x402 on Base; errors are free] Fetch one public web page and return structured metadata: title, meta description, canonical, lang, robots, Open Graph and Twitter card tags, favicon, RSS/Atom feeds, JSON-LD @types, and internal/external links (up to 100 each). Good for link previews, unfurling and quick site triage.

Input parameters:

- `url` (string): Public http(s) URL (hostname, not IP). Private/reserved addresses are refused. Optional: defaults to https://example.com.

### `url_to_markdown` (~142 tokens)

URL to Markdown

[PAID $0.005 USDC per call via x402 on Base; errors are free] Fetch one public web page and return its main content (article/main/body, scripts/nav/footer stripped) as clean Markdown with absolute links, plus title and length. Up to 2 MB HTML, 10 s timeout; optional maxChars (default 50000, max 200000).

Input parameters:

- `maxChars` (integer): Truncate markdown to this many characters (default 50000)
- `url` (string): Public http(s) URL (hostname, not IP). Private/reserved addresses are refused. Optional: defaults to https://example.com.

### `summarize` (~365 tokens)

Summarize URL or text to JSON brief

[PAID $0.02 USDC per call via x402 on Base; errors are free] Fetch a public web page (or take raw text) and return a structured JSON brief made by Llama 3.3 70B: title, language, contentType, summary, keyPoints, named entities with types, topic tags, concrete facts (prices, dates, versions, limits) as label/value pairs, sentiment and audience. Grounded in the page only, no invented facts. Reads up to 24,000 chars of main content (2 MB HTML, 10 s fetch timeout). All params optional: with none it summarizes https://example.com. GET with query params, or POST a JSON body for long text (up to 200,000 chars accepted, first 24,000 analyzed).

Input parameters:

- `focus` (string): Optional aspect to emphasize, e.g. "pricing", "API limits", "risks" (max 200 chars).
- `lang` (string): Optional output language for summary/keyPoints (ISO 639-1, e.g. "en"). Default: same as the content.
- `length` (string): Summary length: short = 1-2 sentences, medium = 3-4 (default), long = 5-8.
- `maxPoints` (integer): Max number of keyPoints (default 5).
- `text` (string): Raw text or Markdown to summarize instead of a URL (optional, max 200000 chars, first 24000 analyzed). Prefer POST for long text.
- `url` (string): Public http(s) URL to read (hostname, not IP; private addresses refused). Optional: defaults to https://example.com. Ignored when `text` is given.

### `translate` (~305 tokens)

Translate text or web page

[PAID $0.005 USDC per call via x402 on Base; errors are free] LLM translation (Meta Llama 4 Scout on Workers AI, M2M100 fallback). Give `text`, or a `url` whose main content is extracted as Markdown and translated in blocks, preserving Markdown formatting, URLs and code blocks. Source language auto-detected (or set `from`). Up to 20,000 chars per call (default 8,000). All params optional: with none it translates a short Spanish sample to English. Languages: en,es,fr,de,it,pt,nl,ru,uk,pl,cs,ro,hu,el,bg,sv,da,no,fi,tr,ar,he,fa,hi,bn,ur,ta,zh,ja,ko,vi,th,id,ms,tl,sw.

Input parameters:

- `from` (string): Source language code, or "auto" (default: auto-detect).
- `maxChars` (integer): Max source chars to translate (default 8000).
- `text` (string): Text or Markdown to translate (optional). If omitted and no url, a short Spanish sample is used.
- `to` (string): Target language, ISO 639-1 code or English name (default "en").
- `url` (string): Public http(s) URL whose main content is translated (optional; used when `text` is absent).

### `generate_image` (~175 tokens)

Generate image (FLUX.1 schnell)

[PAID $0.01 USDC per call via x402 on Base; errors are free] Generate an original 1024x1024 image from a text prompt with FLUX.1 [schnell] on Workers AI (about 2-5 s). Returns JSON with image_base64 + mimeType, or the raw image bytes with format=jpeg. Content policy: no sexual/nude, gore, hate, real or famous people, or ID documents/currency; such prompts get HTTP 400 and are not charged. All params optional: with no prompt a sample watercolor lighthouse is drawn.

Input parameters:

- `prompt` (string): What to draw (max 1000 chars). Optional: defaults to a watercolor lighthouse.
- `steps` (integer): Diffusion steps, more = more detail (default 4).

### `screenshot_url` (~337 tokens)

Screenshot a URL (headless Chrome)

[PAID $0.008 USDC per call via x402 on Base; errors are free] Render a public web page in a real headless Chrome (JavaScript executed, waits for network idle) and return a screenshot: viewport (default 1280x800) or full page (up to 8000 px tall), PNG or JPEG, optional dark mode and extra wait. JSON with image_base64 + finalUrl/status/title, or raw image bytes with format=png|jpeg. Typically 2-6 s (up to ~25 s when busy). Use it for visual QA, link previews, archiving, checking what a page really shows, or feeding a vision model. Adult/malware domains (Cloudflare family DNS) and private addresses are refused. All params optional: with none it captures https://example.com. Errors are never charged.

Input parameters:

- `darkMode` (boolean): Emulate prefers-color-scheme: dark (default false).
- `fullPage` (boolean): Capture the whole scrollable page, capped at 8000 px tall (default false).
- `height` (integer): Viewport height in px (default 800).
- `quality` (integer): JPEG quality (default 80; jpeg only).
- `type` (string): Image type (default png).
- `url` (string): Public http(s) URL to capture (hostname, not IP). Optional: defaults to https://example.com.
- `waitMs` (integer): Extra wait after load before capturing, ms (default 0).
- `width` (integer): Viewport width in px (default 1280).

### `text_to_speech` (~193 tokens)

Text to speech (WAV)

[PAID $0.005 USDC per call via x402 on Base; errors are free] Turn text (up to 2000 chars) into spoken audio with MeloTTS on Cloudflare Workers AI, in English, Spanish, French, Chinese, Japanese or Korean. Returns JSON with audio_base64 + mimeType (audio/wav, 44.1 kHz mono), or the raw audio bytes with format=wav. Good for voice replies, narration, accessibility and language practice. Text with sexual, hateful or violent content is refused (HTTP 400, not charged). All params optional: with none it speaks a short English sample. GET with query params or POST a JSON body.

Input parameters:

- `lang` (string): Language of the text / voice (default en).
- `text` (string): Text to speak (max 2000 chars). Optional: defaults to a short English sample.

### `base_gas_price` (~169 tokens)

Base gas price and tx cost

[PAID $0.001 USDC per call via x402 on Base; errors are free] Live gas snapshot for Base mainnet (chain 8453) read from public Base RPC: latest block number/time/utilization, base fee, eth_gasPrice, eth_maxPriorityFeePerGas, the last 10 blocks of base fees, slow/standard/fast EIP-1559 fee suggestions (10th/50th/90th percentile tips) in gwei and wei, and the estimated total cost (L2 execution + OP Stack L1 data-fee upper bound) of an ETH transfer, an ERC-20 transfer and a swap in ETH and USD (Chainlink ETH/USD on Base). No params. Cached 4 s. Errors are never charged.

### `base_wallet_balances` (~286 tokens)

Base wallet balances (ETH + tokens)

[PAID $0.002 USDC per call via x402 on Base; errors are free] Balances of one address on Base mainnet in a single call: native ETH, the well-known tokens USDC, USDT, USDbC, DAI, WETH, cbETH, wstETH, AERO (non-zero only, or all with includeZero=true), plus up to 10 extra ERC-20 contracts you pass in `tokens` (symbol/name/decimals read on-chain). Also nonce, account type (EOA, EIP-7702 delegated EOA, or contract) and a USD total for ETH/WETH (Chainlink) and stablecoins. Read live from public Base RPC via Multicall3; cached 10 s. All params optional: defaults to a well-known public address. Invalid input = 400, never charged.

Input parameters:

- `address` (string): Base address (0x + 40 hex). Optional: defaults to 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 (vitalik.eth).
- `includeZero` (boolean): Also list well-known tokens with zero balance (default false).
- `tokens` (string): Optional comma-separated extra ERC-20 contract addresses on Base (max 10).

### `base_token_info` (~227 tokens)

Base ERC-20 token info

[PAID $0.002 USDC per call via x402 on Base; errors are free] Inspect a token or any address on Base mainnet: contract vs EOA (incl. EIP-7702 delegation), bytecode size, ERC-20 name/symbol/decimals/totalSupply (raw and formatted; bytes32 symbols handled), proxy implementation (EIP-1967, beacon, ZeppelinOS/FiatToken), whether it is a well-known Base token (guards against spoofed symbols), and optionally the balance of `holder`. Read live from public Base RPC; metadata cached 1 h. All params optional: defaults to USDC on Base. Invalid input = 400, never charged.

Input parameters:

- `address` (string): Token / contract address on Base (0x + 40 hex). Optional: defaults to USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913.
- `holder` (string): Optional address whose balance of this token to include.

### `base_tx_status` (~219 tokens)

Base transaction status

[PAID $0.002 USDC per call via x402 on Base; errors are free] Look up one transaction on Base mainnet by hash: status (success, failed or pending), block, timestamp, confirmations, from/to, value, method id, gas used, effective gas price, fee split into L2 execution and L1 data fee (ETH and USD), contract created, and decoded ERC-20 Transfer events (token, symbol, from, to, amount; up to 20). Useful to confirm a payment landed. Read live from public Base RPC. All params optional: defaults to a confirmed USDC x402 payment. Unknown hash = 404, invalid hash = 400, never charged.

Input parameters:

- `hash` (string): Transaction hash (0x + 64 hex). Optional: defaults to 0x20215b4a54f0a39995f3afbd748d7b52c3a1922685ddf08e5f694ea1e89b52bf.

### `llm_chat` (~277 tokens)

LLM chat completion (Llama 3.1 8B default)

[PAID $0.003 USDC per call via x402 on Base; errors are free] One-shot LLM completion on Cloudflare Workers AI with a minimal interface: give `prompt` (and optionally `system`, or OpenAI-style `messages`), get {text, model, finish_reason, usage}. Models: llama-3.1-8b (default), llama-3.2-3b, llama-3.2-1b, mistral-7b, granite-4.0-micro. max_tokens capped at 512, input up to 24000 chars, Llama Guard 3 safety check, 503 "capacity" when the daily budget is used up. Errors are never charged. All params optional: with none it answers a short sample question. For the OpenAI wire format use POST /v1/chat/completions.

Input parameters:

- `max_tokens` (integer): Max output tokens (default/cap 512).
- `messages` (array): Optional OpenAI-style history (POST JSON).
- `model` (string): Model alias (default llama-3.1-8b).
- `prompt` (string): User message. Optional: defaults to a short sample question.
- `system` (string): Optional system instruction.
- `temperature` (number): Sampling temperature.

### `text_embeddings` (~350 tokens)

Text embeddings (bge-m3, OpenAI format)

[PAID $0.001 USDC per call via x402 on Base; errors are free] Drop-in OpenAI Embeddings endpoint: POST {input: string | string[], model, encoding_format: float|base64, dimensions} and get {object: "list", data: [{embedding, index}], model, usage}. Models (Cloudflare Workers AI): bge-m3 (1024-d, multilingual (100+ languages), 8192-token context); bge-large-en-v1.5 (1024-d, English); bge-base-en-v1.5 (768-d, English); bge-small-en-v1.5 (384-d, English, fastest); embeddinggemma-300m (768-d, multilingual (Google EmbeddingGemma)). Any other model name (e.g. text-embedding-3-small) maps to bge-m3; the actual model is in the response. `dimensions` truncates and re-normalizes. Up to 100 inputs per call, 8000 chars each, 60000 chars total, one fixed price per call. For RAG, semantic search, clustering and dedupe. Errors are never charged. GET ?input= also works; with no params it embeds a sample sentence.

Input parameters:

- `dimensions` (integer): Optional output size; vectors are truncated and re-normalized.
- `encoding_format` (string): float (default) or base64 (little-endian float32).
- `input` (string|array): Text or array of texts to embed (max 100). Optional: defaults to a sample sentence.
- `model` (string): Embedding model alias (default bge-m3).

### `rerank_documents` (~281 tokens)

Rerank documents for a query

[PAID $0.002 USDC per call via x402 on Base; errors are free] Cohere/Jina-style rerank: POST {query, documents: string[] | {text}[], top_n, return_documents} and get {results: [{index, relevance_score, document?}]} sorted by relevance. Models (Cloudflare Workers AI): bge-reranker-base (cross-encoder, English/Chinese, scores 0..1); bge-m3 (multilingual similarity scoring) (default bge-reranker-base; other names map to it). Up to 100 documents, each scored on its first 4000 chars; one fixed price per call. Use after vector search to pick the best passages for an LLM. Errors are never charged. All params optional: with none it ranks a small sample.

Input parameters:

- `documents` (array): Documents to rank: strings or {text} objects (max 100).
- `model` (string): Rerank model (default bge-reranker-base).
- `query` (string): Search query (max 2000 chars). Optional with documents omitted: a sample is ranked.
- `return_documents` (boolean): Include the document text in each result (default false).
- `top_n` (integer): Return only the best N (default all).

### `crypto_price` (~347 tokens)

Crypto prices (ticker, id or contract)

[PAID $0.001 USDC per call via x402 on Base; errors are free] Live crypto prices for up to 25 coins per call: pass tickers in `symbols` (BTC,ETH,SOL,AERO,...; common tickers built in, others resolved by CoinGecko search to the largest coin with that ticker), CoinGecko `ids`, or one token `address` + `chain` (base default; ethereum, arbitrum, optimism, polygon, bsc, avalanche, solana). Returns price, market cap, 24h volume and 24h % change in each `vs` currency (usd default; up to 5, e.g. usd,eur,btc) plus last-updated time. Data: CoinGecko public API, cached 30 s; falls back to Coinbase spot rates (price only) if CoinGecko is unavailable. All params optional: with none it returns BTC and ETH in USD. Unknown coins = 404, invalid input = 400, never charged.

Input parameters:

- `address` (string): Optional token contract address; returns that token price (overrides symbols/ids).
- `chain` (string): Chain of `address` (default base).
- `ids` (string): Comma-separated CoinGecko coin ids, e.g. bitcoin,aerodrome-finance (optional).
- `symbols` (string): Comma-separated tickers, e.g. BTC,ETH,SOL (max 25). Optional: defaults to BTC,ETH.
- `vs` (string): Comma-separated quote currencies (max 5), e.g. usd,eur,btc. Default usd.

### `fx_rate` (~307 tokens)

Fiat FX rates and conversion

[PAID $0.002 USDC per call via x402 on Base; errors are free] Foreign-exchange rates from one base currency (`from`, default USD) to a list of currencies (`to`, comma-separated, or "all"; default 14 majors incl. EUR, GBP, JPY, CNY, INR, KRW, VND), with `amount` converted. Live mode uses Coinbase public exchange rates (updated about every minute, 160+ ISO 4217 currencies plus XAU/XAG), falling back to exchangerate-api daily rates. With `date=YYYY-MM-DD` it returns the ECB reference rates for that day (Frankfurter, ~30 major currencies, back to 1999-01-04). All params optional: with none it returns USD to 14 major currencies. Invalid codes = 400, never charged.

Input parameters:

- `amount` (number): Amount in `from` to convert (default 1).
- `date` (string): Optional YYYY-MM-DD for historical ECB reference rates (since 1999-01-04). Omit for live rates.
- `from` (string): Base currency, ISO 4217 code (default USD).
- `to` (string): Comma-separated target codes (max 50) or "all". Default: EUR,GBP,JPY,CNY,CHF,CAD,AUD,INR,KRW,SGD,HKD,MXN,BRL,VND.

### `free_site_check` (~83 tokens)

Free quick website check

[FREE, 10 calls/hour per IP] Quick check of one public website: homepage meta/OG/canonical, security headers, HTTPS, and up to 20 links tested for breakage. For the deeper 3-page audit with leaked-key scan use website_audit (paid).

Input parameters:

- `url` (string, required): Public http(s) URL or hostname to check.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/dev-workers-quynguyenbac-quickbuild-agent-tools/quickbuild#diagnostics

## Score history

- 2026-10-22: 65
- 2026-10-21: 65
- 2026-10-20: 64

## Common questions

### What is the QuickBuild agent tools (x402) MCP server?

QuickBuild agent tools (x402) is an MCP server listed in the public MCP registry as dev.workers.quynguyenbac.quickbuild/agent-tools. Screenshot, TTS, image gen, translate, summarize, URL-to-Markdown, site audit. Pay per call (x402). This page covers its hosted endpoint (https://quickbuild.quynguyenbac.workers.dev/mcp).

### Is the QuickBuild agent tools (x402) MCP server safe to use?

QuickBuild agent tools (x402) scores 65 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the QuickBuild agent tools (x402) MCP server expose?

QuickBuild agent tools (x402) exposes 18 tools: website_audit, page_metadata, url_to_markdown, summarize, translate, and 13 more. Their descriptions and schemas cost roughly 4,303 tokens of context every time the server is loaded.

### Does the QuickBuild agent tools (x402) MCP server require authentication?

No. We connected to QuickBuild agent tools (x402) without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the QuickBuild agent tools (x402) MCP server still maintained?

QuickBuild agent tools (x402) is still listed as active in the MCP registry. We last reached this channel on 22 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://quickbuild.quynguyenbac.workers.dev/mcp
- Website: https://quickbuild.quynguyenbac.workers.dev/llms.txt
- Changelog RSS feed: https://verifymcp.io/servers/dev-workers-quynguyenbac-quickbuild-agent-tools/quickbuild.xml
- Changelog JSON feed: https://verifymcp.io/servers/dev-workers-quynguyenbac-quickbuild-agent-tools/quickbuild.json
- HTML version of this page: https://verifymcp.io/servers/dev-workers-quynguyenbac-quickbuild-agent-tools/quickbuild
