# Agent Tools (remote · agent-tools.jbarkules.workers.dev)

x402 agent tools: invoice/PDF extract, OCR, email risk, web to markdown, domain, FX, time

- Trust score: 62/100 (medium)
- Change this week: +3
- Registry status: deprecated
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

> **Deprecated**: this server is marked deprecated in the MCP registry. The registry records this reason: "Moved to me.crowdspark.agents/agent-tools."

## Components

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

## Channel facts

- Endpoint: `https://agent-tools.jbarkules.workers.dev/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.1.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-11-05.

- **Endpoint Security**: 46/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 48 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS check failed: the endpoint is reachable over plaintext HTTP.
  - 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 (good).
  - Context-footprint check failed: tool/resource definitions use about 9645 tokens (~200/item across 48 items; 48 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 47/100
  - Stability observed for 14 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 98/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 93% 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 48 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 49 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 60/100
  - Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28.

## Install

### How do I install the Agent Tools MCP server?

Agent Tools is a hosted endpoint at https://agent-tools.jbarkules.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-jbarkules-agent-tools-agent-tools 'https://agent-tools.jbarkules.workers.dev/mcp'
```

### Cursor

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

### VS Code

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

### Codex

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

### opencode

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

### OpenClaw

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

### Hermes

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

### Netclaw

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

### Vellum

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

### Other

```json
{
  "mcpServers": {
    "dev-workers-jbarkules-agent-tools-agent-tools": {
      "type": "http",
      "url": "https://agent-tools.jbarkules.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-11-04 (score 62, +1)

No change was recorded against any check on this day. Stability & Change Management went from 40 to 43. That category is still filling its 30-day observation window: 12 days of observed history at the previous scan, 13 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-11-02 (score 61, +1)

- [functional] New tool “safe_web_read”

### 2026-11-01 (score 60, 0)

- [functional] New tool “audio_transcribe”
- [functional] New tool “video_transcribe”

### 2026-10-31 (score 60, 0)

- [functional regression] Schema quality: 7290 → 9054
- [functional] New tool “clinical_trials_search”
- [functional] New tool “macro_indicators”
- [functional] New tool “manifest_scan”
- [functional] New tool “sec_facts”
- [functional] New tool “text_rerank”
- [functional] New tool “text_similarity”
- [functional] New tool “web_screenshot”

### 2026-10-30 (score 60, +1)

- [security regression] HTTPS: unverified → fail
- [security] Tool “federal_register_search” rewrote its description, which is the text the model reads
- [security] Tool “package_advisories” rewrote its description, which is the text the model reads
- [security] Tool “pii_redact” rewrote its description, which is the text the model reads
- [security] Tool “prompt_injection_check” rewrote its description, which is the text the model reads
- [security] Tool “sec_filings” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: 6585 → 7290
- [functional] New tool “dependency_audit”
- [functional] New tool “papers_search”

### 2026-10-29 (score 59, 0)

- [functional regression] Schema quality: 5430 → 6585
- [functional] New tool “federal_register_search”
- [functional] New tool “package_advisories”
- [functional] New tool “pii_redact”
- [functional] New tool “prompt_injection_check”
- [functional] New tool “sec_filings”

### 2026-10-28 (score 59, 0)

- [functional regression] Schema quality: 4787 → 5430
- [functional] New tool “business_day_add”
- [functional] New tool “fx_convert”
- [functional] New tool “url_check”

### 2026-10-27 (score 59, +1)

No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.

## MCP tools (48)

### `email_check` (~146 tokens)

Email validation for signup forms, lead lists and CRM cleanup: checks syntax, MX mail servers, disposable or temporary domains, role addresses (info@, sales@) and free providers. Returns a deliverable_guess. No SMTP probe, no data stored. Price $0.001 USDC per call via x402. Example output: {"email":"jane@acme.com","valid_syntax":true,"domain":"acme.com","mx_records":["10 mx1.acme.com."],"has_mail_server":true,"disposable":false,"role_account":false,"free_provider":false,"deliverable_guess":"likely"}

Input parameters:

- `email` (string, required): Email address to validate

### `email_check_full` (~177 tokens)

One call email risk check: everything in email_check plus sender domain health (domain age, registrar, SPF, DMARC, website reachable) and a 0-100 risk score with accept/review/reject verdict. Use for fraud screening, lead qualification and signup gating. Price $0.004 USDC per call via x402. Example output: {"email":"jane@acme.com","has_mail_server":true,"disposable":false,"domain_health":{"registrar":"GoDaddy.com, LLC","age_days":4021,"spf":"v=spf1 include:_spf.google.com ~all","dmarc":"v=DMARC1; p=reject","website_reachable":true},"risk_score":0,"risk_reasons":[],"verdict":"accept"}

Input parameters:

- `email` (string, required): Email address

### `pdf_to_text` (~122 tokens)

PDF to text or markdown for RAG, summarizing, search indexing and reading reports, papers, contracts and invoices. Give a PDF URL (max 20 MB); returns text per page. format=text or markdown. Not stored. Price $0.006 USDC per call via x402. Example output: {"pages":1,"format":"markdown","characters":2859,"text":"## Page 1\n\nSample PDF\nThis is a simple PDF file..."}

Input parameters:

- `format` (string)
- `url` (string, required): Public PDF URL

### `document_extract` (~211 tokens)

One call document parsing for invoices, receipts, statements, forms and scanned pages: PDF or image URL in, full text plus extracted fields out (dates, money amounts, totals/tax/amount due, invoice or order numbers, key: value pairs, emails, phones, URLs, simple tables). Images and scans use OCR. Price $0.012 USDC per call via x402. Example output: {"kind":"pdf","pages":1,"characters":1840,"text":"INVOICE\nInvoice #: INV-1042\nDate: 2026-10-01\nTotal: $1,250.00","fields":{"dates":["2026-10-01"],"amounts":["$1,250.00"],"totals":[{"label":"total","value":"$1,250.00"}],"identifiers":["Invoice #: INV-1042"],"key_values":{"Invoice":"INV-1042","Date

Input parameters:

- `url` (string, required): Public PDF or image URL

### `domain_lookup` (~190 tokens)

Domain intelligence for due diligence, phishing checks and lead research: registrar, creation and expiry dates (RDAP/WHOIS), A/AAAA/MX/NS/TXT records, SPF, DMARC and HTTPS reachability in one call. Price $0.003 USDC per call via x402. Example output: {"domain":"example.com","registered":true,"registrar":"RESERVED-Internet Assigned Numbers Authority","created":"1995-08-14T04:00:00Z","expires":"2027-08-13T04:00:00Z","dns":{"a":["93.184.215.14"],"mx":[],"ns":["a.iana-servers.net."]},"email_security":{"spf":"v=spf1 -all","dmarc":null},"https":{"reac

Input parameters:

- `domain` (string, required): Domain name, e.g. example.com

### `image_ocr` (~79 tokens)

OCR: read all text from a screenshot, photo, receipt, sign, scanned page or chart image at a URL (PNG/JPEG, max 10 MB). Keeps line breaks. Price $0.005 USDC per call via x402. Example output: {"text":"Hello Agent Tools"}

Input parameters:

- `url` (string, required): Public image URL

### `file_convert` (~99 tokens)

Format conversion for data pipelines and publishing: CSV to JSON, JSON to CSV, HTML to markdown, markdown to HTML, HTML to plain text. JSON body {from, to, input}. Price $0.003 USDC per call via x402. Example output: {"output":[{"name":"widget","qty":"2"}]}

Input parameters:

- `from` (string, required)
- `input` (string, required): Content to convert
- `to` (string, required)

### `web_to_markdown` (~104 tokens)

Read a web page as clean LLM-ready markdown (main content, no nav or scripts) for research, RAG and summarization. Respects robots.txt. Price $0.0015 USDC per call via x402. Example output: {"url":"https://example.com/","status":200,"title":"Example Domain","characters":156,"markdown":"This domain is for use in documentation examples..."}

Input parameters:

- `url` (string, required): Public page URL

### `web_read_full` (~150 tokens)

One call page reader: clean markdown plus page metadata (title, description, Open Graph, canonical, favicon), outbound links, word count and extracted dates, prices, emails and phones. Use for research agents, price checks and lead enrichment from public pages. Price $0.004 USDC per call via x402. Example output: {"url":"https://example.com/","title":"Example Domain","markdown":"...","meta":{"description":null,"og_image":null,"canonical":null},"links":["https://iana.org/domains/example"],"word_count":25,"fields":{"dates":[],"amounts":[],"emails":[],"phones":[]}}

Input parameters:

- `url` (string, required): Public page URL

### `url_metadata` (~124 tokens)

Link preview and unfurl data: title, description, Open Graph image, site name, canonical URL, favicon and final URL after redirects. Price $0.001 USDC per call via x402. Example output: {"url":"https://github.com/","final_url":"https://github.com/","status":200,"title":"GitHub","description":"Join the world's most widely adopted...","og_image":"https://github.githubassets.com/images/modules/site/social-cards/campaign-social.png","site_name":"GitHub"}

Input parameters:

- `url` (string, required): Page URL

### `timezone_convert` (~186 tokens)

Timezone conversion for scheduling meetings and deadlines across IANA zones, with DST-correct UTC offsets. time=ISO local time or 'now'. Price $0.001 USDC per call via x402. Example output: {"utc":"2026-10-22T16:00:00.000Z","from":{"timezone":"America/New_York","local":"2026-10-22T12:00:00","utc_offset":"-04:00"},"to":{"timezone":"Asia/Tokyo","local":"2026-10-23T01:00:00","utc_offset":"+09:00"}}

Input parameters:

- `from` (string, required): IANA zone, e.g. America/New_York
- `time` (string): ISO local time or 'now'
- `to` (string, required): IANA zone, e.g. Asia/Tokyo

### `business_days` (~133 tokens)

Business day calculator for SLAs, invoice due dates, shipping and legal deadlines: counts working days between two dates, skipping weekends and national public holidays (ISO country code). Price $0.001 USDC per call via x402. Example output: {"start":"2026-12-01","end":"2026-12-31","country":"US","business_days":22,"holidays_excluded":1,"inclusive":true}

Input parameters:

- `country` (string): ISO 3166 alpha-2, optional
- `end` (string, required): YYYY-MM-DD
- `start` (string, required): YYYY-MM-DD

### `public_holidays` (~114 tokens)

Public holiday calendar for 100+ countries by year, for scheduling, payroll and delivery planning. Price $0.001 USDC per call via x402. Example output: {"year":2027,"country":"US","holidays":[{"date":"2027-01-01","name":"New Year's Day","local_name":"New Year's Day","global":true}]}

Input parameters:

- `country` (string, required): ISO 3166 alpha-2
- `year` (string, required): Year, e.g. 2027

### `fx_rates` (~126 tokens)

Currency exchange rates (European Central Bank reference rates) for price conversion, invoicing and travel budgets. Latest or historical by date. Price $0.001 USDC per call via x402. Example output: {"source":"European Central Bank via Frankfurter","base":"USD","date":"2026-10-22","rates":{"EUR":0.89246,"JPY":157.05}}

Input parameters:

- `base` (string): Base currency, e.g. USD
- `date` (string): YYYY-MM-DD, optional
- `symbols` (string): Comma list, optional

### `ip_lookup` (~124 tokens)

IP address lookup for security triage, log analysis and fraud checks: owning network, allocation range, registry country (RDAP) and reverse DNS. Price $0.003 USDC per call via x402. Example output: {"ip":"1.1.1.1","network":"APNIC-LABS","range":"1.1.1.0 - 1.1.1.255","country":"AU","type":"ASSIGNED PORTABLE","reverse_dns":["one.one.one.one."]}

Input parameters:

- `ip` (string, required): IPv4 or IPv6 address

### `token_info` (~262 tokens)

Token contract inspector for Base, Ethereum, Optimism, Arbitrum and Polygon: is it a contract, ERC20/ERC721/ERC1155 detection, name, symbol, decimals, total supply (raw and formatted), owner, and upgradeable-proxy check (EIP-1967, beacon, EIP-1167 clone, legacy zeppelinos) with implementation and admin addresses. Read live from public RPC. Use before quoting, swapping, listing or paying with a token. Price $0.002 USDC per call via x402. Example output: {"chain":"base","chain_id":8453,"address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","is_contract":true,"standard":"ERC20","name":"USD Coin","symbol":"USDC","decimals":6,"total_supply":"4299464528.64453","owner":"0x3ABd6f64A422225E61E435baE41db12096106df7","proxy":{"is_proxy":true,"type":"zeppelin

Input parameters:

- `address` (string, required): Token contract address (0x...)
- `chain` (string): Chain, default base

### `gas_estimate` (~291 tokens)

Gas estimate and fee quote for Base, Ethereum, Optimism, Arbitrum and Polygon: eth_estimateGas for your transaction (to, from, value, data) or a plain transfer if no 'to', current base fee, slow/standard/fast priority tips from recent blocks, max fee suggestions, L1 data fee on OP-stack chains and total cost in native coin and USD (Chainlink price). Reports reverts instead of failing. Use before signing or to budget agent transactions. Price $0.002 USDC per call via x402. Example output: {"chain":"base","chain_id":8453,"block":53115830,"native":"ETH","gas_units":"45415","method":"eth_estimateGas","reverted":false,"base_fee_gwei":"0.005","l1_data_fee_native":"0.000000000857537839","native_usd":2320.97,"fees":[{"tier":"slow","max_priority_fee_gwei":"0.00011","max_fee_per_gas_gwei":"0.

Input parameters:

- `chain` (string): Chain, default base
- `data` (string): Optional. 0x calldata
- `from` (string): Optional. Sender address
- `to` (string): Optional. Target address; omit for a plain native transfer quote
- `value` (string): Optional. Value in wei

### `x402_endpoint_check` (~265 tokens)

x402 readiness check for any paid API URL: probes it without paying and reports whether it returns a valid 402, where the requirements are (header or body, v1 or v2), network, asset, price in USD, payTo (with EIP-55 checksum check), EIP-712 token domain, timeout, resource URL and Bazaar discovery. Returns ready or needs_fixes with a 0-100 score and a list of specific issues. Use before listing an endpoint or paying it. Never pays. Price $0.005 USDC per call via x402. Example output: {"url":"https://api.example.com/v1/data","probe":{"method":"GET","status":402,"redirects":0,"ms":312},"x402_detected":true,"ready":true,"score":100,"verdict":"ready","version":2,"delivered_via":"PAYMENT-REQUIRED header","accepts":[{"scheme":"exact","network":"eip155:8453","asset_symbol":"USDC","amou

Input parameters:

- `method` (string): Optional. Default tries GET, then POST if GET returns 404 or 405
- `url` (string, required): Public http(s) URL of the paid endpoint to probe

### `x402_seller_audit` (~220 tokens)

Will my paid API get listed? Audits any x402 endpoint URL: runs the readiness check, flags the 500 character description limit, then checks the Coinbase Bazaar listing, OpenAPI x-payment-info, 402 Index entry, favicon, llms.txt and /.well-known/x402. Returns a 0-100 score, verdict and an ordered fix list. Never sends a payment. Price $0.01 USDC per call via x402. Example output: {"url":"https://api.example.com/v1/data","score":82,"verdict":"ready_but_hard_to_find","readiness":{"score":100,"verdict":"ready","price_usd":0.001,"description_length":180},"listing":{"score":35,"coinbase_bazaar":{"listed":false},"openapi":{"found":true,"path_documented":true}},"fixes":[{"severity"

Input parameters:

- `method` (string): Optional
- `url` (string, required): Public http(s) URL of your paid x402 endpoint

### `email_check_batch` (~168 tokens)

Batch email validation for list cleaning: up to 10 addresses per call, 40% cheaper than 10 single calls. JSON body {emails:[...]}. Each item gets syntax, MX, disposable, role and free-provider checks and a deliverable_guess. Bad items return per-item errors, not a failed call. Price $0.006 USDC per call via x402. Example output: {"count":2,"succeeded":2,"failed":0,"results":[{"input":"jane@acme.com","ok":true,"result":{"deliverable_guess":"likely"}},{"input":"bob@mailinator.com","ok":true,"result":{"disposable":true,"deliverable_guess":"risky"}}]}

Input parameters:

- `emails` (array, required): 1 to 10 email addresses

### `ip_lookup_batch` (~172 tokens)

Batch IP lookup for log analysis and fraud review: up to 10 IPv4 or IPv6 addresses per call, 40% cheaper than singles. JSON body {ips:[...]}. Each item returns the owning network, range, country (RDAP) and reverse DNS. Bad items return per-item errors. Price $0.012 USDC per call via x402. Example output: {"count":2,"succeeded":2,"failed":0,"results":[{"input":"1.1.1.1","ok":true,"result":{"network":"APNIC-LABS","country":"AU"}},{"input":"8.8.8.8","ok":true,"result":{"network":"GOGL","country":"US"}}]}

Input parameters:

- `ips` (array, required): 1 to 10 IP addresses

### `domain_lookup_batch` (~140 tokens)

Batch domain intelligence for due diligence and lead lists: up to 10 domains per call, 60% cheaper than singles. JSON body {domains:[...]}. Each item returns registrar, dates, DNS, SPF, DMARC and HTTPS reachability. Bad items return per-item errors. Price $0.012 USDC per call via x402. Example output: {"count":2,"succeeded":2,"failed":0,"results":[{"input":"example.com","ok":true,"result":{"registered":true,"registrar":"RESERVED-Internet Assigned Numbers Authority"}}]}

Input parameters:

- `domains` (array, required): 1 to 10 domain names

### `url_dossier` (~168 tokens)

One call dossier on a web page and its host: clean markdown, page metadata, outbound links and extracted fields, plus domain intelligence (registrar, age, DNS, SPF, DMARC) and IP network lookup for the host, with a short trust summary. Replaces three calls. Price $0.007 USDC per call via x402. Example output: {"url":"https://example.com/","host":"example.com","page":{"title":"Example Domain","word_count":25},"domain":{"registered":true,"registrar":"RESERVED-Internet Assigned Numbers Authority"},"ip":{"network":"EDGECAST","country":"US"},"summary":{"domain_age_days":11000,"has_spf":true,"https_reachable":

Input parameters:

- `url` (string, required): Public page URL

### `invoice_intake` (~175 tokens)

Invoice intake for AP agents: PDF or image URL in, one decision-ready JSON out. Extracts text, number, total, dates and vendor contact, then runs an email risk check and domain lookup on the vendor and returns accept, review or reject with reasons. Heuristic triage, not bank verification. Price $0.012 USDC per call via x402. Example output: {"invoice":{"number":"INV-1042","total":"$1,250.00","vendor_email":"billing@acme.com","vendor_domain":"acme.com"},"vendor_checks":{"email":{"verdict":"accept","risk_score":0},"domain":{"registered":true,"age_days":4021}},"verdict":"accept","reasons":[]}

Input parameters:

- `url` (string, required): Public PDF or image URL of the invoice

### `token_preflight` (~214 tokens)

Token preflight for agents about to swap, list or pay with a token on Base, Ethereum, Optimism, Arbitrum or Polygon: contract and standard check, name, symbol, supply, proxy and owner flags, a 0-100 structural risk score with reasons, plus a simulated ERC20 transfer gas cost in USD. Not a honeypot audit. Price $0.004 USDC per call via x402. Example output: {"token":{"chain":"base","symbol":"USDC","standard":"ERC20","decimals":6},"risk":{"score":30,"level":"medium","reasons":["upgradeable or proxy contract (zeppelinos (legacy unstructured storage))","has an owner address"]},"transfer_gas":{"gas_units":"45415","fees":[{"tier":"standard","est_cost_usd":0

Input parameters:

- `address` (string, required): Token contract address
- `chain` (string): Default base
- `from` (string): Optional holder address for a realistic transfer simulation

### `ens_resolve` (~150 tokens)

ENS lookup: name to address (with avatar) or address to primary name, with forward verification. Read live from Ethereum mainnet. Use name=vitalik.eth or address=0x... Use before sending funds to a human readable name. Price $0.002 USDC per call via x402. Example output: {"name":"vitalik.eth","address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","resolved":true,"avatar":null}

Input parameters:

- `address` (string): Or an address for reverse lookup
- `name` (string): ENS name, e.g. vitalik.eth

### `wallet_balance` (~224 tokens)

Wallet balance on Base, Ethereum, Optimism, Arbitrum or Polygon: native coin balance with USD value (Chainlink) plus up to 10 ERC20 token balances with symbol and decimals. Pass tokens=0xA,0xB. Read live from public RPC. Use before funding, swapping or paying from a wallet. Price $0.002 USDC per call via x402. Example output: {"chain":"base","address":"0x0dEA0030A17BF886543a757c55924710258c2eec","native":{"symbol":"ETH","balance":"0.0012","usd":2.78},"tokens":[{"token":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","symbol":"USDC","balance":"1.5"}]}

Input parameters:

- `address` (string, required): Wallet address
- `chain` (string): Default base
- `tokens` (string): Optional comma list of up to 10 ERC20 addresses

### `tx_decode` (~206 tokens)

Transaction decoder for Base, Ethereum, Optimism, Arbitrum and Polygon: status, from, to, value, gas used, fee in native coin and USD, method name and arguments for common ERC20 calls, ERC20 transfers with symbols and amounts, and approvals. Use to confirm a payment landed or explain what a transaction did. Price $0.003 USDC per call via x402. Example output: {"chain":"base","hash":"0x5514...","status":"success","from":"0x652a...","to":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","method":{"name":"transfer"},"token_transfers":[{"symbol":"USDC","amount":"0.003"}],"fee_usd":0.0004}

Input parameters:

- `chain` (string): Default base
- `hash` (string, required): Transaction hash (0x + 64 hex)

### `business_day_add` (~222 tokens)

Due-date calculator: add or subtract N business days from a date, skipping weekends and nationwide public holidays for a country (ISO code). Returns the result date and weekday, which holidays were skipped and whether the start day is a working day. For SLAs, invoice terms, shipping and legal deadlines. Price $0.001 USDC per call via x402. Example output: {"start":"2026-12-23","start_weekday":"Wednesday","start_is_business_day":true,"days":5,"result":"2026-12-31","result_weekday":"Thursday","calendar_days":8,"weekend_days_skipped":2,"holidays_skipped":[{"date":"2026-12-25","name":"Christmas Day"}],"country":"US"}

Input parameters:

- `country` (string): Optional ISO 3166 alpha-2, e.g. US
- `days` (string, required): Whole number of business days, negative to go back (max 1000)
- `start` (string, required): Start date YYYY-MM-DD (not counted)

### `fx_convert` (~227 tokens)

Currency converter for invoices, quotes and budgets: convert an amount from one currency into up to 10 others using European Central Bank rates (latest or a past date). Returns rounded amounts, rate, inverse rate and the 7 day change in percent for each target. Price $0.002 USDC per call via x402. Example output: {"source":"European Central Bank via Frankfurter","amount":1250,"from":"USD","rate_date":"2026-10-27","conversions":[{"currency":"EUR","rate":0.89686,"inverse_rate":1.115,"converted":1121.08,"change_7d_pct":0.925}],"change_7d_reference_date":"2026-10-20"}

Input parameters:

- `amount` (string, required): Amount to convert, e.g. 1250.50
- `date` (string): Optional YYYY-MM-DD for a historical rate
- `from` (string, required): Source currency code, e.g. USD
- `to` (string, required): Comma list of up to 10 target currency codes

### `url_check` (~194 tokens)

Link health check: follows redirects hop by hop (max 8) with status and timing, flags loops and https downgrades, then reports final status, content type and size, server, caching and a security-header grade (HSTS, CSP, nosniff, frame, referrer, permissions). Public hosts only. Price $0.002 USDC per call via x402. Example output: {"url":"http://github.com/","final_url":"https://github.com/","final_status":200,"verdict":"ok_after_redirect","redirects":1,"https":true,"downgraded_to_http":false,"hops":[{"url":"http://github.com/","status":301,"location":"https://github.com/","ms":40},{"url":"https://github.com/","status":200,"l

Input parameters:

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

### `package_advisories` (~252 tokens)

Free tier: 25 calls/day per IP with header X-Free-Call: 1 (or ?free=1), then pay per call. Check a package before installing it: known vulnerabilities for one npm, PyPI, cargo, Go or Maven package version (OSV.dev), fixed-in version, latest version and release date, licence, deprecated flag, and a safe, caution or avoid verdict with reasons. Version defaults to latest. Price $0.005 USDC per call via x402. Example output: {"ecosystem":"npm","name":"lodash","version":"4.17.20","version_checked":"requested","verdict":"avoid","reasons":["5 known advisories affect this version (worst: high)","a newer version exists"],"vulnerabilities":{"count":5,"by_severity":{"HIGH":2,"MODERATE":3},"items":[{"id":"GHSA-29mw-wpgm-hmr9","

Input parameters:

- `ecosystem` (string, required): Package ecosystem
- `name` (string, required): Package name, e.g. lodash or requests (maven: group:artifact)
- `version` (string): Optional. Defaults to the latest version

### `safe_web_read` (~140 tokens)

Read a web page as clean markdown and screen it for prompt injection in one call, before your agent puts it in context. Returns the markdown plus verdict safe, suspicious or malicious, a 0-100 score and matched spans. Respects robots.txt. Price $0.005 USDC per call via x402. Example output: {"url":"https://example.com/","status":200,"title":"Example Domain","characters":156,"injection":{"verdict":"safe","score":0,"categories":{},"matches":[]},"markdown":"This domain is for use in documentation examples..."}

Input parameters:

- `url` (string, required): Public page URL

### `prompt_injection_check` (~178 tokens)

Free tier: 25 calls/day per IP with header X-Free-Call: 1 (or ?free=1), then pay per call. Rule-based prompt-injection screen for untrusted text such as scraped web pages, emails and tool output. JSON body {text} (max 50,000 chars). Detects instruction-override phrasing, role-spoofing tags, data-leak links and hidden Unicode in 6 languages. Returns verdict safe, suspicious or malicious, a 0-100 score and matched spans. Text is not stored. Price $0.005 USDC per call via x402. Example output: {"verdict":"safe","score":0,"chars":56,"categories":{},"matches":[]}

Input parameters:

- `text` (string, required): Text to screen, max 50,000 characters

### `pii_redact` (~242 tokens)

Free tier: 25 calls/day per IP with header X-Free-Call: 1 (or ?free=1), then pay per call. Scrub text before it goes to a model or a log: JSON body {text, mask} (max 100,000 chars). Finds emails, phones, SSNs, cards (Luhn), IBANs, IPs, MAC addresses, API keys, JWTs, private keys, wallet addresses. mask is label, hash or star. Returns redacted text and counts. Not stored. Price $0.003 USDC per call via x402. Example output: {"redacted":"Contact [EMAIL] or [PHONE]. Card [CREDIT_CARD].","mask":"label","total_found":3,"counts":{"email":1,"phone":1,"credit_card":1},"findings":[{"type":"email","start":8,"end":20,"length":12}]}

Input parameters:

- `mask` (string): label (default) [EMAIL], hash [EMAIL:ab12cd34], or star
- `text` (string, required): Text to redact, max 100,000 characters

### `federal_register_search` (~308 tokens)

Free tier: 25 calls/day per IP with header X-Free-Call: 1 (or ?free=1), then pay per call. Search the US Federal Register: final rules, proposed rules, notices and presidential documents with title, agencies, publication date, effective date, comment deadline, docket IDs, abstract and links. Filter by keyword, type, agency slug and date range. Public domain data, no legal advice. Price $0.005 USDC per call via x402. Example output: {"total_matches":42,"returned":1,"documents":[{"document_number":"2026-21706","type":"Proposed Rule","title":"Example proposed rule","agencies":["Treasury Department"],"publication_date":"2026-10-23","effective_on":null,"comments_close_on":"2026-12-22","docket_ids":["Docket ID OCC-2025-0372"],"url":

Input parameters:

- `agency` (string): Optional agency slug, e.g. environmental-protection-agency
- `comments_open` (string): true to keep only documents still open for comment
- `from` (string): Optional publication date from, YYYY-MM-DD
- `limit` (string): 1 to 20, default 10
- `q` (string): Optional keyword or phrase
- `sort` (string)
- `to` (string): Optional publication date to, YYYY-MM-DD
- `type` (string): Optional document type

### `sec_filings` (~325 tokens)

Free tier: 25 calls/day per IP with header X-Free-Call: 1 (or ?free=1), then pay per call. Recent SEC EDGAR filings for a US-listed company by ticker or CIK: form type, filing and report dates, 8-K item codes with plain labels, accession number and direct document links. Filter by form (8-K, 10-K, 10-Q, 4, 13F-HR, comma list), since date and limit. Raw public data, not investment advice. Price $0.005 USDC per call via x402. Example output: {"company":{"name":"Apple Inc.","cik":"320193","tickers":["AAPL"],"exchanges":["Nasdaq"],"sic_description":"Electronic Computers","fiscal_year_end":"0926"},"filters":{"form":["8-K"],"since":null,"limit":3},"matched":12,"returned":1,"filings":[{"form":"8-K","amendment":false,"filing_date":"2026-07-31

Input parameters:

- `cik` (string): Optional SEC CIK number, e.g. 320193
- `form` (string): Optional form type or comma list, e.g. 8-K,10-Q
- `limit` (string): 1 to 40, default 10
- `since` (string): Optional earliest filing date, YYYY-MM-DD
- `ticker` (string): Stock ticker, e.g. AAPL or BRK-B. Give ticker or cik

### `sec_facts` (~302 tokens)

Financial figures over time from SEC XBRL filings for a US-listed company by ticker or CIK: revenue, net income, EPS, assets, liabilities, cash, operating income, equity, shares, or any us-gaap tag. Annual or quarterly series with period dates, fiscal year, form, filing date and accession number, latest filing per period. Pairs with sec_filings. Raw public data, not investment advice. Price $0.01 USDC per call via x402. Example output: {"company":{"name":"Apple Inc.","cik":"320193"},"concept":{"tag":"NetIncomeLoss","label":"Net Income (Loss) Attributable to Parent","unit":"USD"},"period":"annual","returned":1,"values":[{"start":"2024-09-29","end":"2025-09-27","value":112010000000,"fiscal_year":2025,"fiscal_period":"FY","form":"10-

Input parameters:

- `cik` (string): Optional SEC CIK, e.g. 320193
- `concept` (string): revenue (default), net_income, eps, assets, liabilities, cash, operating_income, equity, shares, or a us-gaap tag
- `limit` (string): 1 to 40, default 10
- `period` (string)
- `ticker` (string): Stock ticker, e.g. AAPL. Give ticker or cik

### `manifest_scan` (~222 tokens)

Batch vulnerability scan of a whole package.json (npm) or requirements.txt (PyPI): JSON body {manifest}. Checks up to 50 dependencies against OSV.dev known advisories and returns, per package, the version checked, vulnerability count by severity, advisory IDs and the minimum fixed version, with vulnerable packages listed first. Cheaper batch form of package_advisories. Price $0.012 USDC per call via x402. Example output: {"ecosystem":"npm","manifest_type":"package.json","summary":{"dependencies_found":2,"checked":2,"not_checked_over_limit":0,"lookup_failed":0,"vulnerable_packages":1,"known_vulnerabilities":5},"vulnerable":[{"name":"lodash","spec":"4.17.20","version_checked":"4.17.20","vulnerable":true,"vulnerabiliti

Input parameters:

- `manifest` (string, required): package.json or requirements.txt contents as a string, max 200,000 chars
- `type` (string): Optional. Auto-detected if omitted

### `clinical_trials_search` (~295 tokens)

Search ClinicalTrials.gov for health-research agents: keyword, condition or intervention in; trials out with NCT ID, title, status, phases, study type, enrollment, conditions, interventions, lead sponsor, start and completion dates, results flag, site count and link. Filter by status (e.g. RECRUITING), phase and location. Registry data only, not medical advice. Price $0.005 USDC per call via x402. Example output: {"total_matches":822,"returned":1,"studies":[{"nct_id":"NCT06467604","title":"CRAVE Study: Comparing Craving Responses and Diet Quality of GLP1 Receptor Agonist Users","status":"ACTIVE_NOT_RECRUITING","phases":["NA"],"study_type":"OBSERVATIONAL","enrollment":60,"conditions":["Obesity"],"intervention

Input parameters:

- `condition` (string): Optional condition or disease
- `intervention` (string): Optional drug, device or procedure
- `limit` (string): 1 to 25, default 10
- `location` (string): Optional city, state or country
- `phase` (string): Optional phase or comma list, e.g. PHASE2,PHASE3
- `q` (string): Optional free-text term
- `status` (string): Optional status or comma list, e.g. RECRUITING

### `macro_indicators` (~291 tokens)

Macro indicators by country and year from the World Bank: GDP, GDP growth, GDP per capita, inflation, unemployment, population, debt to GDP, real interest rate, exports, imports, current account, FDI, or any World Bank indicator code. Up to 10 countries per call (ISO2 or ISO3, joined with ;), newest year first. Pairs with fx_rates. Price $0.003 USDC per call via x402. Example output: {"indicator":{"code":"NY.GDP.MKTP.CD","name":"GDP (current US$)"},"series":[{"country":"United States","iso3":"USA","values":[{"year":2025,"value":30769700000000},{"year":2024,"value":29298013000000}]}],"last_updated":"2026-10-08","source":"World Bank Open Data API (CC BY 4.0)"}

Input parameters:

- `country` (string): ISO2 or ISO3 code, or up to 10 joined with ;, default US
- `from` (string): Optional first year
- `indicator` (string): Alias such as gdp or inflation, or a World Bank code like NY.GDP.MKTP.CD
- `limit` (string): 1 to 60 values per country, default 10
- `to` (string): Optional last year

### `web_screenshot` (~237 tokens)

Screenshot any public web page with a real headless Chrome: url in, PNG or JPEG out as base64 in JSON, plus final URL after redirects, HTTP status, page title and size. Set viewport width and height, or full_page=true for the whole page. For agents that need to see a page, check a layout or keep visual proof. Price $0.015 USDC per call via x402. Example output: {"url":"https://example.com/","final_url":"https://example.com/","http_status":200,"title":"Example Domain","width":1280,"height":800,"full_page":false,"format":"png","bytes":21034,"image_base64":"iVBORw0KGgo...","data_url_prefix":"data:image/png;base64,"}

Input parameters:

- `format` (string)
- `full_page` (string): true for full page
- `height` (string): 240 to 1600, default 800
- `url` (string, required): Public http(s) URL
- `width` (string): 320 to 1920, default 1280

### `audio_transcribe` (~232 tokens)

Speech to text: transcribe an audio file at a URL (MP3, WAV, M4A/AAC, OGG/Opus, FLAC, WebM; max 10 MB) with Whisper large v3 turbo. Returns full text, detected language, duration, timestamped segments and WebVTT captions. task=translate gives English text. For podcasts, voice notes, calls and meetings. Price $0.02 USDC per call via x402. Example output: {"text":"Hello and welcome to the show.","language":"en","duration_seconds":4.2,"task":"transcribe","format":"mp3","bytes":67000,"word_count":6,"segments":[{"start":0,"end":4.2,"text":"Hello and welcome to the show."}],"model":"whisper-large-v3-turbo"}

Input parameters:

- `language` (string): Optional ISO code, e.g. en
- `task` (string)
- `url` (string, required): Public URL of the media file itself
- `vad` (string): true to apply voice activity filtering

### `video_transcribe` (~219 tokens)

Video to transcript: transcribe the speech in a video file at a URL (MP4, MOV, WebM, MKV with an audio track; max 20 MB) with Whisper large v3 turbo. Returns full text, language, duration, timestamped segments and WebVTT captions ready for subtitles. task=translate gives English text. Price $0.03 USDC per call via x402. Example output: {"text":"Hello and welcome to the show.","language":"en","duration_seconds":4.2,"task":"transcribe","format":"mp4","bytes":67000,"word_count":6,"segments":[{"start":0,"end":4.2,"text":"Hello and welcome to the show."}],"model":"whisper-large-v3-turbo"}

Input parameters:

- `language` (string): Optional ISO code, e.g. en
- `task` (string)
- `url` (string, required): Public URL of the media file itself
- `vad` (string): true to apply voice activity filtering

### `papers_search` (~298 tokens)

Free tier: 25 calls/day per IP with header X-Free-Call: 1 (or ?free=1), then pay per call. Scholarly paper search for research agents: keywords or a DOI in, matching papers out with title, authors, year, venue, DOI, citation count, open access PDF or page link, retraction flag and abstract. Filter by year range and open access, sort by relevance, citations or newest. Source OpenAlex, Crossref fallback. Price $0.006 USDC per call via x402. Example output: {"total_matches":136358,"returned":1,"papers":[{"title":"Example paper on retrieval augmented generation","authors":["A. Author","B. Author"],"authors_total":2,"year":2024,"venue":"Example Journal","doi":"10.1234/example.5678","doi_url":"https://doi.org/10.1234/example.5678","citations":181,"open_ac

Input parameters:

- `from_year` (string): Optional earliest year, e.g. 2020
- `limit` (string): 1 to 25, default 10
- `open_access` (string): true to keep only open access papers
- `q` (string, required): Search words, or a DOI such as 10.1038/nature14539
- `sort` (string)
- `to_year` (string): Optional latest year

### `dependency_audit` (~257 tokens)

Audit a whole project before an agent installs or runs it: JSON body {manifest, type, readme}. manifest is package.json (npm) or requirements.txt (PyPI) text. Checks up to 25 dependencies against OSV.dev advisories, deprecation and latest versions, and screens the optional README for prompt injection. Returns one safe, caution or avoid verdict plus a ranked fix list (upgrade to version X). Price $0.05 USDC per call via x402. Example output: {"verdict":"avoid","ecosystem":"npm","manifest_type":"package.json","summary":{"dependencies_found":2,"checked":2,"not_checked_over_limit":0,"lookup_failed":0,"avoid":1,"caution":0,"known_vulnerabilities":5},"fixes":[{"priority":"high","package":"lodash","action":"upgrade to >= 4.17.21","why":["5 kn

Input parameters:

- `manifest` (string, required): package.json or requirements.txt contents as a string, max 200,000 chars
- `readme` (string): Optional README or docs text to screen for prompt injection, max 50,000 chars
- `type` (string): Optional. Auto-detected if omitted

### `text_similarity` (~163 tokens)

Semantic similarity of two texts for RAG, dedupe and matching: JSON body {a, b}, each up to 8,000 chars, any language. Returns a cosine score from bge-m3 embeddings plus a rough band (near_duplicate, high, related, weak, unrelated). Texts are not stored. Price $0.003 USDC per call via x402. Example output: {"similarity":0.8123,"band":"high","metric":"cosine","model":"baai/bge-m3","dimensions":1024,"chars":{"a":23,"b":27}}

Input parameters:

- `a` (string, required): First text, max 8,000 characters
- `b` (string, required): Second text, max 8,000 characters

### `text_rerank` (~254 tokens)

Rerank search results or RAG chunks by relevance to a query: JSON body {query, documents, top_k}. Up to 50 documents (strings or {id, text}), each up to 2,000 chars. Returns the documents sorted by a 0-1 relevance score from the bge-reranker-base cross-encoder. Texts are not stored. Price $0.005 USDC per call via x402. Example output: {"documents":3,"returned":2,"model":"baai/bge-reranker-base","results":[{"rank":1,"index":0,"score":0.9312,"text":"Photosynthesis turns light, water and carbon dioxide into sugar."},{"rank":2,"index":2,"score":0.4105,"text":"Chlorophyll absorbs sunlight in leaves."}]}

Input parameters:

- `documents` (array, required): 1 to 50 strings or {id, text} objects, each max 2,000 characters
- `query` (string, required): Search query, max 1,000 characters
- `return_documents` (boolean): Optional, default true
- `top_k` (integer): Optional number of results, default all

## Diagnostics

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

## Score history

- 2026-11-05: 62
- 2026-11-04: 62
- 2026-11-03: 61
- 2026-11-02: 61
- 2026-11-01: 60
- 2026-10-31: 60
- 2026-10-30: 60
- 2026-10-29: 59
- 2026-10-28: 59
- 2026-10-27: 59
- 2026-10-26: 58
- 2026-10-25: 58
- 2026-10-24: 58
- 2026-10-23: 57
- 2026-10-22: 57

## Common questions

### What is the Agent Tools MCP server?

Agent Tools is an MCP server listed in the public MCP registry as dev.workers.jbarkules.agent-tools/agent-tools. x402 agent tools: invoice/PDF extract, OCR, email risk, web to markdown, domain, FX, time. This page covers its hosted endpoint (https://agent-tools.jbarkules.workers.dev/mcp).

### Is the Agent Tools MCP server safe to use?

Agent Tools scores 62 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 Agent Tools MCP server expose?

Agent Tools exposes 48 tools: email_check, email_check_full, pdf_to_text, document_extract, domain_lookup, and 43 more. Their descriptions and schemas cost roughly 9,598 tokens of context every time the server is loaded.

### Does the Agent Tools MCP server require authentication?

No. We connected to Agent Tools without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the Agent Tools MCP server still maintained?

Agent Tools is marked deprecated in the MCP registry. We last reached this channel on 5 November 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://agent-tools.jbarkules.workers.dev/mcp
- Website: https://agent-tools.jbarkules.workers.dev/llms.txt
- Changelog RSS feed: https://verifymcp.io/servers/dev-workers-jbarkules-agent-tools-agent-tools/agent-tools.xml
- Changelog JSON feed: https://verifymcp.io/servers/dev-workers-jbarkules-agent-tools-agent-tools/agent-tools.json
- HTML version of this page: https://verifymcp.io/servers/dev-workers-jbarkules-agent-tools-agent-tools/agent-tools
