# Tanod MCP server

Agent View of the PolicyLayer registry record for Tanod: identity, probed posture, risk grade, and all 308 tools classified. HTML page: https://policylayer.com/tools/dev-tanod-tanod

## Facts

- Server id: `https://tanod.dev/mcp`
- Homepage: https://github.com/https://tanod.dev/mcp
- Registry record: grade F, identity unverified
- Lifecycle: active
- Auth posture: open
- CORS policy: *
- Rate-limited: no
- Tools: 308 (304 with introspected schema)
- Tool categories present: Destructive, Execute, Financial, Read, Write
- Context-window cost: 140570 tokens per request — https://policylayer.com/token-cost/dev-tanod-tanod
- Tags: dev tanod tanod, payments, admin, automation
- Record last modified: 2026-10-31T02:37:30.389Z

## Tools (308)

| Tool | Category | Risk | Record |
| --- | --- | --- | --- |
| `audit_token_approvals` | Destructive | Critical | https://policylayer.com/tools/dev-tanod-tanod/audit-token-approvals.md |
| `aurora_forecast` | Destructive | Critical | https://policylayer.com/tools/dev-tanod-tanod/aurora-forecast.md |
| `diff_text` | Destructive | Critical | https://policylayer.com/tools/dev-tanod-tanod/diff-text.md |
| `image_metadata` | Destructive | Critical | https://policylayer.com/tools/dev-tanod-tanod/image-metadata.md |
| `pdf_pipeline` | Destructive | Critical | https://policylayer.com/tools/dev-tanod-tanod/pdf-pipeline.md |
| `pdf_protect` | Destructive | Critical | https://policylayer.com/tools/dev-tanod-tanod/pdf-protect.md |
| `pdf_remove_pages` | Destructive | Critical | https://policylayer.com/tools/dev-tanod-tanod/pdf-remove-pages.md |
| `pdf_reorder_pages` | Destructive | Critical | https://policylayer.com/tools/dev-tanod-tanod/pdf-reorder-pages.md |
| `build_ics_event` | Execute | High | https://policylayer.com/tools/dev-tanod-tanod/build-ics-event.md |
| `build_pptx_deck` | Execute | High | https://policylayer.com/tools/dev-tanod-tanod/build-pptx-deck.md |
| `build_xlsx_workbook` | Execute | High | https://policylayer.com/tools/dev-tanod-tanod/build-xlsx-workbook.md |
| `bulk_agent_index` | Execute | High | https://policylayer.com/tools/dev-tanod-tanod/bulk-agent-index.md |
| `cron_next_runs` | Execute | High | https://policylayer.com/tools/dev-tanod-tanod/cron-next-runs.md |
| `decode_calldata` | Execute | High | https://policylayer.com/tools/dev-tanod-tanod/decode-calldata.md |
| `expand_rrule` | Execute | High | https://policylayer.com/tools/dev-tanod-tanod/expand-rrule.md |
| `html_to_pdf` | Execute | High | https://policylayer.com/tools/dev-tanod-tanod/html-to-pdf.md |
| `image_crop` | Execute | High | https://policylayer.com/tools/dev-tanod-tanod/image-crop.md |
| `parse_ics` | Execute | High | https://policylayer.com/tools/dev-tanod-tanod/parse-ics.md |
| `parse_phone_number` | Execute | High | https://policylayer.com/tools/dev-tanod-tanod/parse-phone-number.md |
| `parse_rss_feed` | Execute | High | https://policylayer.com/tools/dev-tanod-tanod/parse-rss-feed.md |
| `parse_sitemap` | Execute | High | https://policylayer.com/tools/dev-tanod-tanod/parse-sitemap.md |
| `parse_url` | Execute | High | https://policylayer.com/tools/dev-tanod-tanod/parse-url.md |
| `parse_user_agent` | Execute | High | https://policylayer.com/tools/dev-tanod-tanod/parse-user-agent.md |
| `render_mermaid` | Execute | High | https://policylayer.com/tools/dev-tanod-tanod/render-mermaid.md |
| `satellite_passes` | Execute | High | https://policylayer.com/tools/dev-tanod-tanod/satellite-passes.md |
| `sec_financials` | Execute | High | https://policylayer.com/tools/dev-tanod-tanod/sec-financials.md |
| `transcribe_audio` | Execute | High | https://policylayer.com/tools/dev-tanod-tanod/transcribe-audio.md |
| `x402_well_known_file` | Execute | High | https://policylayer.com/tools/dev-tanod-tanod/x402-well-known-file.md |
| `compare_stablecoin_transfer_fees` | Financial | Critical | https://policylayer.com/tools/dev-tanod-tanod/compare-stablecoin-transfer-fees.md |
| `transfer_preflight` | Financial | Critical | https://policylayer.com/tools/dev-tanod-tanod/transfer-preflight.md |
| `airport_distance` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/airport-distance.md |
| `analyze_agent_traffic` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/analyze-agent-traffic.md |
| `audit_mcp_listings` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/audit-mcp-listings.md |
| `audit_price_consistency` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/audit-price-consistency.md |
| `benchmark_x402_price` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/benchmark-x402-price.md |
| `capture_web_evidence` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/capture-web-evidence.md |
| `chain_json_rpc` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/chain-json-rpc.md |
| `check_address_poisoning` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/check-address-poisoning.md |
| `check_agent_readiness` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/check-agent-readiness.md |
| `check_apify_store_rules` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/check-apify-store-rules.md |
| `check_contract_before_interaction` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/check-contract-before-interaction.md |
| `check_domain_availability` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/check-domain-availability.md |
| `check_header_budget` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/check-header-budget.md |
| `check_mcp_server` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/check-mcp-server.md |
| `check_robots_txt` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/check-robots-txt.md |
| `check_sanctions` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/check-sanctions.md |
| `check_sanctions_batch` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/check-sanctions-batch.md |
| `check_security_headers` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/check-security-headers.md |
| `check_solana_reward_token_yield` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/check-solana-reward-token-yield.md |
| `check_solana_token_safety` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/check-solana-token-safety.md |
| `check_ssd_health` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/check-ssd-health.md |
| `check_stablecoin_peg` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/check-stablecoin-peg.md |
| `check_status_page` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/check-status-page.md |
| `check_subtitle_delivery` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/check-subtitle-delivery.md |
| `check_text_duplicate` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/check-text-duplicate.md |
| `check_text_for_prompt_injection` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/check-text-for-prompt-injection.md |
| `check_text_for_secrets` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/check-text-for-secrets.md |
| `check_text_sources` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/check-text-sources.md |
| `check_token_honeypot` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/check-token-honeypot.md |
| `check_token_safety` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/check-token-safety.md |
| `check_url_phishing` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/check-url-phishing.md |
| `check_urls_phishing_batch` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/check-urls-phishing-batch.md |
| `check_wallet_drain` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/check-wallet-drain.md |
| `check_wcag_contrast` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/check-wcag-contrast.md |
| `check_x402_endpoint_before_paying` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/check-x402-endpoint-before-paying.md |
| `classify_zero_shot` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/classify-zero-shot.md |
| `company_jobs` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/company-jobs.md |
| `company_profile` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/company-profile.md |
| `compare_documents` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/compare-documents.md |
| `compare_funding_rates` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/compare-funding-rates.md |
| `count_or_add_business_days` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/count-or-add-business-days.md |
| `decode_jwt` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/decode-jwt.md |
| `decode_lightning_invoice` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/decode-lightning-invoice.md |
| `decode_metar_taf` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/decode-metar-taf.md |
| `decode_nostr_id` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/decode-nostr-id.md |
| `decode_tx_logs` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/decode-tx-logs.md |
| `decode_vin` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/decode-vin.md |
| `denoise_audio` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/denoise-audio.md |
| `detect_language` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/detect-language.md |
| `detect_proxy` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/detect-proxy.md |
| `eth_call` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/eth-call.md |
| `extract_dxf_drawing` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/extract-dxf-drawing.md |
| `extract_entities` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/extract-entities.md |
| `extract_json_with_schema` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/extract-json-with-schema.md |
| `extract_links` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/extract-links.md |
| `extract_pdf` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/extract-pdf.md |
| `extract_pdf_images` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/extract-pdf-images.md |
| `extract_pdf_tables` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/extract-pdf-tables.md |
| `fetch_page_contents` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/fetch-page-contents.md |
| `find_places_nearby` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/find-places-nearby.md |
| `geocode` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/geocode.md |
| `get_account_nonce` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-account-nonce.md |
| `get_airport_delays` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-airport-delays.md |
| `get_allowance` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-allowance.md |
| `get_balance` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-balance.md |
| `get_block` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-block.md |
| `get_block_at_time` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-block-at-time.md |
| `get_block_number` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-block-number.md |
| `get_chain_info` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-chain-info.md |
| `get_contract_code` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-contract-code.md |
| `get_credit_balance` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-credit-balance.md |
| `get_crypto_fear_greed_index` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-crypto-fear-greed-index.md |
| `get_crypto_news_headlines` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-crypto-news-headlines.md |
| `get_dex_price_candles` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-dex-price-candles.md |
| `get_dex_volume` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-dex-volume.md |
| `get_endpoint_history` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-endpoint-history.md |
| `get_endpoint_uptime` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-endpoint-uptime.md |
| `get_endpoint_uptime_bulk` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-endpoint-uptime-bulk.md |
| `get_ens_records` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-ens-records.md |
| `get_erc1155_balance` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-erc1155-balance.md |
| `get_erc20_transfers` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-erc20-transfers.md |
| `get_event_contract_odds` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-event-contract-odds.md |
| `get_event_logs` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-event-logs.md |
| `get_exchange_reserves` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-exchange-reserves.md |
| `get_funding_rates` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-funding-rates.md |
| `get_fx_rates` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-fx-rates.md |
| `get_gas` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-gas.md |
| `get_gpu_price_index` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-gpu-price-index.md |
| `get_gpu_prices` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-gpu-prices.md |
| `get_large_solana_token_trades` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-large-solana-token-trades.md |
| `get_large_token_trades` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-large-token-trades.md |
| `get_lending_yields` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-lending-yields.md |
| `get_live_fx_rates` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-live-fx-rates.md |
| `get_local_crypto_premiums` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-local-crypto-premiums.md |
| `get_macro_snapshot` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-macro-snapshot.md |
| `get_metar` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-metar.md |
| `get_near_account` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-near-account.md |
| `get_nft` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-nft.md |
| `get_nft_owner` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-nft-owner.md |
| `get_page_meta` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-page-meta.md |
| `get_perp_markets` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-perp-markets.md |
| `get_portfolio` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-portfolio.md |
| `get_protocol_fees` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-protocol-fees.md |
| `get_protocol_tvl` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-protocol-tvl.md |
| `get_public_holidays` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-public-holidays.md |
| `get_readback_watch` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-readback-watch.md |
| `get_satellite_image` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-satellite-image.md |
| `get_solana_account` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-solana-account.md |
| `get_solana_balance` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-solana-balance.md |
| `get_solana_signatures` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-solana-signatures.md |
| `get_solana_token_balances` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-solana-token-balances.md |
| `get_solana_token_info` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-solana-token-info.md |
| `get_solana_token_price` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-solana-token-price.md |
| `get_solana_transaction` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-solana-transaction.md |
| `get_space_weather` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-space-weather.md |
| `get_stablecoin_supply` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-stablecoin-supply.md |
| `get_storage_at` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-storage-at.md |
| `get_swap_quote` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-swap-quote.md |
| `get_taf` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-taf.md |
| `get_token_info` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-token-info.md |
| `get_token_price` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-token-price.md |
| `get_topic_trends_attention` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-topic-trends-attention.md |
| `get_total_supply` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-total-supply.md |
| `get_transaction` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-transaction.md |
| `get_transaction_receipt` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-transaction-receipt.md |
| `get_verification_code` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-verification-code.md |
| `get_wallet_counterparties` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-wallet-counterparties.md |
| `get_weather` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-weather.md |
| `get_x402_bazaar_pulse` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-x402-bazaar-pulse.md |
| `get_x402_facilitator_changes` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-x402-facilitator-changes.md |
| `get_x402_repeat_demand` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-x402-repeat-demand.md |
| `get_youtube_comments` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-youtube-comments.md |
| `get_youtube_transcript` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/get-youtube-transcript.md |
| `hmac_sign_verify` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/hmac-sign-verify.md |
| `identify_x402_client` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/identify-x402-client.md |
| `image_blurhash` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/image-blurhash.md |
| `image_colors` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/image-colors.md |
| `image_compress` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/image-compress.md |
| `image_dedupe` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/image-dedupe.md |
| `image_hash` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/image-hash.md |
| `image_rotate` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/image-rotate.md |
| `image_strip_metadata` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/image-strip-metadata.md |
| `image_thumbnail` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/image-thumbnail.md |
| `images_to_pdf` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/images-to-pdf.md |
| `inspect_domain` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/inspect-domain.md |
| `ip_lookup` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/ip-lookup.md |
| `lint_x402_listing` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/lint-x402-listing.md |
| `list_tracked_changes` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/list-tracked-changes.md |
| `list_youtube_videos` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/list-youtube-videos.md |
| `lookup_airport` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/lookup-airport.md |
| `lookup_barcode_product` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/lookup-barcode-product.md |
| `lookup_lei` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/lookup-lei.md |
| `lookup_phone_prefix` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/lookup-phone-prefix.md |
| `make_barcode` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/make-barcode.md |
| `make_qr_code` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/make-qr-code.md |
| `make_slug` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/make-slug.md |
| `markdown_to_html` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/markdown-to-html.md |
| `news_search` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/news-search.md |
| `ocr_image` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/ocr-image.md |
| `paper_digest` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/paper-digest.md |
| `pdf_compress` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/pdf-compress.md |
| `pdf_extract_pages` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/pdf-extract-pages.md |
| `pdf_flatten` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/pdf-flatten.md |
| `pdf_inspect` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/pdf-inspect.md |
| `pdf_ocr` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/pdf-ocr.md |
| `pdf_rasterize` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/pdf-rasterize.md |
| `pdf_redact` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/pdf-redact.md |
| `pdf_redaction_check` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/pdf-redaction-check.md |
| `pdf_repair` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/pdf-repair.md |
| `pdf_rotate` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/pdf-rotate.md |
| `pdf_split` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/pdf-split.md |
| `pdf_to_images` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/pdf-to-images.md |
| `peppol_lookup` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/peppol-lookup.md |
| `pre_trade_check` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/pre-trade-check.md |
| `preflight_mcp_listing` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/preflight-mcp-listing.md |
| `query_agent_index` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/query-agent-index.md |
| `rank_funding_carry` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/rank-funding-carry.md |
| `rdap_lookup` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/rdap-lookup.md |
| `read_qr_barcode` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/read-qr-barcode.md |
| `recognize_math_image` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/recognize-math-image.md |
| `redact_pii` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/redact-pii.md |
| `render_page` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/render-page.md |
| `render_pages_batch` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/render-pages-batch.md |
| `repo_info` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/repo-info.md |
| `rerank_documents` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/rerank-documents.md |
| `scan_agent_package` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/scan-agent-package.md |
| `scan_contract_address` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/scan-contract-address.md |
| `scan_contract_source` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/scan-contract-source.md |
| `search_datasets` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/search-datasets.md |
| `search_lei` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/search-lei.md |
| `search_papers` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/search-papers.md |
| `search_podcasts` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/search-podcasts.md |
| `search_prediction_markets` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/search-prediction-markets.md |
| `search_social_posts` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/search-social-posts.md |
| `search_with_contents` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/search-with-contents.md |
| `search_youtube_videos` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/search-youtube-videos.md |
| `sec_company_lookup` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/sec-company-lookup.md |
| `sun_moon_times` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/sun-moon-times.md |
| `take_website_screenshot` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/take-website-screenshot.md |
| `test_x402_payment` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/test-x402-payment.md |
| `text_case` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/text-case.md |
| `text_encode` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/text-encode.md |
| `text_extract` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/text-extract.md |
| `text_frequency` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/text-frequency.md |
| `text_keywords` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/text-keywords.md |
| `text_lines` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/text-lines.md |
| `text_lorem` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/text-lorem.md |
| `text_numbers` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/text-numbers.md |
| `text_sentiment` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/text-sentiment.md |
| `text_similarity` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/text-similarity.md |
| `text_stats` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/text-stats.md |
| `text_summarize` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/text-summarize.md |
| `text_unicode_inspect` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/text-unicode-inspect.md |
| `token_verdict` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/token-verdict.md |
| `transcribe_podcast_episode` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/transcribe-podcast-episode.md |
| `translate_document` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/translate-document.md |
| `translate_speech` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/translate-speech.md |
| `translate_text` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/translate-text.md |
| `treasury_yield_curve` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/treasury-yield-curve.md |
| `upscale_image` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/upscale-image.md |
| `validate_identifier` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/validate-identifier.md |
| `validate_json` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/validate-json.md |
| `vehicle_recalls` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/vehicle-recalls.md |
| `verify_email` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/verify-email.md |
| `verify_jwt` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/verify-jwt.md |
| `web_search` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/web-search.md |
| `x402_edge_check` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/x402-edge-check.md |
| `x402_listing_audit` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/x402-listing-audit.md |
| `x402_payment_status` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/x402-payment-status.md |
| `x402_receipt_check` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/x402-receipt-check.md |
| `x402_seller_report` | Read | Low | https://policylayer.com/tools/dev-tanod-tanod/x402-seller-report.md |
| `agent_index_delta` | Write | Medium | https://policylayer.com/tools/dev-tanod-tanod/agent-index-delta.md |
| `asteroid_close_approaches` | Write | Medium | https://policylayer.com/tools/dev-tanod-tanod/asteroid-close-approaches.md |
| `convert_bank_statement` | Write | Medium | https://policylayer.com/tools/dev-tanod-tanod/convert-bank-statement.md |
| `convert_color_check_contrast` | Write | Medium | https://policylayer.com/tools/dev-tanod-tanod/convert-color-check-contrast.md |
| `convert_data` | Write | Medium | https://policylayer.com/tools/dev-tanod-tanod/convert-data.md |
| `convert_document_to_markdown` | Write | Medium | https://policylayer.com/tools/dev-tanod-tanod/convert-document-to-markdown.md |
| `convert_excel_to_json` | Write | Medium | https://policylayer.com/tools/dev-tanod-tanod/convert-excel-to-json.md |
| `convert_markdown_to_word` | Write | Medium | https://policylayer.com/tools/dev-tanod-tanod/convert-markdown-to-word.md |
| `convert_office_to_pdf` | Write | Medium | https://policylayer.com/tools/dev-tanod-tanod/convert-office-to-pdf.md |
| `convert_pdf_to_word` | Write | Medium | https://policylayer.com/tools/dev-tanod-tanod/convert-pdf-to-word.md |
| `convert_subtitles` | Write | Medium | https://policylayer.com/tools/dev-tanod-tanod/convert-subtitles.md |
| `convert_time` | Write | Medium | https://policylayer.com/tools/dev-tanod-tanod/convert-time.md |
| `convert_units` | Write | Medium | https://policylayer.com/tools/dev-tanod-tanod/convert-units.md |
| `create_readback_watch` | Write | Medium | https://policylayer.com/tools/dev-tanod-tanod/create-readback-watch.md |
| `embed_multimodal` | Write | Medium | https://policylayer.com/tools/dev-tanod-tanod/embed-multimodal.md |
| `embed_texts` | Write | Medium | https://policylayer.com/tools/dev-tanod-tanod/embed-texts.md |
| `estimate_gas` | Write | Medium | https://policylayer.com/tools/dev-tanod-tanod/estimate-gas.md |
| `export_agent_index` | Write | Medium | https://policylayer.com/tools/dev-tanod-tanod/export-agent-index.md |
| `export_gpu_price_history` | Write | Medium | https://policylayer.com/tools/dev-tanod-tanod/export-gpu-price-history.md |
| `fill_docx_template` | Write | Medium | https://policylayer.com/tools/dev-tanod-tanod/fill-docx-template.md |
| `generate_agent_ready_files` | Write | Medium | https://policylayer.com/tools/dev-tanod-tanod/generate-agent-ready-files.md |
| `generate_ids` | Write | Medium | https://policylayer.com/tools/dev-tanod-tanod/generate-ids.md |
| `generate_random` | Write | Medium | https://policylayer.com/tools/dev-tanod-tanod/generate-random.md |
| `hash_text` | Write | Medium | https://policylayer.com/tools/dev-tanod-tanod/hash-text.md |
| `html_to_text` | Write | Medium | https://policylayer.com/tools/dev-tanod-tanod/html-to-text.md |
| `image_convert` | Write | Medium | https://policylayer.com/tools/dev-tanod-tanod/image-convert.md |
| `image_favicon` | Write | Medium | https://policylayer.com/tools/dev-tanod-tanod/image-favicon.md |
| `image_resize` | Write | Medium | https://policylayer.com/tools/dev-tanod-tanod/image-resize.md |
| `image_watermark` | Write | Medium | https://policylayer.com/tools/dev-tanod-tanod/image-watermark.md |
| `pdf_attachments` | Write | Medium | https://policylayer.com/tools/dev-tanod-tanod/pdf-attachments.md |
| `pdf_crop` | Write | Medium | https://policylayer.com/tools/dev-tanod-tanod/pdf-crop.md |
| `pdf_fill_form` | Write | Medium | https://policylayer.com/tools/dev-tanod-tanod/pdf-fill-form.md |
| `pdf_form_fields` | Write | Medium | https://policylayer.com/tools/dev-tanod-tanod/pdf-form-fields.md |
| `pdf_merge` | Write | Medium | https://policylayer.com/tools/dev-tanod-tanod/pdf-merge.md |
| `pdf_metadata` | Write | Medium | https://policylayer.com/tools/dev-tanod-tanod/pdf-metadata.md |
| `pdf_outline` | Write | Medium | https://policylayer.com/tools/dev-tanod-tanod/pdf-outline.md |
| `pdf_page_numbers` | Write | Medium | https://policylayer.com/tools/dev-tanod-tanod/pdf-page-numbers.md |
| `pdf_resize` | Write | Medium | https://policylayer.com/tools/dev-tanod-tanod/pdf-resize.md |
| `pdf_set_outline` | Write | Medium | https://policylayer.com/tools/dev-tanod-tanod/pdf-set-outline.md |
| `pdf_unlock` | Write | Medium | https://policylayer.com/tools/dev-tanod-tanod/pdf-unlock.md |
| `pdf_watermark` | Write | Medium | https://policylayer.com/tools/dev-tanod-tanod/pdf-watermark.md |
| `resolve_ens` | Write | Medium | https://policylayer.com/tools/dev-tanod-tanod/resolve-ens.md |
| `text_replace` | Write | Medium | https://policylayer.com/tools/dev-tanod-tanod/text-replace.md |
| `text_spellcheck` | Write | Medium | https://policylayer.com/tools/dev-tanod-tanod/text-spellcheck.md |
| `text_to_speech` | Write | Medium | https://policylayer.com/tools/dev-tanod-tanod/text-to-speech.md |
| `upload_file_get_link` | Write | Medium | https://policylayer.com/tools/dev-tanod-tanod/upload-file-get-link.md |
| `vectorize_image` | Write | Medium | https://policylayer.com/tools/dev-tanod-tanod/vectorize-image.md |

## Tool descriptions

- `audit_token_approvals` — chainpeek: List a wallet's live token approvals and get revoke transactions. For tokens already pulled out use check_wallet_drain; for one allowance use get_allowance. Returns the live ERC-20 and Permit2 allowances of wallet: amount, unl…
- `aurora_forecast` — skypeek: Aurora forecast: the chance of visible aurora at a location in the next 30-90 minutes. For Kp and solar wind use get_space_weather. Returns the chance (0 to 100 percent) of visible aurora overhead at a point from NOAA SWPC's OVA…
- `diff_text` — utilpeek: Diff two texts: unified line diff, word or character changes. For PDF or Word files use compare_documents. Returns the differences between two texts: similarity ratio, counts and hunks; in line mode a git-compatible unified dif…
- `image_metadata` — imagepeek: Read an image's EXIF, GPS, XMP, IPTC and ICC metadata. To remove the metadata use image_strip_metadata. Returns an image's header and metadata without decoding its pixels: format, dimensions, mode, frames, dpi, ICC profile, EX…
- `pdf_pipeline` — pdfpeek: Run up to 10 PDF operations in sequence on one PDF in a single call. For one operation use its own tool, such as pdf_rotate. Returns a PDF put through the steps in order, each step's output the next one's input: rotate, remove-p…
- `pdf_protect` — pdfpeek: Password-protect a PDF. To remove a password use pdf_unlock; to black out content use pdf_redact. Returns the PDF encrypted with AES-256: user_password opens it; owner_password lifts the permissions (all allowed by default). Wit…
- `pdf_remove_pages` — pdfpeek: Remove pages from a PDF. To keep only some pages use pdf_extract_pages. Returns the PDF without the selected pages (1-based: N, N-M, N-, -M, last); removed pages and everything only they reference are really gone. Removing every…
- `pdf_reorder_pages` — pdfpeek: Reorder, repeat or drop the pages of a PDF from a list of page numbers. To only drop pages use pdf_remove_pages. Returns a new PDF made of the pages in order (1-based, at most 500), in that order: a page listed twice is copied, …
- `build_ics_event` — utilpeek: Build an iCalendar file from JSON events. To read an .ics file use parse_ics. Returns RFC 5545 VCALENDAR text built from 1-50 events, CRLF lines folded at 75 octets and text escaped, with its base64, a data: URI and the uids. I…
- `build_pptx_deck` — pdfpeek: Generate a PowerPoint deck from JSON slides: titles, bullets, speaker notes. For a workbook use build_xlsx_workbook; for a Word file use fill_docx_template. Returns the deck as a .pptx, base64 in file (output=url gives a 24 h li…
- `build_xlsx_workbook` — pdfpeek: Build a styled Excel workbook from JSON sheets, columns and rows. To read a workbook back use convert_excel_to_json; for slides use build_pptx_deck. Rows are arrays or objects; a column type (string, number, integer, date, datet…
- `bulk_agent_index` — agentscan: Price: USD 2; no free tier; per-IP daily cap. For a filtered slice use export_agent_index; to refresh an existing copy use agent_index_delta. Download the current snapshot (gzipped); optional source filter. At most 5,000 rows/…
- `cron_next_runs` — utilpeek: the next run times of a cron expression. For iCalendar RRULEs use expand_rrule. Standard 5-field cron (minute hour day-of-month month day-of-week) or a macro (@daily, @hourly, ...); no seconds or year fields, no R/H/W. Day-of-m…
- `decode_calldata` — chainpeek: decode EVM transaction calldata. To run a read call use eth_call; to fetch a transaction use get_transaction. Input: calldata and optional signature; with no signature the selector is looked up and every candidate that decodes…
- `expand_rrule` — utilpeek: Expand an iCalendar RRULE into dates. For cron use cron_next_runs; to build an event use build_ics_event. Returns an RFC 5545 RRULE and a start expanded into its occurrence list with python-dateutil in an IANA time zone: wall-c…
- `html_to_pdf` — pdfpeek: Convert a web page URL to PDF. For images use images_to_pdf; for an image capture use take_website_screenshot. Returns a public web page printed to PDF in a sandboxed headless browser: paper (a4, letter, legal, a3, a5, tabloid),…
- `image_crop` — imagepeek: Crop an image to a box or an aspect ratio. To scale instead use image_resize. Returns the image cropped to a box (left, top, width, height; out of bounds is a 422 crop_out_of_bounds) or to an aspect ratio such as 16:9 placed b…
- `parse_ics` — utilpeek: Parse an iCalendar file into JSON events. To write one use build_ics_event. Returns iCalendar text (Google, Outlook, Apple, up to 1 MB) unfolded and read into events. Windows zone names are mapped; at most 2,000 events (truncat…
- `parse_phone_number` — utilpeek: parse and format a phone number. For a prefix's country and network use lookup_phone_prefix. A string that is not a phone number, or a national form without region, is a 422 (not charged). Offline numbering-plan check (phonenum…
- `parse_rss_feed` — utilpeek: Parse an RSS or Atom feed URL into clean JSON: feed data, items, dates, audio enclosures. To find a podcast's feed use search_podcasts. Returns a public RSS, Atom or RDF feed as clean JSON. Feeds over 8 MB, private hosts, non-f…
- `parse_sitemap` — sitepeek: parse a sitemap into its URLs. For crawl permission use check_robots_txt. An index is followed one level: its first 5 child sitemaps are fetched, the rest listed. Files over 10 MB (or 50 MB inflated) are a 413, and DTDs, entiti…
- `parse_url` — utilpeek: parse a URL. To fetch the page use render_page. The URL is parsed, never fetched. Public-suffix split from the Public Suffix List snapshot bundled with the parser (dated 2025-04-07; suffixes added later are not known), with and…
- `parse_user_agent` — utilpeek: parse a User-Agent string. For known x402 monitors and indexers with call rates use identify_x402_client. A User-Agent is self-reported and easy to fake; is_bot is a heuristic (declared crawlers, HTTP libraries, headless browse…
- `render_mermaid` — pdfpeek: Render Mermaid diagram code to an SVG or PNG image. Returns Mermaid diagram code drawn as an SVG or PNG file in an offline sandboxed browser: format svg | png, theme (default, dark, forest, neutral, base), scale 1-4 for PNG (def…
- `satellite_passes` — skypeek: Predict satellite passes over a location. For sun and moon times use sun_moon_times. Returns the passes of a satellite (default the ISS) over a point in the next 1-3 days: start, highest and end times with azimuth and elevation,…
- `sec_financials` — utilpeek: Get a US company's reported financials per fiscal year or quarter from SEC EDGAR. For the registrant and filings use sec_company_lookup. Returns a US SEC registrant's reported financials by ticker or CIK, annual or quarterly (u…
- `transcribe_audio` — mlpeek: Speech to text and subtitles: transcribe audio to text, timed segments, SRT and WebVTT. For a podcast episode use transcribe_podcast_episode; to translate use translate_speech. Returns the transcript of audio of up to 10 min and …
- `x402_well_known_file` — agentscan: Build an x402 seller's /.well-known/x402 file from its Bazaar listings. Returns the /.well-known/x402 file body for one seller host, built from its current Bazaar and PayAI listings, with an instructions skeleton and the steps…
- `compare_stablecoin_transfer_fees` — chainpeek: Compare USDC or USDT transfer fees on Base, Polygon, Ethereum, BNB, Arbitrum and Solana. For peg status use check_stablecoin_peg. Returns the fee of one USDC or USDT transfer on each chain, cheapest first; Solana adds lamport …
- `transfer_preflight` — chainpeek: Preflight a USDC or USDT transfer: balance, gas, nonce, blacklist, recipient, simulation. For OFAC screening use check_sanctions; for a wallet's past pulls use check_wallet_drain. Returns a verdict (pass, warn or fail) for one…
- `airport_distance` — skypeek: Calculate the great-circle distance between two airports or points. For airport details use lookup_airport. Returns the great-circle distance between two airports (by code) or coordinates, in km, nautical miles and statute miles…
- `analyze_agent_traffic` — agentscan: Analyze AI crawler, assistant, MCP and x402 buyer traffic in access logs. For one User-Agent use identify_x402_client or parse_user_agent. Returns requests per client class (AI crawlers, assistants, MCP clients, x402 buyers, m…
- `audit_mcp_listings` — agentscan: Review MCP Registry and Smithery listings. Returns official MCP Registry and bounded Smithery listings versus live tools, transport and repositories. Registry tool counts remain unknown. Input: url, a public https MCP endpoint…
- `audit_price_consistency` — agentscan: Check an x402 seller's price consistency. Returns a comparison of a seller origin's unpaid 402 amounts with OpenAPI, MCP descriptions and llms.txt, with source-labelled claims and disagreements. Partial coverage, origin only; …
- `benchmark_x402_price` — agentscan: Benchmark an x402 endpoint price against listed prices for similar endpoints. For a pay or avoid verdict use check_x402_endpoint_before_paying; for a full listing review use x402_listing_audit. Returns the listed USD prices of…
- `capture_web_evidence` — sitepeek: Capture a web page as evidence: screenshot, PDF, text, SHA-256 hashes, signed manifest. For one image alone use take_website_screenshot; for the text alone use render_page; for a PDF alone use html_to_pdf. Returns a public web …
- `chain_json_rpc` — chainpeek: Read one allowlisted, read-only EVM JSON-RPC method. Returns one read-only JSON-RPC result on ethereum, base, polygon, arbitrum, optimism or bsc. Input: chain, method, positional params; optional jsonrpc and id. Fixed public R…
- `check_address_poisoning` — chainpeek: Check a transfer recipient for address poisoning: lookalikes in the sender's history. For balance, gas and blacklist checks too use transfer_preflight; for OFAC use check_sanctions. Returns a risk (high | medium | low) for pay…
- `check_agent_readiness` — sitepeek: Returns 0-100 scores for llms.txt (links checked), robots rules for 16 AI agents, sitemap, schema.org types, OpenAPI, /.well-known files, a declared MCP endpoint, sign-up-free access (API auth, MCP OAuth metadata, CAPTCHA) and …
- `check_apify_store_rules` — agentscan: Check Apify Actors against Store publishing rules. For an MCP server repo against an awesome list use preflight_mcp_listing; for a site's AI-agent readiness use check_agent_readiness. Returns checks public Apify Actors for out…
- `check_contract_before_interaction` — txpeek: Check an address for risk right before you send a transaction to it, approve it, or buy its token (Base or Ethereum). For a full scan of verified source use scan_contract_address; for a token's sellability use check_token_honeypo…
- `check_domain_availability` — dnspeek: Check if domain names are available to register. For a registered domain's record use rdap_lookup. Returns 1-50 domain names checked for availability from the registry's RDAP answer (404 = no record) and DNS NS records. Input: n…
- `check_header_budget` — utilpeek: Measure response headers against nginx, aiohttp, Node fetch and Python limits. Returns response-header byte sizes, total, Set-Cookie count and size, the five largest fields, and nginx/aiohttp/Node/Python pass/fail with limit ov…
- `check_mcp_server` — agentscan: Check whether a remote MCP server is up and what it offers. It reads no code; to scan a package before installing use scan_agent_package; to check a repo against an awesome list use preflight_mcp_listing. Returns a live check …
- `check_robots_txt` — sitepeek: test whether robots.txt lets a crawler fetch a URL. For the URLs a site lists use parse_sitemap. Fetches <origin>/robots.txt (first 512 KiB) and matches the URL's path under RFC 9309: longest match wins, allow wins a tie, * and…
- `check_sanctions` — chainpeek: screen one crypto address against the US OFAC SDN list's digital currency addresses. For up to 1,000 addresses use check_sanctions_batch; for lookalikes use check_address_poisoning. EVM and bech32 addresses match case-insensit…
- `check_sanctions_batch` — chainpeek: Screen up to 1,000 crypto addresses against OFAC sanctions in one batch. For one address use check_sanctions. Returns the OFAC sanctions screen of 1-1,000 crypto addresses in one call. EVM and bech32 addresses match case-insen…
- `check_security_headers` — sitepeek: grade a public page's HTTP security headers. For a phishing-list check use check_url_phishing; for DNS and TLS use inspect_domain. Grades the final response after redirects: HSTS, CSP, X-Frame-Options / frame-ancestors, X-Conte…
- `check_solana_reward_token_yield` — chainpeek: Is this Solana reward token still paying holders? Last payout, 7d and 30d yield. For rug risk use check_solana_token_safety. Returns whether a Solana reward token still pays holders: PAYING, STALE or NEVER, last payout, payout…
- `check_solana_token_safety` — chainpeek: Check a Solana token for rug risk: mint and freeze authority, top holders, sell quote. For authorities alone use get_solana_token_info; for ERC-20 tokens use check_token_safety. Returns a check of the mint: mint and freeze aut…
- `check_ssd_health` — utilpeek: Check an SSD's wear from smartctl or nvme smart-log. Returns SSD wear from smartctl or nvme smart-log text/JSON: percentage used (can pass the full rated endurance), host TB written (NVMe data units × 512,000 bytes / 10^12), op…
- `check_stablecoin_peg` — utilpeek: Check stablecoin peg: is USDC, USDT, DAI, USDe or PYUSD holding its dollar peg. For supply by chain use get_stablecoin_supply. Returns whether USDC, USDT, DAI, USDe or PYUSD holds its dollar peg, from Ethereum Uniswap V3 pools:…
- `check_status_page` — utilpeek: Check an API status page: is a service up? Degraded components and open incidents. For whether an MCP server answers use check_mcp_server. Returns the overall status of a service's public status page (operational, degraded, out…
- `check_subtitle_delivery` — utilpeek: Check subtitle delivery timing, line length and reading speed. Returns a cue-level SRT/WebVTT delivery review with versioned language/audience profiles: en-US-adult-v1, en-US-children-v1, ja-adult-v1 and ar-adult-v1. Checks ove…
- `check_text_duplicate` — utilpeek: Check whether a draft repeats your earlier texts. Returns the duplicate, near or new verdict for a draft compared with 1-50 earlier texts you supply, plus all collisions and closest matches with similarity, rare shared terms an…
- `check_text_for_prompt_injection` — mlpeek: Check text for prompt injection before an agent acts on it. For hidden Unicode use text_unicode_inspect. Returns a verdict, a score (0-1; injection at 0.9 and above) and chunks, the flagged sentences with score and offsets. A sma…
- `check_text_for_secrets` — utilpeek: Scan text for leaked secrets: API keys, tokens, private keys and seed phrases. For personal data use redact_pii; for injected instructions use check_text_for_prompt_injection. Returns every API key, token, private key or BIP-39…
- `check_text_sources` — findpeek: Check a text for copied sentences: web pages that contain them word for word. For a general query use web_search. Returns for up to 10 of a text's most distinctive sentences, the web pages that contain each word for word (exact…
- `check_token_honeypot` — chainpeek: Honeypot check: can this token be sold? Simulated buy and sell with tax. For a verdict that adds contract flags use check_token_safety. Returns a simulated buy and sell-back of an ERC-20 on Base or Ethereum (Uniswap V2/V3, Aer…
- `check_token_safety` — chainpeek: Use when an agent needs a token risk check before buying an ERC-20 on Base or Ethereum, with a plain-language take. For a written summary and share card use token_verdict; for Solana use check_solana_token_safety. Returns one …
- `check_url_phishing` — chainpeek: Check if a URL or domain is phishing or a scam. For up to 1,000 URLs use check_urls_phishing_batch; for headers use check_security_headers. Returns whether a URL's host (or a domain) is on public phishing/scam domain lists: li…
- `check_urls_phishing_batch` — chainpeek: Check up to 1,000 URLs or domains for phishing or scams in one batch. For one URL use check_url_phishing. Returns the URL check for 1-1,000 URLs, hosts or domains in one call. A screening aid: the host and its parent domains a…
- `check_wallet_drain` — chainpeek: Check a wallet for a drain: find tokens pulled out without its signature. For live approvals with revoke transactions use audit_token_approvals. Returns a verdict (drained | review | clean) for wallet over the latest 2,000 blo…
- `check_wcag_contrast` — utilpeek: Check the WCAG contrast between a text color and a background color. To convert colour formats too use convert_color_check_contrast. Returns the WCAG 2.x contrast ratio of a foreground and a background CSS color, with AA / AAA …
- `check_x402_endpoint_before_paying` — agentscan: Check an x402 endpoint before paying it: pay, caution or avoid, with reasons. For a seller checking their own listing use x402_seller_report; for listed prices alone use benchmark_x402_price. Returns reasons with evidence from…
- `classify_zero_shot` — mlpeek: Classify a text into 1-10 of your labels. For named entities use extract_entities. Returns scores of 1-10 caller-supplied labels for an English text with the nli-deberta-v3-xsmall NLI cross-encoder (Apache-2.0): single-label scor…
- `company_jobs` — utilpeek: List a company's open jobs from its Greenhouse, Lever or Ashby job board. For the company's profile use company_profile. Returns a company's open jobs from its public Greenhouse, Lever or Ashby job board as metadata (title, dep…
- `company_profile` — utilpeek: Get a company profile from a domain: site metadata, socials, tools, registration. For open jobs use company_jobs; for SEC filings use sec_company_lookup. Returns a company profile from a domain, from public signals only: homepa…
- `compare_documents` — pdfpeek: Compare two PDF or Word documents: changed paragraphs and rows, word diff, redline. For two plain texts use diff_text. Returns summary (inserted, deleted, modified, unchanged, similarity_pct) and changes: each inserted, deleted …
- `compare_funding_rates` — chainpeek: Compare perpetual funding rates between Hyperliquid and dYdX. For five venues net of fees use rank_funding_carry. Returns each venue's hourly and annualised funding and the spread (Hyperliquid minus dYdX v4), ranked by absolut…
- `count_or_add_business_days` — utilpeek: Count business days between two dates or add working days, skipping public holidays. For the holiday list use get_public_holidays. Returns the business days between two dates (mode count; both ends included by default, like NET…
- `decode_jwt` — utilpeek: Decode a JWT without verifying it. To check the signature use verify_jwt. Returns a compact JWT split into its header and payload JSON, with alg, typ, kid, whether a signature is present, and the standard claims: iat, nbf and e…
- `decode_lightning_invoice` — chainpeek: Decode a Lightning invoice: amount, payee, payment hash and expiry. For EVM calldata use decode_calldata; for Nostr ids use decode_nostr_id. Returns a Lightning invoice's network, amount (msat, sat, BTC), creation time, expiry…
- `decode_metar_taf` — skypeek: Decode a METAR or TAF weather report. To fetch the latest report use get_metar. Returns one METAR or TAF report you paste, decoded into wind, visibility, weather, clouds, temperature and dew point, altimeter and the flight categ…
- `decode_nostr_id` — chainpeek: Decode a Nostr npub, nprofile, note, nevent or naddr to hex; resolve NIP-05. For ENS names use resolve_ens. Returns a Nostr NIP-19 identifier decoded to hex (public key or event id) and its TLV fields (relays, author, kind), o…
- `decode_tx_logs` — chainpeek: decode a transaction's event logs on Ethereum, Base or Robinhood Chain. For events over a block range use get_event_logs. Returns status, block, log_count and up to 200 logs; event decodes ERC-20/721/1155 transfers and approva…
- `decode_vin` — utilpeek: Decode a vehicle identification number with NHTSA vPIC. For its recalls use vehicle_recalls. Returns the NHTSA vPIC decode of a VIN (US-market data). NHTSA data (public domain), cached up to 7 days. A wrong length or character …
- `denoise_audio` — mlpeek: Reduce background noise in speech audio. Returns mono 12 kHz WAV/MP3/Ogg speech audio with steady noise reduced by FFmpeg afftdn (no model weights), duration and filter. Public URL or base64, up to 25 MB and 10 minutes; base64 or…
- `detect_language` — utilpeek: Detect the language of a text. To translate use translate_text. Returns the most likely language (ISO 639-1 and 639-3 code, name, confidence) and 3 alternatives, from an offline ensemble of lingua (Apache-2.0) and langid.py (BS…
- `detect_proxy` — chainpeek: detect whether a contract is a proxy, and of which kind. For code size and hash use get_contract_code. Reads the code, the EIP-1967 / EIP-1822 / OpenZeppelin legacy slots and slot 0, then one multicall. Returns is_contract, is…
- `eth_call` — chainpeek: Call a smart contract function read-only on Ethereum, Base or Robinhood Chain. For gas units use estimate_gas; for a raw storage slot use get_storage_at. Returns the raw ABI-encoded return data (result, result_bytes) of eth_ca…
- `extract_dxf_drawing` — pdfpeek: Extract DXF text and block attributes. Returns extracts text and block attributes from one inline ASCII/binary DXF. 10 MB; no DWG. Up to 2000 records/200000 characters, 8 block levels. Units are declared, not inferred. Warnings …
- `extract_entities` — mlpeek: Extract named entities: people, organisations, places, dates, money, ... For fields of your own schema use extract_json_with_schema. Returns named entities in English text with spaCy en_core_web_sm 3.8.0 (MIT): text, label (the 1…
- `extract_json_with_schema` — mlpeek: Extract JSON from text that always matches your JSON Schema. For fixed entity types use extract_entities. Returns data, JSON extracted from the text that always parses and validates against your json_schema (decoded under a gramm…
- `extract_links` — sitepeek: list a public page's links. For a site's URL list use parse_sitemap. check: true probes each returned http(s) link (HEAD, then a small GET; 20 s in total): each link then carries check and the reply a check_summary. The worker …
- `extract_pdf` — sitepeek: extract the text of a PDF. For tables use extract_pdf_tables; for scans use pdf_ocr; for other formats use convert_document_to_markdown. Input: exactly one of url or pdf_base64, plus optional max_pages and reading_order. Clear …
- `extract_pdf_images` — pdfpeek: Extract embedded raster images from a PDF. Returns a ZIP of raster image XObjects and a per-page manifest; identical bytes share an asset. Up to 500 input pages, 100 selected pages, 200 image references and 15 MB output; 40 MP p…
- `extract_pdf_tables` — pdfpeek: Use when an agent must pull the tables out of a PDF as JSON, CSV or XLSX for analysis. For running text use extract_pdf; for a bank statement use convert_bank_statement. Returns every table of the selected pages (at most 200); f…
- `fetch_page_contents` — sitepeek: Price: USD 0.002 per URL (1-10 URLs per call: USD 0.002-0.02); No free tier. For one page with JavaScript use render_page. Get the contents of 1-10 URLs: web page to text for a list of URLs. Returns the text of 1-10 web pages a…
- `find_places_nearby` — utilpeek: Find places nearby: pharmacies, cafes, ATMs, shops and hospitals near a point, from OpenStreetMap. To resolve a city name use geocode. Returns places of one kind (pharmacy, cafe, supermarket, ATM, hospital, clinic, bicycle or h…
- `geocode` — utilpeek: offline geocoding over the GeoNames cities15000 table. For places of a kind nearby use find_places_nearby. Input: either place alone or lat and lon together. place matches cities of 15,000+ people offline ("City" or "City, CC" …
- `get_account_nonce` — chainpeek: Get an account's transaction count on Ethereum, Base or Robinhood Chain. For the next nonce with balance and gas checks use transfer_preflight; for the chain head use get_block_number. Returns the account's transaction count (…
- `get_airport_delays` — skypeek: Airport delays: FAA ground stops, delay programs and closures at US airports right now. For airport data use lookup_airport. Returns live FAA airport status for the US: ground stops, ground delay programs (average and maximum de…
- `get_allowance` — chainpeek: read an ERC-20 allowance on Ethereum, Base or Robinhood Chain. For every live approval of a wallet use audit_token_approvals. A token that is not a readable ERC-20 is a 422 (not charged). A malformed or inconsistent node answe…
- `get_balance` — chainpeek: read the native or ERC-20 balance of an address on Ethereum, Base or Robinhood Chain. For several tokens at once use get_portfolio; for Solana use get_solana_balance. Returns wei and a decimal formatted amount (native), or tok…
- `get_block` — chainpeek: read the latest block header on Ethereum, Base or Robinhood Chain. For height and age only use get_block_number; for a past time use get_block_at_time. Typically 0.2-1 s. Price: USD 0.001. Free: 10 chain reads per IP per UTC d…
- `get_block_at_time` — chainpeek: find the block at a point in time on Ethereum, Base or Robinhood Chain. For the latest block use get_block_number. Returns block (the last block at or before the time) and next_block, or is_latest: true when the time is at or …
- `get_block_number` — chainpeek: Get the latest block number, timestamp and age in seconds of Ethereum, Base or Robinhood Chain. For the full header use get_block; for chain id and gas price use get_chain_info. Returns the latest block. One RPC read. Ethereum…
- `get_chain_info` — chainpeek: Get the chain id, latest block, head age and gas price of Ethereum, Base or Robinhood Chain. For gas alone use get_gas; for the header alone use get_block. Returns chain_id, the latest block_number and block_timestamp, head_ag…
- `get_contract_code` — chainpeek: Get the deployed bytecode size and hash of an address, with EIP-1167 and EIP-7702 detection. For other proxy kinds use detect_proxy. Returns what is deployed at an address. Only EIP-1167 clones and EIP-7702 delegations are det…
- `get_credit_balance` — Balance of your prepaid Tanod credit key (the tnd_ key in this server's URL as ?key=, or in the Authorization: Bearer header), its recent purchases and charges, and how to add credit. Free; reads nothing outside Tanod.
- `get_crypto_fear_greed_index` — utilpeek: Get the crypto Fear & Greed Index: market sentiment value, label and 7-day history. For local exchange premiums use get_local_crypto_premiums. Returns the crypto Fear & Greed Index (alternative.me): value 0-100, label and the l…
- `get_crypto_news_headlines` — utilpeek: Use when an agent must decide which crypto stories to react to: top headlines ranked by outlet coverage, new ones only. For any topic use news_search. Returns the latest crypto news headlines from seven outlets, one entry per s…
- `get_dex_price_candles` — chainpeek: Get ETH or BTC OHLCV price candles from on-chain DEX swaps. For the oracle price now use get_token_price. Returns OHLCV candles for ETH (WETH/USDC) or BTC (cbBTC/USDC) in USDC from public Uniswap v3 swaps on Base, at 5m, 15m, …
- `get_dex_volume` — chainpeek: Get DEX volume by protocol and chain. For TVL use get_protocol_tvl. Returns DEX volume over 24 hours, 7 days and 30 days with change: a DEX's chains, a chain's largest DEXs, a DEX on a chain, or the market total and the larges…
- `get_endpoint_history` — agentscan: presence and price history of ONE indexed record. To find records use query_agent_index. Returns the record plus its dated presence rows and the points where its price changed over time. Typically 0.1-2 s. Price: USD 0.05. Fre…
- `get_endpoint_uptime` — agentscan: Use when an agent must know if an x402 endpoint or MCP server was up, with a valid 402, over the last 30 days. Returns 30-day uptime share, valid x402 402-envelope share, median and p95 latency and last failures of one x402 en…
- `get_endpoint_uptime_bulk` — agentscan: Use when an agent must compare the 30-day uptime and valid-402 share of up to 25 x402 endpoints or MCP servers at once. Returns 30-day uptime, valid x402 402-envelope share, latency percentiles and last failures for up to 25 e…
- `get_ens_records` — chainpeek: read an ENS name's records (Ethereum mainnet). To resolve the address use resolve_ens. Returns the resolver (with ENSIP-10 wildcard), addresses (eth; btc decoded to a P2PKH/P2SH/bech32 address; base), contenthash (ipfs://, ipn…
- `get_erc1155_balance` — chainpeek: Get an account's ERC-1155 token balance for a token id on Ethereum, Base or Robinhood Chain. For an ERC-721 owner use get_nft_owner. Returns balanceOf(account, id) of an ERC-1155 contract (balance, a raw integer string), with …
- `get_erc20_transfers` — chainpeek: List the ERC-20 token transfers into and out of an address on Ethereum, Base or Robinhood Chain. For current balances use get_portfolio; for top counterparties use get_wallet_counterparties. Returns ERC-20 transfers, newest fi…
- `get_event_contract_odds` — utilpeek: Search regulated US event contracts by topic. For Polymarket use search_prediction_markets. Returns open regulated US event-contract markets (prediction markets) for a text query or a list: implied probability, yes bid and ask,…
- `get_event_logs` — chainpeek: Query contract event logs over a block range, decoded. For one transaction's events use decode_tx_logs; for an address's token transfers use get_erc20_transfers. Returns eth_getLogs logs for an address and/or topics over a blo…
- `get_exchange_reserves` — chainpeek: Use when an agent must judge selling pressure or check reserves before depositing: a coin's exchange inflow or outflow. For DEX volume use get_dex_volume. Returns how much of a coin sits on centralised exchanges and whether it…
- `get_funding_rates` — chainpeek: Use when an agent needs what a Hyperliquid perp costs to hold, or whether funding is flipping, before sizing a trade. For Hyperliquid against dYdX use compare_funding_rates; for the best pair over five venues use rank_funding_…
- `get_fx_rates` — utilpeek: foreign-exchange reference rates for a base currency. For live on-chain rates use get_live_fx_rates. Unknown currencies and older dates are a 422 (not charged); an ECB outage is a 5xx (not charged). Typically under 0.1 s (up to…
- `get_gas` — chainpeek: read the current gas price on Ethereum, Base or Robinhood Chain. For the gas units a transaction needs use estimate_gas. Returns gas_price_wei, gas_price_gwei and the latest block's base_fee_gwei (null on a chain without EIP-1…
- `get_gpu_price_index` — utilpeek: GPU price index: daily H100, H200, A100 rental price per GPU-hour over time. Returns a GPU chip's daily rental price history: lowest and median on-demand list price, lowest spot, Akash median bid and free GPUs. List prices and …
- `get_gpu_prices` — utilpeek: GPU prices: cheapest H100, A100, L4 per GPU-hour on AWS, Azure, Google Cloud, Akash. Returns cheapest GPU prices per GPU-hour on AWS, Azure and Google Cloud (list prices) and Akash (marketplace bids with GPUs free), by chip, me…
- `get_large_solana_token_trades` — chainpeek: Who is buying this Solana token? Recent large trades: big buys, sells and swaps by mint. For the price use get_solana_token_price. Returns the recent large buys and sells of a Solana token from its top DEX pools' transactions:…
- `get_large_token_trades` — chainpeek: Who is buying this token? Recent large trades: big buys and sells on Base or Ethereum. For Solana use get_large_solana_token_trades; for a quote at your size use get_swap_quote. Returns who bought and sold an ERC-20 in size: t…
- `get_lending_yields` — chainpeek: Use when an agent must choose where to lend or borrow: supply and borrow APY on Aave, Compound and Morpho. For protocol TVL use get_protocol_tvl; for perp funding use get_funding_rates. Returns current lending supply and borro…
- `get_live_fx_rates` — utilpeek: Use when an agent needs on-chain EUR/GBP/MXN/BRL/CAD/SGD/ZAR/IDR vs USD or exchange quotes for 8 pairs, not ECB. For the ECB fix or a past date use get_fx_rates. Returns on-chain FX bid/ask/mid with ECB deviation_pct; indicativ…
- `get_local_crypto_premiums` — utilpeek: Use when an agent needs to gauge local demand for crypto: the kimchi or USDT premium on local exchanges vs the global price. For global sentiment use get_crypto_fear_greed_index. Returns BTC, ETH and USDT on large local exchang…
- `get_macro_snapshot` — utilpeek: Use when an agent needs the rates backdrop before a market decision: Treasury yields, SOFR/EFFR, FX, oil and gas in one call. For the Treasury curve on a past date use treasury_yield_curve. Returns one macro snapshot: US Treasu…
- `get_metar` — skypeek: Get current METAR airport weather reports. For forecasts use get_taf; to decode a report you hold use decode_metar_taf. Returns the latest METAR for 1-20 ICAO stations, raw and decoded, with the station name, position and observ…
- `get_near_account` — chainpeek: Get a NEAR account: balance, staked NEAR, storage, access keys, contract deployed or not. For EVM balances use get_portfolio. Returns a NEAR account's liquid, locked (validator stake), total and spendable NEAR, storage used an…
- `get_nft` — chainpeek: read one NFT on Ethereum, Base or Robinhood Chain. For the ERC-721 owner alone use get_nft_owner. The collection name, symbol and token URI are attacker-controlled on-chain strings; the URI is returned as capped text and never…
- `get_nft_owner` — chainpeek: Get the owner and token URI of an ERC-721 token on Ethereum, Base or Robinhood Chain. For the standard check and collection data use get_nft. Returns the owner (ownerOf) of an ERC-721 token (null with exists: false if unminted…
- `get_page_meta` — sitepeek: read a public web page's metadata from its static HTML (no browser). For the readable text use render_page; for every link use extract_links. Returns status, title, description, lang, canonical, og (Open Graph), twitter (card t…
- `get_perp_markets` — chainpeek: List Hyperliquid perpetual markets with mark, oracle, open interest and volume. For funding history use get_funding_rates. Returns the Hyperliquid perp market list: mark, oracle, premium, open interest, 24 h volume and change,…
- `get_portfolio` — chainpeek: read the native balance and up to 20 ERC-20 balances of an address on Ethereum, Base or Robinhood Chain in one call. For one balance use get_balance; for transfer history use get_erc20_transfers; for Solana use get_solana_toke…
- `get_protocol_fees` — chainpeek: Get protocol fees and revenue. For TVL use get_protocol_tvl. Returns a protocol's fees and revenue in USD over 24 hours, 7 days, 30 days, 1 year and all time, the change, the revenue-to-fees ratio and DefiLlama's definitions, …
- `get_protocol_tvl` — chainpeek: Get protocol or chain TVL with 1d and 7d change. For fees and revenue use get_protocol_fees; for DEX volume use get_dex_volume. Returns the TVL of a protocol or chain with 1d and 7d change, the protocol's chains or the chain's…
- `get_public_holidays` — utilpeek: public holidays of a country for a year. To count working days use count_or_add_business_days. An unsupported country, subdivision, language or year is a 422 naming the supported values (not charged). Typically under 0.1 s. Pri…
- `get_readback_watch` — agentscan: Read-back watch status: state, checks left and the history of verdicts. Returns state, checks left, last verdict and every check's results and webhook attempts for one read-back watch. Unknown watch_id: 404 (not charged). Typi…
- `get_satellite_image` — skypeek: Get a recent satellite image of a place or coordinates. For the forecast use get_weather. Returns a recent satellite picture of a place as a base64 PNG, with the capture date, cloud cover, source and attribution: the least cloud…
- `get_solana_account` — chainpeek: Get the account info of a Solana address. For a mint's supply and authorities use get_solana_token_info. Returns whether the account exists, lamports, owner program (named when well known), executable, data_length and the prog…
- `get_solana_balance` — chainpeek: Get the SOL balance of a Solana address. For SPL tokens use get_solana_token_balances. Returns lamports (exact integer string), sol (exact decimal string) and the slot it was read at; an address that was never funded reads 0. …
- `get_solana_signatures` — chainpeek: List the recent transaction signatures of a Solana address. For one transaction's details use get_solana_transaction. next_before is null on the last page; memos are on-chain strings capped at 200 characters. Solana mainnet, c…
- `get_solana_token_balances` — chainpeek: Get the SPL token balances of a Solana wallet. For SOL use get_solana_balance; for EVM tokens use get_portfolio. Returns its SPL Token and Token-2022 accounts with a balance. At most 200 accounts are listed; zero balances are …
- `get_solana_token_info` — chainpeek: Get the supply, decimals and authorities of a Solana token mint. For the price use get_solana_token_price; for rug risk use check_solana_token_safety. Returns supply (raw), decimals, ui_supply, mint_authority and freeze_author…
- `get_solana_token_price` — chainpeek: Get the USD price and liquidity of a Solana token by mint address. For large recent trades use get_large_solana_token_trades. Returns its USD price and the liquidity of its deepest pool. Spot price of one pool, computed from o…
- `get_solana_transaction` — chainpeek: Get a parsed Solana transaction by its signature. For an address's recent signatures use get_solana_signatures. An unknown or pruned transaction is a 200 status: not_found, charged like /v1/chain/tx. Solana mainnet, confirmed …
- `get_space_weather` — skypeek: Get space weather: Kp index, forecast, solar wind, alerts. For aurora at a place use aurora_forecast. Returns current space weather: the planetary Kp index with its NOAA G-scale level, the Kp forecast for the next days (3-hour s…
- `get_stablecoin_supply` — chainpeek: Get stablecoin supply by coin and chain. For whether a coin holds its peg use check_stablecoin_peg. Returns stablecoin supply by coin and chain with 1d, 7d and 30d change: a coin's chains, a chain's coins, or the largest coins…
- `get_storage_at` — chainpeek: Read a contract storage slot on Ethereum, Base or Robinhood Chain. For proxy implementation and admin slots use detect_proxy. Returns the 32-byte word at a storage slot of a contract (value), also as as_uint and, when it looks…
- `get_swap_quote` — chainpeek: quote an exact-input swap on Uniswap V3 (QuoterV2, read-only eth_call) on Ethereum or Base. For price impact over up to five sizes use pre_trade_check. Input: chain, token_in, token_out and exactly one of amount_in or amount_i…
- `get_taf` — skypeek: Get current TAF airport weather forecasts. For current observations use get_metar. Returns the current TAF for 1-20 ICAO stations, raw and decoded per forecast period (BASE, FM, TEMPO, BECMG, PROB) with wind, visibility, weather…
- `get_token_info` — chainpeek: get ERC-20 token metadata on Ethereum, Base or Robinhood Chain. For a holder's balance use get_balance; for supply alone use get_total_supply. Returns name, symbol, decimals and total supply, or is_erc20:false. Names and symbo…
- `get_token_price` — chainpeek: read a token price from a Chainlink on-chain price feed (deterministic oracle answer, not a DEX spot price). For a DEX quote of any token use get_swap_quote; for Solana use get_solana_token_price. A pair not available on the c…
- `get_topic_trends_attention` — utilpeek: Use when an agent must tell if interest in a topic is rising or fading: Wikipedia, Hacker News and news over time. For the articles use news_search. Returns daily topic trends for 1 to 5 topics: Wikipedia page views per languag…
- `get_total_supply` — chainpeek: Get an ERC-20 total supply with decimals and symbol on Ethereum, Base or Robinhood Chain. For name and symbol too use get_token_info. Returns the total supply of an ERC-20 as total_supply_raw, formatted total_supply, decimals …
- `get_transaction` — chainpeek: read a transaction and its receipt on Ethereum, Base or Robinhood Chain. For the receipt alone use get_transaction_receipt; for decoded events use decode_tx_logs. An unknown hash is status not_found (charged like any answer). …
- `get_transaction_receipt` — chainpeek: Get a transaction receipt on Ethereum, Base or Robinhood Chain. For value, nonce and confirmations too use get_transaction; for decoded events use decode_tx_logs. Returns the receipt of a mined transaction. An unknown or pendi…
- `get_verification_code` — dnspeek: Get the verification code or magic link from an email without the email body. To check an address before sending use verify_email. Returns the one-time code(s) and verification link(s) from a raw email or text, the sender domain…
- `get_wallet_counterparties` — chainpeek: List a wallet's top counterparties: who an address sends to and receives from, by count and volume. For the raw transfer list use get_erc20_transfers. Returns who address transacts with over the latest days days (1-90; default…
- `get_weather` — weatherpeek: hourly weather forecast for a point or a city. For airport observations use get_metar. Input: either lat and lon together, or place alone, plus optional hours. place matches cities of 15,000+ people offline ("City" or "City,…
- `get_x402_bazaar_pulse` — agentscan: Use when an agent must decide what to list or price on x402: today's Bazaar listings, new sellers, payer gains and gaps. For endpoints with repeat payers use get_x402_repeat_demand. Returns the daily pulse of the x402 Bazaar: …
- `get_x402_facilitator_changes` — agentscan: Compare x402 facilitator support and changes since a date. Input: optional since; GET query or POST JSON. Observations, not settlement tests. Stale rows are last-known-good. Absent fees are not zero. No data: 503, not charged.…
- `get_x402_repeat_demand` — agentscan: Find x402 endpoints with repeat paying demand: 2+ calls per payer in 30 days, sweeps left out. For the whole market today use get_x402_bazaar_pulse. Returns x402 endpoints whose 30-day payers average 2+ calls each (at least mi…
- `get_youtube_comments` — utilpeek: Get public YouTube comments. Returns a partial sample of up to 50 public top-level YouTube comments, top or newest. Author is the commenter's public YouTube handle as displayed; no channel IDs, profile links, avatars or replies…
- `get_youtube_transcript` — utilpeek: Get YouTube captions and video metadata. Returns YouTube caption text with timestamps, language and video metadata; optional AI chapters. Public captions only; no media download. Missing captions and upstream failures are not c…
- `hmac_sign_verify` — utilpeek: Returns the HMAC of a message under a shared key (sign), or whether a signature matches it in constant time (verify); handles GitHub (sha256= prefix accepted), Stripe v1 (of {t}.{raw body}) and Slack v0 (of v0:{timestamp}:{raw …
- `identify_x402_client` — agentscan: Identify an x402 client by User-Agent: monitor, indexer, grader or HTTP library, with call rate. For any other User-Agent use parse_user_agent; for a whole access log use analyze_agent_traffic. Returns whether a User-Agent is …
- `image_blurhash` — imagepeek: Generate a BlurHash placeholder string for an image. For the palette use image_colors. Returns the BlurHash string of an image (the published woltapp algorithm, identical to the reference package), with x_components and y_comp…
- `image_colors` — imagepeek: Extract the dominant colours of an image. For a placeholder string use image_blurhash. Returns an image's palette of k colours (hex, rgb, share), the dominant one and the average colour with its luminance, from a 200 px sample…
- `image_compress` — imagepeek: Compress an image, optionally to a byte budget. To change the format only use image_convert. Returns a smaller JPEG, WebP, AVIF or PNG (or original if not smaller). With max_bytes, default fit: quality keeps dimensions; fit: d…
- `image_dedupe` — imagepeek: Find duplicate images in a batch: group near-duplicates and pick the biggest. For a pair use image_hash. Returns groups of duplicate and near-duplicate images among up to 100 URLs (perceptual hash and Hamming distance), the hi…
- `image_hash` — imagepeek: Compute perceptual hashes of an image, optionally compared. To group duplicates among up to 100 images use image_dedupe. Returns perceptual hashes of an image (aHash, dHash, pHash, wHash; 64 or 256 bits, imagehash-compatible) …
- `image_rotate` — imagepeek: Rotate or flip an image. To change the format use image_convert. Returns the image rotated clockwise by angle (multiples of 90 are lossless transposes; other angles are bicubic, expanded by default, corners filled with backgro…
- `image_strip_metadata` — imagepeek: Strip an image's EXIF, GPS, XMP, IPTC and comment metadata. To read the metadata use image_metadata. Returns the image without EXIF (GPS included), XMP, IPTC, comments and text chunks: JPEG, PNG, WebP and GIF are stripped loss…
- `image_thumbnail` — imagepeek: Make 1-8 thumbnails of an image in one call. For one exact resize use image_resize. Returns 1-8 thumbnails in one call, each sizes entry {width, height} (at most 4096), by fit cover (smart centre crop with gravity, default) or…
- `images_to_pdf` — pdfpeek: Convert 1-30 images into a PDF. For Office files use convert_office_to_pdf; for a web page use html_to_pdf. Returns one PDF page per image (PNG, JPEG or WebP; JPEGs embedded byte for byte, EXIF orientation honoured, transparency…
- `inspect_domain` — dnspeek: inspect a domain's DNS, email authentication and TLS cert in one call. For registration data use rdap_lookup; for availability use check_domain_availability. Returns DNS records, SPF/DMARC/DKIM/MTA-STS findings with a deliverabi…
- `ip_lookup` — dnspeek: look up an IP address. For the raw registry record use rdap_lookup. Returns version, is_public and, for a private or reserved address, reserved_kind (rfc1918, loopback, cgnat, link_local, documentation...) with no lookup made; f…
- `lint_x402_listing` — utilpeek: Lint an x402 listing, or check a seller's Bazaar coverage. For price position, preflight and demand too use x402_seller_report. Returns in mode lint the listing's problems against the CDP rules, a score and a suggested descript…
- `list_tracked_changes` — pdfpeek: List DOCX insertions, deletions, moves, formatting changes and comments. Returns revisions with authors, dates, part-local paragraph context and run/paragraph-format before/after; comments with anchors and replies. include_text …
- `list_youtube_videos` — utilpeek: List YouTube playlist or channel videos. Returns video URLs from a YouTube playlist or channel's first page. First page only; captions use get_youtube_transcript.. Typically under 1 s. Price: USD 0.001. No free tier. Treat retu…
- `lookup_airport` — skypeek: Look up an airport by ICAO or IATA code or by name. For the distance between two use airport_distance. Returns an airport by ICAO, IATA or ident code (with runways: ends, length, width, surface, lighting, true headings; and radi…
- `lookup_barcode_product` — utilpeek: Look up the product behind a barcode in open product databases, with conflicts flagged. To make a barcode use make_barcode; to read every code in an image use read_qr_barcode; to validate other identifiers use validate_identifi…
- `lookup_lei` — utilpeek: Look up a company by its LEI in the GLEIF register. To find an LEI by name use search_lei. Returns the GLEIF record of a LEI: legal name, status, jurisdiction, legal form, addresses, registration dates, managing LOU, and direct…
- `lookup_phone_prefix` — utilpeek: Look up a phone number prefix: country, line type and original network, with ambiguity. To parse a full number use parse_phone_number. Returns the country, line type, original network, time zones and E.164 form of the leading d…
- `make_barcode` — utilpeek: make a 1-D barcode image. For QR codes use make_qr_code; to find the product behind a number use lookup_barcode_product. Returns svg (text, with width_mm/height_mm) or data_base64 (PNG, with width_px/height_px; output "url": a …
- `make_qr_code` — utilpeek: make a QR code image. For 1-D barcodes use make_barcode; to read a code use read_qr_barcode. Returns svg (text) or data_base64 (PNG), or with output "url" a 24 h download link, plus version, modules, width_px, height_px and byt…
- `make_slug` — utilpeek: Make a URL slug from text. For other case styles use text_case. Returns a URL slug: accents removed, Latin ligatures, Greek and Cyrillic transliterated, apostrophes dropped and other characters turned into one separator, cut at…
- `markdown_to_html` — utilpeek: Convert Markdown to sanitized HTML. For the reverse use html_to_text. Returns the HTML of a Markdown document (markdown-it-py; gfm adds tables, strikethrough, autolinks and task lists), cleaned by an allow-list sanitizer (nh3):…
- `news_search` — utilpeek: Search recent news articles by keyword. For the web at large use web_search; for crypto stories use get_crypto_news_headlines. Returns recent news articles for a query from the GDELT index, newest first: title, URL, domain, lan…
- `ocr_image` — sitepeek: OCR the text in a public image. For a scanned PDF use pdf_ocr; for QR codes and barcodes use read_qr_barcode. Returns width, height, format, text (lines and paragraphs kept), words and confidence_mean (0-100, mean word confiden…
- `paper_digest` — utilpeek: Price: USD 0.02; No free tier. For a plain search use search_papers. Digest the top academic papers on a topic: ranked, with a short summary of each. Returns the top papers on a topic from OpenAlex (or arXiv), ranked by citatio…
- `pdf_compress` — pdfpeek: Compress a PDF to shrink its file size. For an image-only copy use pdf_rasterize. Returns a smaller PDF: level lossless (structure only), recommended (images re-encoded as JPEG q75 at most 150 dpi) or extreme (q50, 96 dpi), with…
- `pdf_extract_pages` — pdfpeek: Extract pages from a PDF. To drop pages use pdf_remove_pages; for several files use pdf_split. Returns a new PDF with the selected pages in the order given (repeats allowed). Pages are 1-based: N, N-M, N- (to the end), -M and la…
- `pdf_flatten` — pdfpeek: Flatten the form fields and annotations of a PDF into the page content. To fill fields first use pdf_fill_form. Returns the PDF with form fields and annotations merged into the pages (mode all, screen or print; annotations a mod…
- `pdf_inspect` — pdfpeek: Price: USD 0.005; Free: 3 pdfpeek calls per IP per UTC day. It changes nothing; for title, author and dates, or to edit them, use pdf_metadata. Inspect a PDF: page sizes, text layer or scan, forms, attachments, JavaScript, bookm…
- `pdf_ocr` — pdfpeek: OCR a scanned PDF into a searchable PDF. For one image use ocr_image; for a PDF with a text layer use extract_pdf. Returns a searchable PDF: tesseract OCR of the selected pages as an invisible text layer over the unchanged origi…
- `pdf_rasterize` — pdfpeek: Rasterize a PDF: every page rendered to an image, rebuilt as one PDF. To shrink and keep text use pdf_compress; for page images use pdf_to_images. Returns a new image-only PDF: each selected page rendered (PDFium, no JavaScript)…
- `pdf_redact` — pdfpeek: Redact a PDF: black out terms, emails, phone numbers, card numbers and areas. To test a file redacted elsewhere use pdf_redaction_check. Returns a PDF whose redacted pages are images, so the text cannot be copied back; metadata …
- `pdf_redaction_check` — pdfpeek: Check a PDF for failed redactions: black boxes with the text still under them. To redact properly use pdf_redact. Returns whether black boxes in a PDF still have readable text under them: per finding the page, box (PDF points), …
- `pdf_repair` — pdfpeek: Repair a damaged PDF. For a report on a readable file use pdf_inspect. Returns the PDF opened with qpdf's recovery (bad or missing xref, cut-off file, junk before the header) and written again, with qpdf's warnings; linearize al…
- `pdf_rotate` — pdfpeek: Rotate the pages of a PDF by 90, 180 or 270 degrees. For several page operations in one call use pdf_pipeline. Returns the PDF with its pages (or a pages selection) rotated clockwise by angle (90, 180, 270 or -90), added to each…
- `pdf_split` — pdfpeek: Split a PDF by page ranges or every N pages. For one file of chosen pages use pdf_extract_pages. Returns a PDF split into several files: one per comma part of ranges (mode=ranges, e.g. 1-3,4-6,7-) or one every every pages (mode=…
- `pdf_to_images` — pdfpeek: Convert PDF pages to PNG or JPEG images. For one image-only PDF use pdf_rasterize. Returns each selected page rendered to PNG or JPEG (PDFium, no JavaScript) at dpi 36-300, optionally grayscale; at most 20 pages per call (a page…
- `peppol_lookup` — utilpeek: Check whether a company is registered on the Peppol e-invoicing network. For the legal entity use search_lei. Returns whether a Peppol participant ID (such as 0192:983887457) is registered on the Peppol e-invoicing network, fro…
- `pre_trade_check` — chainpeek: Check a Uniswap V3 swap at up to five sizes: price impact and candle gap. For one quote use get_swap_quote. Returns a Uniswap V3 swap quoted at each of up to five sizes, smallest first: amount_out, effective_price, price_impac…
- `preflight_mcp_listing` — agentscan: Check an MCP server repo against a punkpeye awesome list's rules before opening a PR. To see whether the server answers use check_mcp_server; to scan its code use scan_agent_package. Returns each rule the chosen list enforces …
- `query_agent_index` — agentscan: query a daily cross-registry index of x402 endpoints and MCP servers. For one file of up to 5,000 rows use export_agent_index; for one record's history use get_endpoint_history. Typically 0.1-2 s. Price: USD 0.02. Free: 10 que…
- `rank_funding_carry` — chainpeek: Rank cross-venue perpetual funding carry. For Hyperliquid against dYdX alone use compare_funding_rates; for market data use get_perp_markets. Returns the best long and short venue pair per asset across Binance USDT-M, Bybit, O…
- `rdap_lookup` — dnspeek: RDAP (the successor of whois) registration lookup. For DNS and TLS use inspect_domain; for an IP's ASN and reverse DNS use ip_lookup. Input: query, a domain, an IPv4 or IPv6 address or an AS number. For a domain: registrar (name…
- `read_qr_barcode` — imagepeek: Read every QR code and barcode in an image. To make a QR code use make_qr_code; for other text use ocr_image. Returns every code found: type (QR, EAN-13, EAN-8, UPC-A, UPC-E, Code128, Code39), decoded text, kind (url, wifi, vc…
- `recognize_math_image` — imagepeek: Recognize one printed equation as LaTeX. Returns recognizes one cropped printed equation as LaTeX using an offline model. Input: Exactly one url or image_base64; PNG, JPEG or WebP, up to 10 MB and 4 MP. Printed equation crop o…
- `redact_pii` — utilpeek: Redact PII from text: emails, phone numbers, card numbers, IBANs, SSNs, IPs and crypto addresses. For API keys and tokens use check_text_for_secrets. Returns the text with emails, phone numbers, payment cards (Luhn), IBANs (mod…
- `render_page` — sitepeek: fetch a public http(s) URL and return clean Markdown (static, or with js:true executed in a sandboxed headless browser) or a PNG screenshot; private and internal addresses are refused. For up to 5 pages use render_pages_batch; …
- `render_pages_batch` — sitepeek: Fetch up to 5 web page URLs to Markdown in one batch call. For 10 URLs in the contents API shape use fetch_page_contents; for JavaScript use render_page. Returns 1-5 web pages read as Markdown in one call (20,000 characters eac…
- `repo_info` — utilpeek: Get health facts for a GitHub repository: activity, licence, dependents, Scorecard. Returns GitHub repository health facts: stars, licence, activity, latest release, dependents and OpenSSF Scorecard. Data: ecosyste.ms (CC BY-SA…
- `rerank_documents` — mlpeek: Rerank up to 100 documents against a query. For pair scores use text_similarity. Returns 1-100 documents scored against a query by the ms-marco-MiniLM-L6-v2 cross-encoder (Apache-2.0) and sorted best first: index, rank, score (si…
- `scan_agent_package` — toolsniff: Scan an AI-agent skill or MCP server package before installing it. To see whether a remote MCP server answers use check_mcp_server. Reads every file as text in a sandbox. Returns a verdict, a risk_score 0-100 and file:line fin…
- `scan_contract_address` — pactlint: Scan a deployed, verified contract on Ethereum or Base for security bugs, by address. For source you hold use scan_contract_source. Fetches the verified source from Sourcify. Runs solc, Slither and custom DeFi detectors (unchec…
- `scan_contract_source` — pactlint: Scan Solidity source code for security bugs before you deploy, review or depend on it. For a deployed verified contract use scan_contract_address. Runs solc, Slither and custom DeFi detectors (unchecked ERC-20 returns, zero sli…
- `search_datasets` — utilpeek: Find datasets on Hugging Face Hub only. Returns public datasets from Hugging Face Hub only, ranked by downloads: link, licence and size labels, downloads and last update. Optional licence, task, language and size filters. Licen…
- `search_lei` — utilpeek: Search the GLEIF register for a company's LEI by name. For one LEI's full record and parents use lookup_lei. Returns up to 20 GLEIF records matching a company name (optionally in one country): LEI, legal name, country, status. …
- `search_papers` — utilpeek: Search academic papers by keyword. For top papers ranked with summaries use paper_digest. Returns academic papers for a query from OpenAlex (or arXiv). OpenAlex data (CC0), cached up to 1 hour; arXiv with source. No match is co…
- `search_podcasts` — utilpeek: Search podcasts by name or Apple Podcasts link: RSS feed URL, show data and latest episodes. To read any other feed use parse_rss_feed. Returns the RSS feed URL, show data and latest episodes of a podcast found by name or Apple…
- `search_prediction_markets` — utilpeek: Use when an agent needs to see what odds traders put on an event: Polymarket probabilities, volume and liquidity for a topic. For regulated US event contracts use get_event_contract_odds. Returns Polymarket prediction markets f…
- `search_social_posts` — findpeek: Search social posts on Bluesky and Hacker News: recent public posts about a topic. For news articles use news_search. Returns recent public Bluesky and Hacker News posts for a query, newest first. Bluesky and Hacker News only, …
- `search_with_contents` — findpeek: Search the web and get the Markdown of the top results in one call. For links only use web_search. Returns search results (title, url, snippet) with the Markdown of each of the top n pages (20,000 characters each, truncated fla…
- `search_youtube_videos` — utilpeek: Search public YouTube videos. Returns public YouTube video metadata for a query, up to 20 videos. Nullable fields name what is unavailable. Publication labels may be relative. Cached up to 15 minutes. No captions or media. Part…
- `sec_company_lookup` — utilpeek: Look up a company in SEC EDGAR by ticker or CIK. For financials per year or quarter use sec_financials. Returns a US SEC registrant by ticker or CIK from SEC EDGAR: name, CIK, tickers, exchanges, SIC industry, state, fiscal yea…
- `sun_moon_times` — skypeek: Get sunrise, sunset, twilight, moonrise and moon phase for a place and date. For satellite passes use satellite_passes. Returns sunrise, sunset, solar noon, day length and civil / nautical / astronomical twilight, plus moonrise,…
- `take_website_screenshot` — sitepeek: Take a website screenshot of a public URL. For the page's text use render_page; for a PDF use html_to_pdf; for a signed record of what a page showed use capture_web_evidence. Returns a public web page captured as a PNG or JPEG …
- `test_x402_payment` — agentscan: Make a real x402 payment to test your wallet and client, with a signed receipt. To check a signed authorization without paying use x402_payment_status; to vet a seller before paying use check_x402_endpoint_before_paying. Retur…
- `text_case` — utilpeek: Convert text case: title, sentence, snake, camel, kebab, ... For a URL slug use make_slug. Returns the text in another case: upper, lower, title (small words such as a, of, the kept lower-case; iPhone and domains kept), sentenc…
- `text_encode` — utilpeek: Encode or decode text: base64, hex, URL, punycode, JWT decode, ... For digests use hash_text; for a JWT's claims use decode_jwt. Returns the text encoded or decoded with codec: base64, base64url, base32, hex, url (percent), htm…
- `text_extract` — utilpeek: Extract emails, URLs, domains, IPs, dates and crypto addresses from text. To mask personal data use redact_pii; for names and places use extract_entities. Returns the emails, URLs, domains (ICANN suffixes), IPv4 / IPv6, phone-l…
- `text_frequency` — utilpeek: Count word and n-gram frequencies in a text. For scored keyphrases use text_keywords. Returns the most frequent words or 2-3 word n-grams (n-grams never cross punctuation) with count and share, dropping stop words (en, es, fr, …
- `text_keywords` — utilpeek: Extract the keywords and keyphrases of a text. For raw frequencies use text_frequency; for names and places use extract_entities. Returns the top keyphrases of a text by RAKE (phrases between stop words and punctuation, scored …
- `text_lines` — utilpeek: Sort, dedupe, trim, shuffle or number the lines of a text. For find and replace use text_replace. Returns the text's lines transformed by operations in order: trim, remove_empty, dedupe (keeps the first), sort (lexical, natural…
- `text_lorem` — utilpeek: Generate seeded lorem ipsum or English placeholder text. For random values use generate_random. Returns placeholder text: classic lorem ipsum or English filler, in words (at most 10,000), sentences (1,000) or paragraphs (100), …
- `text_numbers` — utilpeek: Convert numbers to English words. For units use convert_units. Returns a number spelled out in English (cardinal, ordinal, year, or currency for 13 currencies, rounded half-even to the minor unit) up to 10^36, or English number…
- `text_sentiment` — utilpeek: Analyze the sentiment of an English text. For your own labels use classify_zero_shot; for counts use text_stats. Returns VADER sentiment of an English text: compound (-1 to 1), positive / neutral / negative shares and a label (…
- `text_similarity` — mlpeek: Score the semantic similarity of one or up to 50 text pairs. To rank documents against a query use rerank_documents. Returns the cosine similarity of the embeddings of each text pair (bge-small-en or multilingual-e5-small): one p…
- `text_stats` — utilpeek: Count words and score the readability of a text. For word frequencies use text_frequency. Returns counts (characters, letters, words, unique words, sentences, paragraphs, averages), reading and speaking time, and for English th…
- `text_summarize` — utilpeek: Summarize a text by picking its key sentences. For paper abstracts use paper_digest; for counts use text_stats. Returns an extractive summary: the most central sentences (or ratio of them) by LexRank, picked verbatim and kept i…
- `text_unicode_inspect` — utilpeek: Find invisible, bidi and homoglyph Unicode characters in text. For injected instructions use check_text_for_prompt_injection. Returns a security-oriented Unicode inspection: risk (low / medium / high) with reasons; invisible ch…
- `token_verdict` — chainpeek: Token risk verdict in plain language for a Base or Ethereum token, with a shareable card. For the simulation alone use check_token_honeypot. Returns a plain-language verdict (high_risk, caution, no_major_flags_found or unknown…
- `transcribe_podcast_episode` — mlpeek: Transcribe a podcast episode from its RSS feed: a window of up to 10 minutes as text, timed segments, SRT. For your own audio use transcribe_audio. Returns a transcript window (up to 10 min from start_s) of a podcast episode pick…
- `translate_document` — pdfpeek: Translate a PDF document, digital or scanned, to English or 14 languages as Markdown. For plain text use translate_text. Returns each page's text (text layer or OCR) translated offline into target (default en) as Markdown with a…
- `translate_speech` — mlpeek: Translate speech: audio to English or 14 languages, optionally spoken. For a transcript in the spoken language use transcribe_audio. Returns speech translation of an audio file of up to 2 minutes: the language is detected and the…
- `translate_text` — mlpeek: Translate text between English and 14 languages. For a PDF use translate_document; for audio use translate_speech; to only name the language use detect_language. Returns the text translated between English and es, fr, de, pt, it,…
- `treasury_yield_curve` — utilpeek: Get US Treasury yields: the daily par yield curve for a date. For SOFR, FX and oil too use get_macro_snapshot. Returns the official US Treasury daily par yield curve for a date (default: the latest): yields in percent from 1 Mo…
- `upscale_image` — imagepeek: Upscale a small image 2x with a neural model. Returns creates a 2x neural derivative of one PNG, JPEG or WebP using offline QuickSRNet Small (BSD-3-Clause). Neural x2 derivative, not recovered detail or OCR. PNG/JPEG/WebP <=25…
- `validate_identifier` — utilpeek: check the format and check digits of an identifier. For a VIN's vehicle use decode_vin; for phone numbers use parse_phone_number. Returns valid, reason (invalid_checksum, invalid_length, invalid_format, ... when not valid), com…
- `validate_json` — utilpeek: Validate JSON against a JSON Schema. To pull JSON out of prose use extract_json_with_schema; to convert formats use convert_data. Returns whether a JSON value is valid against a JSON Schema (draft from $schema, default 2020-12;…
- `vehicle_recalls` — utilpeek: List the NHTSA safety recalls of a vehicle by make, model and year or by VIN. For the VIN decode use decode_vin. Returns the NHTSA safety recalls of a vehicle by make, model and year, or by VIN (US-market data). Input: make, mo…
- `verify_email` — dnspeek: verify an email address before you send to it or accept it at sign-up. For the domain's SPF, DMARC and DKIM use inspect_domain. Checks syntax (practical RFC 5322 / 5321 limits, IDNA domains), MX records, null MX (RFC 7505), the …
- `verify_jwt` — utilpeek: Verify a JWT signature and claims. To read the claims without a key use decode_jwt. Returns valid true or false for a JWT checked with PyJWT against one key (HMAC secret, PEM public key or JWK Set), with a reason: bad signature…
- `web_search` — findpeek: search the web for a query and get back ranked results (title, url, snippet) from an independent index (Mojeek). For the pages' text in the same call use search_with_contents; for news use news_search. Typically 0.3-2 s. Price:…
- `x402_edge_check` — agentscan: Edge 402 check: does your CDN or WAF still serve the x402 challenge to AI bots. Returns what a URL answers to an AI-bot request and a plain one, unpaid: is the 402 there, cached, replaced by a CDN error page, or too large for …
- `x402_listing_audit` — agentscan: x402 listing review: lint, category demand history, 10 closest peers and ranked fixes. For a cheaper report without peers or history use x402_seller_report. Returns a full review of one x402 listing: lint, price position, pref…
- `x402_payment_status` — chainpeek: Check an x402 payment: was its USDC authorization used, can it still settle. To make a real test payment instead use test_x402_payment. Returns whether one x402 payment authorization (EIP-3009) was used. Input: network and eit…
- `x402_receipt_check` — chainpeek: Check an x402 receipt: did this transaction hash pay that amount to that address. Returns the token transfer in one transaction (chain, full hash, sender, recipient, explorer link, token, amount, block time, confirmations) and…
- `x402_seller_report` — agentscan: x402 seller report: lint, price position, buyer preflight and Bazaar demand for one endpoint. For category demand history, 10 peers and ranked fixes use x402_listing_audit; for lint alone use lint_x402_listing. Returns one rep…
- `agent_index_delta` — agentscan: refresh a local x402/MCP index: net additions, removals and price changes. For a starting snapshot use bulk_agent_index, then pass its delta_cursor as cursor. Give since OR cursor; follow next_cursor, then save refresh_cursor.…
- `asteroid_close_approaches` — skypeek: List asteroid and comet close approaches to Earth. For space weather use get_space_weather. Returns near-Earth object close approaches to Earth in the next 1-30 days within a miss distance (default 0.05 au, about 19.5 lunar dist…
- `convert_bank_statement` — pdfpeek: Use when an agent must turn a PDF bank statement into dated transactions for bookkeeping or import. For any other table use extract_pdf_tables. Returns transactions (date, description, signed amount, balance, row_ok), opening an…
- `convert_color_check_contrast` — utilpeek: Convert a color between hex, RGB, HSL and OKLCH and check WCAG contrast. For contrast alone use check_wcag_contrast. Returns a CSS color (hex, rgb(), hsl() or a CSS name) as hex, rgb, hsl, hsv, naive cmyk, OKLCH and WCAG relati…
- `convert_data` — utilpeek: Convert data between JSON, YAML, CSV, TOML and XML. To check JSON against a schema use validate_json. Returns the document converted from json, yaml, csv, toml or xml to json, yaml, csv or toml. YAML uses libyaml's restricted l…
- `convert_document_to_markdown` — pdfpeek: Price: USD 0.005; No free tier for full conversion. For PDF tables as rows use extract_pdf_tables. Use when an agent must read a Word, Excel, PowerPoint, PDF, HTML or EPUB file as Markdown text. Returns Markdown and size (pages,…
- `convert_excel_to_json` — pdfpeek: Read an Excel workbook into structured rows as JSON, or one CSV file per sheet. To build a workbook use build_xlsx_workbook. Returns string rows (cached values; trailing empties trimmed) or formula-guarded CSV per sheet. formula…
- `convert_markdown_to_word` — pdfpeek: Convert Markdown to Word: headings, lists, tables, code and links. Returns an editable Word .docx in file (base64; output=url gives a 24 h link), with page_size, output_bytes and note. Input: exactly one of markdown text or publ…
- `convert_office_to_pdf` — pdfpeek: Convert a Word, Excel, PowerPoint, OpenDocument or RTF file to PDF. For the reverse use convert_pdf_to_word. Returns the document as a PDF made by LibreOffice, base64 in file, with format, pages and active_content_removed. No op…
- `convert_pdf_to_word` — pdfpeek: Use when an agent must convert a PDF to Word (.docx) for editing. For the reverse use convert_office_to_pdf; for plain text use convert_document_to_markdown. Add output=url for a 24 h link. Returns a .docx made by LibreOffice wi…
- `convert_subtitles` — utilpeek: Convert subtitles between SRT, WebVTT and JSON, with a time shift. To make subtitles from audio use transcribe_audio. Returns a subtitle file converted between SRT, WebVTT and a JSON segment list [{start, end, text}] (seconds, …
- `convert_time` — utilpeek: convert one instant between time zones. For business days use count_or_add_business_days. Zones come from the pinned IANA tz database (tzdata package), not the host; a wall time in a DST gap or fold is flagged nonexistent / amb…
- `convert_units` — utilpeek: Convert units of measurement: length, weight, temperature, volume, pressure, energy, data size. For numbers in words use text_numbers. Returns a value converted between two units of one category, with the exact factor: length, …
- `create_readback_watch` — agentscan: Read-back watch: scheduled checks that a page or JSON answer still says what you shipped. Returns 20 scheduled checks of one public HTTPS URL: status plus JSON-path or CSS assertions, optional webhook on change. Read results w…
- `embed_multimodal` — mlpeek: Create multimodal embeddings: images and text in one vector space. For text only use embed_texts. Returns 768-dim vectors of texts and images (URL or base64) in ONE space (EmbeddingGemma 2), comparable by dot product; dimensions …
- `embed_texts` — mlpeek: Create text embeddings. For images too use embed_multimodal; for pair scores use text_similarity. Returns 384-dimension embeddings of 1-64 texts with bge-small-en-v1.5 (English) or multilingual-e5-small (about 100 languages), nor…
- `estimate_gas` — chainpeek: Estimate the gas of a transaction on Ethereum, Base or Robinhood Chain. For the gas price use get_gas; for a whole transfer check use transfer_preflight. Returns the node's gas estimate (gas) for a transaction from from to to …
- `export_agent_index` — agentscan: export a filtered slice of the index. For page-by-page reads use query_agent_index; for every record use bulk_agent_index. Returns the matching current-snapshot records. Typically 0.2-3 s. Price: USD 0.25; no free tier. Data i…
- `export_gpu_price_history` — utilpeek: Export GPU price history by chip and region. Returns recorded GPU offers as JSON/CSV, with available dates, missing days/providers and last update Input: optional chip, regions, provider, paired from/to, format, output. Default…
- `fill_docx_template` — pdfpeek: Fill the {{placeholders}} of a Word template with JSON data, as DOCX or PDF. For slides from JSON use build_pptx_deck. Returns the filled document, base64 in file (DOCX, or PDF with output=pdf; delivery=url gives a 24 h link); a…
- `generate_agent_ready_files` — sitepeek: Generate agent-ready files for a site: robots lines, API catalog, MCP card, skills index. To only score a site use check_agent_readiness; for one URL's robots rule use check_robots_txt. Returns runs the agent-readiness check, t…
- `generate_ids` — utilpeek: Generate UUIDs or ULIDs. For numbers, bytes and picks use generate_random. Returns 1-100 new identifiers: random UUID v4, time-ordered UUID v7 (RFC 9562) or ULIDs, optionally strictly increasing within the response (v7 and ULID…
- `generate_random` — utilpeek: Generate cryptographically strong random numbers, bytes, UUIDs, dice rolls, picks and shuffles. For UUIDs and ULIDs use generate_ids. Returns values from the OS CSPRNG (Python secrets): integers (uniform, inclusive range), floa…
- `hash_text` — utilpeek: Hash text or bytes: sha256, keccak256, blake2b, md5, crc32, ... For a keyed HMAC use hmac_sign_verify. Returns hex digests of the text (as UTF-8) or base64 bytes you send. md5 and sha1 are for checksums, not security. Send exac…
- `html_to_text` — utilpeek: Convert HTML to Markdown or plain text. To fetch a URL use render_page; for the reverse use markdown_to_html. Returns the readable content of an HTML document you send (the HTML itself, never a URL: nothing is fetched) as Markd…
- `image_convert` — imagepeek: Convert an image to PNG, JPEG, WebP, GIF, TIFF, BMP, ICO or AVIF. To shrink the file use image_compress. Returns the image converted to png, jpeg, webp, gif, tiff, bmp, ico (16-256 px icon sizes) or avif, with quality, progres…
- `image_favicon` — imagepeek: Generate a favicon set from an image. For plain sizes use image_thumbnail. Returns a favicon set from one image: favicon.ico (16, 32, 48 px), favicon-32x32.png, apple-touch-icon.png (180 px, flattened on apple_background, whit…
- `image_resize` — imagepeek: Resize an image. For several sizes in one call use image_thumbnail; for a box or ratio use image_crop. Returns the image resized to width and/or height (or by scale) with fit inside (default), contain (letterboxed on backgroun…
- `image_watermark` — imagepeek: Add a text watermark to an image. For PDFs use pdf_watermark. Returns the image with a text watermark (1-200 printable characters, DejaVu Sans Mono) at one of 9 positions, or tiled in a staggered grid, with opacity, font_size …
- `pdf_attachments` — pdfpeek: List, extract or add the file attachments of a PDF. For a whole-file report use pdf_inspect. Returns the PDF's file attachments by action: list (default: name, filename, media type, size, description), extract (one by name, base…
- `pdf_crop` — pdfpeek: Crop the margins of a PDF. To change the paper size use pdf_resize. Returns the PDF with every page's (or a pages selection's) crop box set inside the page by the margins, measured on the page as displayed; new sizes listed. The…
- `pdf_fill_form` — pdfpeek: Fill the form fields of a PDF from a JSON object. To make the values permanent use pdf_flatten. Returns the PDF with its form filled from fields (names from form-fields): strings or numbers, true / false for checkboxes, an optio…
- `pdf_form_fields` — pdfpeek: List the form fields of a PDF. To fill the fields use pdf_fill_form. Returns the form's fields in reading order: name (for fill-form), type (text, checkbox, radio, choice, button, signature), value, required, read_only, page, to…
- `pdf_merge` — pdfpeek: Use when an agent must combine several PDFs into one file, optionally taking only selected pages of each. To cut one PDF apart use pdf_split. Returns one PDF made of 2-20 input PDFs in order, each optionally cut to a page select…
- `pdf_metadata` — pdfpeek: Read, edit or strip the metadata of a PDF. For pages, forms and active content use pdf_inspect. Returns a PDF's document metadata (title, author, subject, keywords, creator, producer, created and modified as ISO 8601, PDF versio…
- `pdf_outline` — pdfpeek: Read the bookmarks of a PDF as a nested tree. To write bookmarks use pdf_set_outline. Returns the bookmarks as a nested tree of {title, page, open, children}; page is the 1-based target (null: nowhere or another file). At most 1…
- `pdf_page_numbers` — pdfpeek: Add page numbers to a PDF. For a text stamp use pdf_watermark. Returns the PDF with page numbers in a format such as "Page {n} of {N}" at one of 6 positions, with font, size, colour, opacity, margin, start_number and a pages sel…
- `pdf_resize` — pdfpeek: Resize PDF pages to A4, Letter, Legal or a custom size. To trim margins use pdf_crop. Returns pages scaled to A4, Letter, Legal or a custom width x height (pt, mm, in): fit (whole page inside, centred, aspect ratio kept), fill (…
- `pdf_set_outline` — pdfpeek: Write the bookmarks of a PDF from a nested tree. To read bookmarks use pdf_outline. Returns the PDF with its bookmarks replaced by the outline tree {title, page, open?, children?} (at most 1,000 bookmarks, 8 levels; [] removes t…
- `pdf_unlock` — pdfpeek: Unlock a password-protected PDF. To add a password use pdf_protect. Returns the PDF decrypted, only with a password that opens it (the user or owner password, or "" for a file restricted by an owner password only), with opened_w…
- `pdf_watermark` — pdfpeek: Add a text watermark to a PDF. For page numbers use pdf_page_numbers; for images use image_watermark. Returns the PDF with a text watermark on every page (or a pages selection): Latin text in one of 6 built-in fonts, size, opaci…
- `resolve_ens` — chainpeek: resolve an ENS name or address on Ethereum mainnet. For text records use get_ens_records. Input: name XOR address. Forward-resolves a name, or reverse-resolves an address with forward verification (verified) so a spoofed rever…
- `text_replace` — utilpeek: Find and replace in text. To sort, dedupe or number lines use text_lines. Returns the text with find replaced: literally, or as a regular expression on RE2 only (linear time for any pattern: no backtracking, so no ReDoS; backre…
- `text_spellcheck` — utilpeek: Spellcheck a text with suggestions. For counts and readability use text_stats. Returns the words not in the language's word-frequency dictionary (pyspellchecker), with positions (offset, line, column) and up to max_suggestions …
- `text_to_speech` — mlpeek: Speak text aloud in 41 voices: English, Spanish, French, Hindi, Italian, Portuguese. For audio to text use transcribe_audio. Returns the text spoken as audio. Offline neural TTS (Kokoro-82M); the audio is a synthetic voice. At mo…
- `upload_file_get_link` — utilpeek: Upload a file and get a download link that expires in 24 hours. Returns a public download link to a file you upload, valid for ttl_hours (default 24, the most); every call stores a new copy under a new link. Over HTTP the file …
- `vectorize_image` — imagepeek: Vectorize a raster image to SVG paths. Returns traces a PNG, JPEG or WebP logo, icon or diagram into filled SVG paths using VTracer (MIT). Approximate; not OCR. 10 MB/40 MP input; trace <=262144 pixels. Alpha becomes white. SV…

## Related servers

- Delx Mcp A2a (1068 tools) — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a.md
- Hermoso (896 tools) — https://policylayer.com/tools/hermoso.md
- Ainumbers Mcp Apps (762 tools) — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps.md
- Delx MCP Server (740 tools) — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-server.md
- Binance MCP Server (734 tools) — https://policylayer.com/tools/nirholas-binance-mcp.md
- Nitrostack (698 tools) — https://policylayer.com/tools/nitrostack.md
- Yaver (678 tools) — https://policylayer.com/tools/io-github-kivanccakmak-yaver.md
- Vibecontrols (672 tools) — https://policylayer.com/tools/vibecontrols-mcp.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=dev-tanod-tanod · API: https://policylayer.com/registry/api · Recommended policies for every tool: https://policylayer.com/policies/dev-tanod-tanod
