netintel-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@netintel-mcpcheck DNS records for example.com"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
netintel-mcp
MCP server for NetIntel — 126 network intelligence tools for AI agents. DNS, SSL, WHOIS, email security, cloud fingerprinting, OSINT and more. Pay-per-call via x402 — the NetIntel API accepts USDC on Base or Solana. No API keys, and no private key to paste: pay from the wallet your agent already has (AgentCash, Coinbase Agentic Wallet or Coinbase Wallet MCP), or give this server a dedicated wallet key. Plus 3 router tools that find the best x402 endpoint for a job from any provider — details below.
Install as a Claude Code plugin (recommended)
The plugin installs the MCP server and a skill that knows which NetIntel endpoint fits a task, what it costs and how to pay it. It never holds a private key and never signs a payment: each paid tool hands the exact request and its price to the agent's own wallet (below), which pays it under that wallet's own approvals and limits. Nothing to configure:
/plugin marketplace add kjgueye/netintel-mcp
/plugin install netintel@netintelThen just ask — "is this IP malicious?", "does this domain have DMARC?", "fetch this URL as JSON" — and each call is paid from your wallet.
Related MCP server: x402-bazaar-mcp
Pay with the wallet you already have
With no EVM_PRIVATE_KEY set, every paid tool answers with the exact request — URL, method, body — and its price, ready for the agent's own wallet:
AgentCash — the agent calls its
fetchtool with that request. Install:claude mcp add agentcash --scope user -- npx -y agentcash@latest.Coinbase Agentic Wallet —
npx awal@latest x402 pay '<url>' [-X POST -d '<json>'] --max-amount <atomic>. Log in once withnpx awal@latest auth login <email>.Coinbase Wallet MCP —
initiate_x402_request, approve the payment in Coinbase Wallet, thencomplete_x402_request.
That wallet's own spending limits apply. The bundled skill (skills/netintel/SKILL.md) calls NetIntel the same way even without this server.
What it connects to
The tools call only NetIntel's own hosts: netintel.dev (the API) and router.netintel.dev (the router tools). Requests carry the tool's input and, when this server pays with its own key, an x402 payment signature; nothing else from your machine is sent. With a key configured, netintel_wallet_status also reads that wallet's USDC balance from Base's public node, mainnet.base.org.
When the agent pays with its own wallet (AgentCash, Coinbase Agentic Wallet or Coinbase Wallet MCP), that wallet sends the request to netintel.dev and pays it. NetIntel's API passes some tool inputs to the provider that answers them: OpenAI and Anthropic (AI tools), Exa (web search), AbuseIPDB and AlienVault OTX (IP reputation), CoinGecko and blockchain explorers (market and wallet data) and GitHub (repository lookups); fetch tools retrieve the URL you ask for. NetIntel keeps paid-call inputs and results — see the privacy policy.
Privacy policy: https://netintel.dev/privacy
Terms of service: https://netintel.dev/terms
Install
# pay from AgentCash, Coinbase Agentic Wallet or Coinbase Wallet MCP
claude mcp add netintel -- npx -y netintel-mcp
# or let this server pay from a dedicated wallet (direct install only; the plugin never takes a key)
claude mcp add netintel -e EVM_PRIVATE_KEY=0xYOUR_PRIVATE_KEY -- npx -y netintel-mcpOr add manually to your Claude Desktop config (the env block is optional — leave it out to pay from your own wallet as above):
{
"mcpServers": {
"netintel": {
"command": "npx",
"args": ["-y", "netintel-mcp"],
"env": {
"EVM_PRIVATE_KEY": "0xYOUR_PRIVATE_KEY"
}
}
}
}Requirements
None to start. Without a key every paid tool hands back a ready-to-pay request (see above), and
netintel_wallet_statusexplains the options.Optional:
EVM_PRIVATE_KEY— a dedicated agent wallet holding USDC on Base mainnet (gasless; a few dollars is plenty). With it, this server pays every tool's listed price automatically.Spending limits (≥1.1.55): with a key, the server refuses to sign a payment above
NETINTEL_MAX_PER_CALL_USD(default $0.25) or once it has authorizedNETINTEL_MAX_SESSION_USD(default $5) in total per process; a refusal returnsSPEND_LIMIT: …and nothing is paid. Listed prices are what a call costs, not a cap — with a key configured every 402 is paid automatically, so authorize paid calls with your user first.
Tools
126 pay-per-call tools across DNS, SSL/TLS, WHOIS & domains, email security, IP intelligence, web & content, OSINT, AI text processing, and bundled reports.
Tool | Description | Price |
netintel_dns_lookup | DNS lookup for any domain — resolve A, AAAA, MX, TXT, NS, CNAME, SOA… | $0.002 |
netintel_ssl_analyze | Performs a TLS handshake to inspect the certificate chain, probes… | $0.007 |
netintel_redirect_trace | Follows a URL through its full redirect chain (up to 20 hops)… | $0.01 |
netintel_security_headers | Fetches a URL and evaluates 10 security-critical response headers (CSP… | $0.01 |
netintel_email_auth | Email deliverability & domain security check — validates SPF, DKIM… | $0.002 |
netintel_cloud_fingerprint | Fingerprints a domain's cloud infrastructure — DNS records, HTTP… | $0.01 |
netintel_schema_parse | Extract structured data from any unstructured text into your own JSON… | $0.01 |
netintel_asn_lookup | Resolves an IP address or domain to its Autonomous System Number (ASN)… | $0.03 |
netintel_whois_lookup | WHOIS domain lookup via RDAP — domain registration data: registrar… | $0.003 |
netintel_cert_transparency | Query the crt.sh certificate transparency log database to enumerate all… | $0.01 |
netintel_subnet_calc | Calculates IPv4/IPv6 subnet details from CIDR notation —… | $0.005 |
netintel_dns_propagation | Query a domain's DNS record across 10 geographically distributed public… | $0.03 |
netintel_dnssec_validate | Validate a domain's DNSSEC configuration over DNS-over-HTTPS: DS… | $0.03 |
netintel_ip_blacklist | Check an IP address against 15 major DNS blacklists (Spamhaus… | $0.05 |
netintel_tech_fingerprint | Fetch a URL and detect the full technology stack from HTTP response… | $0.05 |
netintel_breach_check | Check if a password has appeared in known data breaches using the… | $0.01 |
netintel_domain_availability | Check if a domain name is available for registration by querying RDAP… | $0.01 |
netintel_email_intel | Email verification & deliverability check (email validator / verifier)… | $0.005 |
netintel_og_scraper | Fetch any public URL and extract structured metadata — Open Graph tags… | $0.01 |
netintel_page_extract | Fetch any article or web page and extract clean readable text stripped… | $0.05 |
netintel_phone_intel | Parse and validate any phone number in any format, identify its country… | $0.05 |
netintel_robots_txt | Fetch and parse a domain's robots.txt file — returns all crawl rules by… | $0.01 |
netintel_rss_parser | Fetch and parse any RSS 2.0 or Atom feed URL and return structured… | $0.01 |
netintel_username_check | Check username availability across 20+ social platforms and developer… | $0.03 |
netintel_wayback_lookup | Query the Internet Archive Wayback Machine to check if a URL has ever… | $0.01 |
netintel_ip_reputation | IP reputation and malicious-IP check — screens an address against… | $0.05 |
netintel_cron_parser | Parse any cron expression into a human-readable explanation, validate… | $0.03 |
netintel_currency_exchange | Convert any amount between 32 fiat currencies (live European Central… | $0.01 |
netintel_github_intel | Fetch public metadata for any GitHub repository — stars, forks, open… | $0.03 |
netintel_holidays | Look up public holidays for any country and year, check whether a… | $0.005 |
netintel_ip_geo | IP geolocation lookup (geoip / IP location API) — geolocate any IPv4 or… | $0.002 |
netintel_jwt_inspector | Decode and inspect any JWT token — extracts header algorithm, payload… | $0.005 |
netintel_lang_detect | Detect the language of any text input using stopword-set matching and… | $0.005 |
netintel_npm_intel | Fetch metadata for any npm package — download counts, latest version… | $0.01 |
netintel_sitemap_parser | Fetch and parse any XML sitemap or sitemap index file — returns URLs… | $0.01 |
netintel_url_safety | Check a URL against URLhaus malware database and heuristic phishing… | $0.01 |
netintel_domain_age | Determine a domain's age from registration data and archival history —… | $0.03 |
netintel_bulk_domain | Check availability of many domain names across multiple TLDs in a… | $0.10 |
netintel_domain_appraise | Estimate the market value tier of a domain name using transparent… | $0.03 |
netintel_domain_report | One call returns a complete intelligence profile for a domain — WHOIS… | $0.10 |
netintel_ip_risk | One call returns a complete risk profile for an IP address —… | $0.10 |
netintel_name_gen | Generate brandable startup/product names from a keyword using prefixes… | $0.05 |
netintel_tld_price | Reference registration/renewal/transfer pricing from a curated table of… | $0.01 |
netintel_typosquat | Generate common typo and look-alike variations of a domain and check… | $0.05 |
netintel_classify | Classify text into your own categories — zero-shot: supply 2–20 labels… | $0.005 |
netintel_content_moderate | Moderate text content using Claude Haiku — flags categories like… | $0.005 |
netintel_entity_extract | Extract named entities from text using Claude Haiku — people… | $0.05 |
netintel_sentiment | Sentiment analysis API — analyze sentiment of text and get a text… | $0.002 |
netintel_text_summarize | Summarize text, articles or documents — condense raw text, Markdown, or… | $0.005 |
netintel_translate | Translate up to 2000 words between languages using Claude Haiku —… | $0.02 |
netintel_translate_short | Translate text between languages — text translation API for short… | $0.01 |
netintel_domain_due_diligence | One call combines domain availability, heuristic value appraisal, and… | $0.20 |
netintel_domain_report_full | One premium call returns a complete six-part domain profile — DNS… | $0.25 |
netintel_email_report | One call combines domain email authentication (SPF/DKIM/DMARC)… | $0.15 |
netintel_ip_report | One premium call returns a complete five-part IP profile — geolocation… | $0.20 |
netintel_url_safety_full | One call vets a URL end to end — traces its full redirect chain, checks… | $0.15 |
netintel_extract | Parse and normalize a freeform address string using Claude Haiku —… | $0.01 |
netintel_extract_contact | Extract structured contact details from text, an email signature, or… | $0.01 |
netintel_extract_invoice | Extract structured data from invoice or receipt text — or directly from… | $0.02 |
netintel_extract_resume | Extract structured data from resume/CV text using Claude Haiku —… | $0.02 |
netintel_extract_table | Extract tabular data from messy text or HTML using Claude Haiku —… | $0.02 |
netintel_markdown | Convert messy HTML or text into clean, well-structured Markdown using… | $0.03 |
netintel_normalize | Conform messy or inconsistent JSON to a target schema using Claude… | $0.05 |
netintel_text_to_json | Turn unstructured text into structured JSON matching a caller-supplied… | $0.05 |
netintel_web | Extract web content from any page or PDF as clean Markdown — web page… | $0.003 |
netintel_money | Normalize any messy money string into a typed decimal amount plus ISO… | $0.01 |
netintel_calendar | Turn event fields into a valid RFC 5545 .ics calendar file — handles… | $0.005 |
netintel_event_classify | Cheap, fast "is this a dateable event?" filter for social and web text… | $0.02 |
netintel_event_extract | Event extraction / event parsing — turn any caption, announcement… | $0.05 |
netintel_messages | OpenAI-compatible chat completions over x402, answered by Claude Sonnet… | $0.06 |
netintel_ai_image | Generate agent-ready image assets (icons, logos, social graphics… | $0.25 |
netintel_convert | Convert any physical measurement — length, mass, volume, temperature… | $0.01 |
netintel_domain | Composite 0-100 trust/risk score for a domain in one call — blends… | $0.10 |
netintel_translate_structured | Translate structured content — JSON, HTML, Markdown, templates, UI… | $0.02 |
netintel_translate_batch | Translate many independent strings in one request — each with a caller… | $0.05 |
netintel_json | Repair malformed JSON into valid JSON — fixes code fences, trailing… | $0.02 |
netintel_schema | Validate data against a supplied schema — checks required fields… | $0.02 |
netintel_schema_map | Transform a source object into a target schema — matches fields by… | $0.04 |
netintel_domain_vet | Vet and pick a domain in one call — give candidate names, get back a… | $0.20 |
netintel_openai | Call OpenAI's gpt-4o via a single pay-per-call x402 endpoint — no… | $0.10 |
netintel_openai_gpt_4_1 | Call OpenAI's gpt-4.1 via a single pay-per-call x402 endpoint — no… | $0.09 |
netintel_openai_gpt_4_1_mini | Call OpenAI's gpt-4.1-mini via a single pay-per-call x402 endpoint — no… | $0.005 |
netintel_openai_gpt_4o_mini | Call OpenAI's gpt-4o-mini via a single pay-per-call x402 endpoint — no… | $0.005 |
netintel_openai_gpt_4_1_nano | Call OpenAI's gpt-4.1-nano via a single pay-per-call x402 endpoint — no… | $0.005 |
netintel_openai_gpt_5_5 | Call OpenAI's gpt-5.5 via a single pay-per-call x402 endpoint — no… | $0.65 |
netintel_openai_gpt_5_4 | Call OpenAI's gpt-5.4 via a single pay-per-call x402 endpoint — no… | $0.25 |
netintel_openai_gpt_5_4_mini | Call OpenAI's gpt-5.4-mini via a single pay-per-call x402 endpoint — no… | $0.04 |
netintel_openai_gpt_5_4_nano | Call OpenAI's gpt-5.4-nano via a single pay-per-call x402 endpoint — no… | $0.005 |
netintel_openai_gpt_5_1 | Call OpenAI's gpt-5.1 via a single pay-per-call x402 endpoint — no… | $0.15 |
netintel_openai_gpt_5_nano | Call OpenAI's gpt-5-nano via a single pay-per-call x402 endpoint — no… | $0.005 |
netintel_openai_gpt_5_2 | Call OpenAI's gpt-5.2 via a single pay-per-call x402 endpoint — no… | $0.20 |
netintel_openai_gpt_5_6_sol | Call OpenAI's gpt-5.6-sol via a single pay-per-call x402 endpoint — no… | $0.65 |
netintel_openai_gpt_5_6_terra | Call OpenAI's gpt-5.6-terra via a single pay-per-call x402 endpoint —… | $0.25 |
netintel_openai_gpt_5_6_luna | Call OpenAI's gpt-5.6-luna via a single pay-per-call x402 endpoint — no… | $0.06 |
netintel_v1_embeddings | OpenAI-compatible text embeddings API — standard /v1/embeddings request… | $0.005 |
netintel_semantic_rank | Semantic similarity ranking — send a query plus up to 100 candidate… | $0.02 |
netintel_v1_chat_completions | OpenAI-compatible chat completions gateway — standard… | $0.005 |
netintel_crypto_market | Structured live crypto market data for ~50 top assets in one JSON call:… | $0.005 |
netintel_gas_price | Live gas prices across Base, Ethereum, Arbitrum, Optimism, and Polygon… | $0.002 |
netintel_crypto_price | Crypto prices for up to 25 coins in one call — live cryptocurrency spot… | $0.005 |
netintel_crypto_ohlc | Historical OHLC candles for any major crypto asset — hourly or daily… | $0.02 |
netintel_currency_exchange_batch | Convert one base currency to up to 30 targets in a single call — fiat… | $0.02 |
netintel_currency_exchange_history | Daily historical exchange-rate series for any currency pair — fiat via… | $0.02 |
netintel_token_info | Full profile for any ERC-20 token by contract address — name, symbol… | $0.02 |
netintel_wallet_balance | Token balance for any wallet — native coin, USDC and any ERC-20 on… | $0.005 |
netintel_wallet_intel | Counterparty due-diligence for any Base or Ethereum wallet — age… | $0.05 |
netintel_iban_validate | Validate any IBAN offline — mod-97 check digits, per-country structure… | $0.005 |
netintel_market_snapshot | One-call market briefing for agents — BTC/ETH/SOL spot + 24h moves… | $0.05 |
netintel_web_fetch | Fetch any URL and get the raw body back — JSON parsed, everything else… | $0.003 |
netintel_weather_current | Current weather for any city or lat/lon worldwide, plus a 3-day… | $0.002 |
netintel_weather_forecast | Multi-day weather forecast for any city or lat/lon worldwide — up to 16… | $0.003 |
netintel_prediction_markets | Live prediction market odds from Polymarket — list the top active… | $0.005 |
netintel_prediction_market | Full detail for ONE Polymarket prediction market by id or slug —… | $0.003 |
netintel_ssl_cert | SSL certificate check for any domain — issuer, subject, SANs, valid… | $0.003 |
netintel_text_chunk | Split text into overlapping chunks for RAG ingestion — by characters or… | $0.001 |
netintel_text_stats | Instant text statistics — characters (with/without spaces), words… | $0.001 |
netintel_embeddings | Multilingual text embeddings (384-dim) served in-house, no OpenAI… | $0.001 |
netintel_email_verify | Validate an email address — email verification before you send: syntax… | $0.001 |
netintel_exa_search | Exa neural web search for AI agents — POST or GET a query, get ranked… | $0.01 |
netintel_web_search | Web search for AI agents — one query in, ranked live results out… | $0.01 |
netintel_exa_contents | Clean page text for up to 3 URLs in one call via Exa's index + live… | $0.005 |
netintel_exa_answer | Ask a question, get a direct answer grounded in a live web search, with… | $0.01 |
netintel_pdf_parse | Parse a PDF to text and Markdown: send a PDF url or base64 file, get… | $0.005 |
netintel_lead_check | Check a sales lead before outreach — one call verifies the email… | $0.005 |
netintel_web_monitor | Monitor a web page for changes — fetch a URL, compare it with your… | $0.003 |
netintel_domain_watch | Monitor a domain for changes — DNS records, nameservers, MX, SPF and… | $0.005 |
Find the right x402 endpoint from any provider
These tools answer "which x402 endpoint should I call?" over the whole Coinbase Bazaar catalog — every provider, not only NetIntel — ranked by fit, real paying demand, health and price, with the reasons. They call the NetIntel Router (https://router.netintel.dev) with the same wallet and spending limits. NetIntel's own endpoints are labeled and get no boost. Daily rankings for 40 common agent tasks: https://router.netintel.dev/rankings
Tool | Description | Price |
netintel_route_search | Find which x402 pay-per-call API endpoint fits a job, from ANY provider… | free |
netintel_route_recommend | Get the 3 best x402 endpoints for a job, from three different… | $0.005 |
netintel_route_vet | Check one x402 endpoint before relying on it: give its URL as the… | $0.002 |
Payment
All tools pay automatically via x402 in USDC on Base mainnet. Your wallet is charged per call. No subscriptions, no API keys. (The NetIntel API itself also accepts USDC on Solana — call it directly over x402 with a Solana wallet if you prefer that rail.)
Links
Website: https://netintel.dev
API manifest: https://netintel.dev/.well-known/x402
OpenAPI spec: https://netintel.dev/openapi.json
Agent catalog: https://netintel.dev/llms.txt
Router (which x402 endpoint to call; daily rankings): https://router.netintel.dev/rankings
Available Tools
127 toolsnetintel_ai_imageA
Generate agent-ready image assets (icons, logos, social graphics, thumbnails, banners) with gpt-image-1. Claude refines the prompt, screens content, adds alt text and a score. Returns image_url as a base64 PNG data URI. Flat $0.25; n=1…
| Name | Required | Description | Default |
|---|---|---|---|
| style | No | ||
| prompt | Yes | ||
| use_case | No | ||
| aspect_ratio | No | ||
| brand_colors | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and mostly does: it names the model, discloses a prompt-refinement step by Claude that means the final prompt may differ from input, states content screening, alt-text and scoring side effects, the exact return type (base64 PNG data URI), and flat $0.25 pricing. It omits latency, rate limits, and failure/refusal behavior, and the trailing 'n=1…' fragment is truncated and inconsistent with a schema that exposes no n parameter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and capability are front-loaded in the first clause, which is exactly right, and the pipeline, output and price details are dense rather than padded. The garbled trailing 'Flat $0.25; n=1…' fragment truncates mid-thought and slightly weakens the close.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is complete on behavior, cost and return format, and no output schema exists so explaining the return value is a genuine contribution. However, for a five-parameter generative tool with zero schema descriptions and no annotations, the total absence of parameter guidance leaves a real gap for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across five parameters, so the description must compensate and it does not: prompt, style, use_case, aspect_ratio and brand_colors are never explained or given accepted formats. Aside from the implicit 'prompt' being required and refined, an agent gets no guidance on valid values for the other four fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb ('Generate') plus a concrete resource ('image assets') with enumerated output types (icons, logos, social graphics, thumbnails, banners) and the underlying model (gpt-image-1). No sibling tool does image generation, so the agent can place this correctly in the catalog without further reading.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the asset types listed and by the 'agent-ready' framing, which hints at the intended context, but there is no explicit when-to-use statement, no prerequisites (e.g. prompt quality requirements), and no routing away from alternatives such as the text-only OpenAI siblings. Adequate but leaves the agent to infer fit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_asn_lookupA
Resolve an IP or domain to its ASN, network owner, country, and hosting/cloud classification with a trust score.
| Name | Required | Description | Default |
|---|---|---|---|
| target | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It usefully enumerates what the caller gets back (ASN, owner, country, hosting/cloud classification, trust score), which implies a safe read-only lookup, but it never states that it is read-only, nor mentions auth needs, rate limits, or whether the trust score is a heuristic.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence that names the input and the full set of outputs with no filler. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter lookup with no output schema and no annotations, the description covers both input and the shape of the result well. It stops short of noting the read-only nature or error behavior, but nothing critical for invoking it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for the single undocumented 'target' parameter. Saying it accepts 'an IP or domain' does exactly that by defining the accepted input types, which is meaningful added value beyond the bare string schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (resolve) and resource (IP/domain to ASN, network owner, country, hosting/cloud classification) plus the trust-score output, so the tool's function is unambiguous. It does not explicitly differentiate itself from close siblings like netintel_ip_geo or netintel_ip_reputation, relying on the ASN/ownership framing to do that implicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to pick this over netintel_ip_geo, netintel_ip_reputation, or netintel_whois_lookup, which all touch adjacent ground. Usage is only implied by the described outputs, with no conditions or exclusions stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_breach_checkA
Check if a password has appeared in known data breaches using HaveIBeenPwned k-anonymity API. The full password is never transmitted — only a 5-char SHA-1 prefix.
| Name | Required | Description | Default |
|---|---|---|---|
| password | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and delivers genuinely useful behavioral context: it discloses the external dependency (HaveIBeenPwned k-anonymity API) and the privacy property that only a 5-char SHA-1 prefix leaves the caller. It omits rate limits, auth requirements, and result semantics, keeping it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero waste. The purpose is front-loaded and the privacy mechanism follows as immediate reassurance about how the input is handled.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with no annotations and no output schema, the description covers what the tool does and how input is protected, but says nothing about what the result contains (breach boolean vs. occurrence count) or call limits. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for the single parameter, so the description must compensate. It implies the caller passes a plaintext password (not a pre-computed hash) and clarifies how it is processed, but adds no format, length, or encoding constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: checking whether a password appears in known breach data, plus the backing API. The resource ('password') inherently separates it from the sibling netintel_username_check, though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the mechanism but gives no when-to-use guidance, no prerequisites (e.g., API key), and no exclusions or alternatives. An agent must infer the usage context entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_bulk_domainB
Check availability of many domain names across multiple TLDs in a single call — submit up to 50 name/TLD combinations and get back per-domain registration status, registrar, and expiry concurrently, so agents can scan an entire naming…
| Name | Required | Description | Default |
|---|---|---|---|
| tlds | No | ||
| names | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses a concurrency model and a hard batch cap of 50 combinations, plus the per-domain return fields (status, registrar, expiry). It says nothing about partial-failure behavior, rate limits, auth, or what happens when the cap is exceeded.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded and dense with no filler, but the single sentence is visibly truncated ('an entire naming…'), leaving the description structurally incomplete.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter, no-annotation, no-output-schema tool, the description covers the batch limit and return shape but leaves the names/tlds contract and error semantics for an agent to infer. Adequate, with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It implies the names/tlds relationship by describing 'name/TLD combinations' and caps the total at 50, but never states that tlds is optional, what default TLD set applies, or whether the result is a cartesian product.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb (check availability), resource (domain names across multiple TLDs), and a bulk scope ('many', 'up to 50 combinations in a single call'). The bulk framing implicitly separates it from the singular netintel_domain_availability sibling, but no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The trailing clause ('so agents can scan an entire naming…') gestures at a bulk-scanning use case, but is truncated and never states when to prefer this over netintel_domain_availability or netintel_domain_vet, nor any precondition or exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_calendarA
Turn event fields into a valid RFC 5545 .ics calendar file — handles timed and all-day events, escaping, line folding, and a deterministic UID for idempotent re-import — so agents can publish events that import cleanly into Google, Apple…
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| title | Yes | ||
| all_day | No | ||
| ends_at | No | ||
| location | No | ||
| timezone | No | ||
| organizer | No | ||
| starts_at | Yes | ||
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does well: it discloses escaping, line folding, timed vs all-day handling, and a deterministic UID enabling idempotent re-import — a genuinely useful behavioral trait. It falls short of explaining the return shape (ICS text vs file/link), which matters for a no-output-schema tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence packs the format, capabilities, and benefit efficiently with no filler. The trailing ellipsis and mid-clause truncation ('Google, Apple…') slightly blunt the finish but the core statement is tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a nine-parameter tool with no annotations and no output schema, the description covers the conversion behavior well but leaves the parameter contract largely unexplained. An agent knows what it produces but not how to format most of the inputs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% across nine parameters, so the description must compensate — and it barely does. Only the all-day concept is indirectly echoed; nothing explains starts_at/ends_at formats, timezone handling, the 'url' field, or organizer/description semantics, leaving most inputs undocumented anywhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — 'Turn event fields into a valid RFC 5545 .ics calendar file' — which is unmistakable and clearly distinct from the extraction/classification siblings. The mention of timed/all-day handling and RFC 5545 formatting sharpens what the tool actually produces.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The trailing 'so agents can publish events that import cleanly into Google, Apple…' implies the use case (publishing events), but there is no explicit when-to-use vs an alternative, and no routing guidance relative to netintel_event_extract or netintel_event_classify. Usage is inferable but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_cert_transparencyB
Query crt.sh certificate transparency logs to enumerate all SSL certs ever issued for a domain. Returns discovered subdomains, issuers, and flags wildcard or suspicious certs.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| domain | Yes | ||
| include_subdomains | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It does disclose the return contents (subdomains, issuers, wildcard/suspicious flags), which is genuinely useful, but says nothing about crt.sh being a slow third-party service, rate limits, or truncated/paginated results — all real operational concerns for CT log queries.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler, with the data source and scope front-loaded and the return contents in the second sentence. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description correctly picks up the job of describing returns, and it does so briefly. However, for a three-parameter tool with zero schema documentation and no annotations, it omits parameter behavior and external-service caveats, leaving meaningful gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description never mentions any of the three parameters. 'Enumerate all SSL certs for a domain' loosely implies the domain parameter, but the meaning of 'limit' and especially 'include_subdomains' (which materially changes the result set) is left entirely undocumented in both description and schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Query), a named external source (crt.sh certificate transparency logs), and a precise scope (all SSL certs ever issued for a domain). This is clearly distinguishable from siblings like netintel_ssl_cert (reads one cert) or netintel_ssl_analyze (analyzes a live endpoint) without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no when-not-to-use, and no named alternative among the many SSL/DNS/domain siblings. The agent must infer that this tool is the subdomain-enumeration path rather than the certificate-inspection path, which is non-obvious given the crowded sibling set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_classifyA
Classify text into your own categories — zero-shot: supply 2–20 labels and Claude Haiku returns the best-matching category with confidence and per-label scores. Route, tag, triage, and detect intent or topic with your own taxonomy in one call.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | ||
| labels | Yes | ||
| multi_label | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose real behavior: zero-shot operation, the 2–20 label cardinality constraint, the underlying model, and the return shape (best-matching category with confidence and per-label scores) even though no output schema exists. It omits failure modes (what happens below 2 labels), latency/rate limits, and how behavior changes when multi_label is set.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences with the core mechanism front-loaded and no filler. The trailing use-case list earns its place by scoping the tool rather than padding it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter tool with no annotations and no output schema, the description supplies the essentials an agent needs: what it returns, the model, and the label constraint. The one meaningful hole is multi_label semantics and the related single-vs-multi output behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate and it only partly does: it adds the '2–20 labels' cardinality rule that is nowhere in the schema, and 'text' is self-evident. The 'multi_label' parameter is never explained, and the phrase 'returns the best-matching category' (singular) actively muddies what multi_label=true would produce.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (classify text) plus the mechanism (zero-shot with 2–20 caller-supplied labels, Claude Haiku). The repeated emphasis on 'your own categories'/'your own taxonomy' functionally separates it from fixed-taxonomy siblings like netintel_sentiment, netintel_content_moderate, and netintel_event_classify.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete use cases — 'Route, tag, triage, and detect intent or topic' — which tells an agent the situations this fits. It never names an alternative tool or states when not to use it (e.g., use sentiment when labels are fixed), so it stops short of explicit routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_cloud_fingerprintB
Detect CDN, WAF, hosting, DNS and email provider for a domain, plus TLS certificate issuer, wildcard coverage and SAN count, with confidence scores and an infrastructure security grade. Hosts that resolve but serve nothing on 80/443 return http_reachable:false and grade insufficient_data rather than a low grade.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It does disclose useful edge-case behavior (hosts resolving but serving nothing on 80/443 yield http_reachable:false and grade 'insufficient_data') and the presence of confidence scores, but says nothing about permissions, rate limits, or latency, leaving a meaningful gap for a network-probing tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, both load-bearing: the first front-loads the capability and output fields, the second captures a genuinely non-obvious edge case. No filler or repetition of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description does the heavy lifting by enumerating return fields and the insufficient_data edge case, which is enough to call and interpret the tool. The missing sibling disambiguation and input-format detail keep it from a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter ('domain') at 0% schema description coverage, so the description is the only source of meaning. It implies the input is a domain, but does not specify format (bare host vs. URL vs. scheme) or how subdomains are treated, adding little beyond the self-evident schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Detect') and enumerates the exact resources probed (CDN, WAF, hosting, DNS, email provider, TLS issuer, wildcard coverage, SAN count, security grade), so the agent knows precisely what comes back. It falls short of a 5 only because it never distinguishes itself from close siblings like netintel_tech_fingerprint or netintel_ssl_analyze.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to pick this tool over the overlapping netintel_tech_fingerprint, netintel_ssl_analyze, netintel_dns_lookup or netintel_cert_transparency siblings, and no prerequisites or exclusions stated. The single host-with-nothing-served note is a behavior, not a routing hint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_content_moderateB
Moderate text content using Claude Haiku — flags categories like harassment, hate, sexual content, violence, self-harm, and spam with per-category severity and an overall allow/flag/block recommendation, so agents can screen user-generated…
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose useful behavior: the model used (Claude Haiku) and the response shape (per-category severity plus an allow/flag/block recommendation). It says nothing about latency, cost/rate limits, input length limits, language coverage, or failure behavior for short/ambiguous text, which are material for an LLM-backed moderation call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence that front-loads the verb, the model, the categories, and the output verdict — minimal waste. It is truncated with an ellipsis, leaving the final clause incomplete, which is the only structural defect.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with no output schema and no annotations, the description helpfully sketches the return shape (category severities + recommendation) but omits input-format expectations and any operational limits. The truncated ending leaves the reader unsure whether more guidance was intended.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter ('text') with 0% schema description coverage, so the schema alone is not self-explanatory. The description implies the input is raw text to be screened, but adds no constraints such as supported languages, max length, or whether markup should be stripped.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Moderate text content') and enumerates the exact output categories (harassment, hate, sexual content, violence, self-harm, spam) plus the overall allow/flag/block verdict, which clearly separates it from siblings like netintel_sentiment or netintel_classify. It never names an alternative tool, so it does not fully earn a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The trailing clause 'so agents can screen user-generated…' implies the intended context (moderating UGC before display), which is genuine implied-usage guidance. However there are no explicit when-to-use/when-not conditions, no named alternatives, and the sentence is cut off mid-thought.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_convertB
Convert any physical measurement to another — length, mass, volume, temperature, area, speed, pressure, energy, time, data, and angle. Auto-detects the unit category, handles US/imperial ambiguity, and returns the exact converted value…
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | ||
| base | No | ||
| from | Yes | ||
| value | Yes | ||
| system | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does add real behavior: auto-detection of unit category and handling of US/imperial ambiguity. However it says nothing about error behavior for unsupported or mismatched units, precision/rounding, or what the `system` and `base` parameters change in behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and an efficient list of supported categories in a single sentence. The trailing ellipsis suggests the text is truncated, which is the only structural blemish.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter tool with zero schema descriptions, no annotations, and no output schema, the description is too thin. It omits any explanation of the non-obvious `base` and `system` parameters and gives no indication of return shape or failure modes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 5 parameters, and the description never explains `value`, `from`, `to`, `base`, or `system`. The auto-detect claim loosely gestures at `system`/`base` but gives no syntax, allowed values, or defaults, so the description does not compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Convert any physical measurement to another') and enumerates the supported categories, which separates it from the money-oriented siblings like netintel_currency_exchange and netintel_crypto_price. An agent can tell what this tool does without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the category list ('length, mass, volume, temperature...'), which lets an agent infer the domain but gives no explicit when-to-use or when-not-to-use guidance. No alternative tool (e.g. currency conversion) is named or excluded.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_cron_parserA
Parse a cron expression, explain the schedule in plain English, and compute the next 5 run times.
| Name | Required | Description | Default |
|---|---|---|---|
| expression | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It does disclose the return content (explanation + 5 run times), which is genuinely useful behavior, but it says nothing about timezone basis for the computed runs, how invalid expressions are handled, or accepted cron dialects — the two traits an agent most needs to know before trusting the output.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence naming all three outputs with zero filler. Nothing to trim and nothing buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter utility with no output schema, the description adequately frames what comes back, but the omission of timezone semantics and invalid-input behavior leaves real gaps for a tool whose entire value is time computation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One required parameter with 0% schema description coverage, so the description must compensate. 'Parse a cron expression' does identify what the parameter is, but gives no format guidance (5-field vs 6-field, named aliases like @daily, MON-SUN) and no example.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (parse a cron expression) plus two concrete derived outputs: a plain-English explanation and the next 5 run times. No sibling tool in the list does cron work, so it is trivially distinguishable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the purpose — an agent knows to call it when it has a cron expression — but the description offers no explicit when-to-use trigger, no precondition (e.g. expression must be valid/standard format), and no note about re-interpreting results via a sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_crypto_marketA
Structured live crypto market data for ~50 top assets in one JSON call: spot price and 24h open/high/low/volume/change (Coinbase Exchange) plus market cap, rank and circulating/total/max supply (CoinGecko). Quote in USD, EUR or GBP. 60s…
| Name | Required | Description | Default |
|---|---|---|---|
| vs | No | ||
| symbol | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It usefully discloses data sources (Coinbase Exchange, CoinGecko), quote currencies, and a truncated '60s…' hint about refresh/cache timing, but omits authentication needs, rate limits, error behavior, and the meaning of the '60s' interval. Partial behavioral context only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense sentence that front-loads the core purpose and data fields efficiently. However, the trailing '60s…' is truncated and incomplete, which slightly hurts structure and leaves a dangling detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description does a good job listing the returned fields and their sources. It remains incomplete regarding parameter formats, usage routing, and the truncated '60s…' rate/cache behavior, but covers the essential return value landscape better than most.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains the 'vs' parameter by listing USD, EUR, and GBP, and implies the 'symbol' parameter through '~50 top assets', but does not specify symbol format (e.g., BTC vs bitcoin) or whether 'vs' has a default. It adds partial meaning beyond the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (live crypto market data for ~50 top assets) and explicitly lists the combined data fields (spot price, 24h OHLCV, change, market cap, rank, supply) and sources (Coinbase Exchange, CoinGecko). This distinguishes it from sibling tools like netintel_crypto_price or netintel_crypto_ohlc that provide narrower single-source data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit when-to-use guidance, no when-not-to-use conditions, and does not name alternatives such as netintel_crypto_price or netintel_market_snapshot. Usage is only implied by the data content.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_crypto_ohlcB
Historical OHLC candles for any major crypto asset — hourly or daily, up to 300 candles, with period stats (change %, high, low) — from Coinbase Exchange with Kraken fallback, no API key. Also a price-at-date mode: pass date=YYYY-MM-DD for…
| Name | Required | Description | Default |
|---|---|---|---|
| vs | No | ||
| date | No | ||
| days | No | ||
| symbol | No | ||
| interval | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations the description carries the full burden, and it does disclose meaningful traits: data provenance (Coinbase Exchange with Kraken fallback), no API key required, and a hard cap of 300 candles. It says nothing about rate limits, failure behavior when both sources miss, or the shape of the returned data, leaving real gaps for a data-fetch tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense and front-loaded — the primary purpose and its limits come first, with the alternate mode last. It is appropriately short for the information conveyed, though the final clause trails off ('for…'), leaving an unfinished thought that slightly hurts the structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no annotations, so the description is the only source of truth for a 5-param tool with 0% schema coverage. It covers purpose, sources, limits, and two modes but is truncated mid-sentence and never resolves the remaining parameters, so an agent still cannot call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 5 params, so the description must compensate. It supplies the date format (YYYY-MM-DD), the interval values (hourly/daily), the candle ceiling, and the asset scope for symbol, but leaves 'vs' (quote currency) and 'days' completely unexplained. Partial compensation, not full.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: 'Historical OHLC candles for any major crypto asset,' with scope qualifiers (hourly or daily, up to 300 candles) and a named second mode. It is clearly distinguishable from spot-price tools like netintel_crypto_price in substance, but it never names a sibling to route against, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives operational guidance for the primary mode (interval granularity, candle cap) and shows the alternate invocation ('pass date=YYYY-MM-DD'), which is implied when-to-use. However it never says when to prefer this over netintel_crypto_price / netintel_crypto_market, nor any exclusions or prerequisites, so guidance remains implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_crypto_priceA
Crypto prices for up to 25 coins in one call — live cryptocurrency spot prices for BTC, ETH, SOL and more in USD, EUR, or GBP from Coinbase with Kraken and CoinGecko fallback; no API key, one flat price. Per asset: price, 24h change when the source provides it, source, cache age.
| Name | Required | Description | Default |
|---|---|---|---|
| vs | No | ||
| symbols | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose meaningful behavior: Coinbase primary with Kraken and CoinGecko fallback, no API key required, cache age per asset, and that 24h change is only present 'when the source provides it'. This is solid operational context, though rate limits and error behavior are absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose is front-loaded in the opening clause, followed by source, pricing, and return-field details in a compact em-dash structure. Mostly dense with little waste, though the run-on length slightly hurts scannability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter read tool with no annotations and no output schema, the description adequately covers return fields, data sources, fallback, and caching. It still omits parameter formats, defaults for 'vs', and rate/error behavior, so it is adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for both parameters, so the description must compensate and partially does: it maps the accepted quote currencies to 'vs' (USD, EUR, GBP) and illustrates 'symbols' with BTC, ETH, SOL plus a 25-coin cap. It never specifies the actual input format (comma-separated string? array?), leaving a real gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource — live cryptocurrency spot prices — with concrete scope (up to 25 coins per call, BTC/ETH/SOL examples, USD/EUR/GBP). It clearly implies batch spot-price retrieval as distinct from single-asset or OHLC tools, though it never names a sibling such as netintel_crypto_ohlc or netintel_crypto_market explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: 'up to 25 coins in one call' and 'no API key, one flat price' signal a fast batch spot-price lookup with no auth friction. There is no explicit when-to-use, when-not-to-use, or named alternative (e.g. crypto_ohlc for historical candles), so the agent must infer the routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_currency_exchangeC
Convert between 32 currencies with real-time or historical rates. Pass a date (YYYY-MM-DD) for historical lookup.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | ||
| date | No | ||
| from | Yes | ||
| amount | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it discloses almost nothing: not whether the rate is mid-market or bid/ask, not the base/quote convention, not what happens on unsupported currency codes or future dates, and not any auth or rate-limit behavior. 'Real-time or historical' is the only real behavioral signal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the core capability and followed by the one actionable parameter hint. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A four-parameter tool with no annotations and no output schema needs the description to explain inputs, defaults, and return shape. The description omits amount handling, currency-code format, error behavior, and — critically — the boundary against the batch and history siblings, leaving the agent to guess which of the three to call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it only partially does: it gives the date format (YYYY-MM-DD) but says nothing about 'amount' (optionality, default of 1?), or whether 'from'/'to' expect ISO 4217 codes, symbols, or names. Two of four parameters are effectively undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (convert) and resource (currencies) with a scope detail (32 currencies, real-time or historical). It does not, however, distinguish itself from the sibling tools netintel_currency_exchange_batch and netintel_currency_exchange_history, and the historical-lookup sentence actively blurs the line with the latter.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage cue is 'pass a date for historical lookup,' which is a parameter instruction rather than guidance on when to choose this tool over currency_exchange_history or currency_exchange_batch. No exclusions, no prerequisites, no statement of when the real-time path is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_currency_exchange_batchA
Convert one base currency to up to 30 targets in a single call — fiat (~200 currencies incl. SAR, AED, COP) and major crypto — ECB reference rates + Coinbase spot, no API key. Per target: rate, converted amount, rate date, source. The…
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | ||
| from | Yes | ||
| amount | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present the description carries the full burden, and it does disclose meaningful behavioral facts: the two rate sources, no API key requirement, and the per-target response fields (rate, converted amount, rate date, source). It omits error behavior for unknown/unsupported currency codes and any rate limits or caching, and the text is visibly truncated mid-sentence ('The…').
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense, front-loaded, and largely waste-free—the conversion scope leads and sources follow. The trailing truncated fragment ('The…') is a structural defect that leaves the sentence unfinished.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description correctly handles returns by enumerating rate, converted amount, rate date, and source. What remains missing is the 'to' list encoding and the 'amount' default, both of which an agent needs to build a valid call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It conveys that 'from' is the single base and 'to' is a set of up to 30 targets, but it never states the list format for 'to' (comma-separated? repeated codes?) despite the schema typing it as a bare string, nor whether 'amount' defaults to 1 when omitted. Partial compensation only.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (convert one base currency to up to 30 targets), gives the scope bound, names the data sources (ECB reference rates + Coinbase spot), and says no API key is needed. An agent can distinguish this from the singular netintel_currency_exchange sibling purely from the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'one base currency to up to 30 targets in a single call' gives a clear usage context: pick this when many conversions share a base. It does not explicitly name netintel_currency_exchange or netintel_currency_exchange_history as the alternatives, nor state when not to use the batch form.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_currency_exchange_historyB
Daily historical exchange-rate series for any currency pair — fiat via ECB reference data, crypto via Coinbase daily closes — with min/max/average/change stats, no API key. Pass start/end dates or a days lookback (default 30). The history…
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | ||
| end | No | ||
| days | No | ||
| from | Yes | ||
| start | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does add real context: data sources (ECB, Coinbase), 'no API key' auth, and the min/max/average/change stats returned. It stops short of rate limits, error behavior for invalid pairs, or return structure, leaving meaningful behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense and front-loaded: purpose, sources, stats, and auth come before the date-mode guidance, with no filler. The trailing ellipsis suggests it is truncated, but the visible text is efficiently structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-param tool with no annotations, no output schema, and 0% schema coverage, the description covers provenance, stats, and date modes but omits the currency-pair format and any return-shape detail. Adequate but not complete for the structured-data void it must fill.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 5 params, so the description must compensate. It clarifies start/end/days (with a default of 30) and implies from/to are the currency pair, but it never states the required currency-code format, leaving the two required params under-specified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Daily historical exchange-rate series for any currency pair') and even names the data provenance (ECB fiat, Coinbase crypto) and computed stats. It is clearly distinguishable from the spot-rate sibling netintel_currency_exchange by the 'history' framing, though it never names that sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'historical... series' versus the live-rate siblings, and it explains the date-selection modes ('Pass start/end dates or a days lookback (default 30)'). However there is no explicit when-to-use/when-not statement and no named alternative, so the agent must infer the boundary with netintel_currency_exchange.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_dns_lookupB
DNS lookup for any domain — resolve A, AAAA, MX, TXT, NS, CNAME, SOA and PTR records in one call. Parses SPF/DMARC from TXT plus DKIM, and cross-checks A records across Google, Cloudflare and Quad9 resolvers for propagation consistency.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose real behavior: eight record types in a single call, SPF/DMARC/DKIM parsing, and A-record cross-checking against three named resolvers. It omits rate limits, failure modes, and whether the extra parsing always runs, so the disclosure is partial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core verb and resource, with the enumeration and enrichment features following. Dense but essentially waste-free; only the long record-type list and acronym stack slow the read slightly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with no annotations and no output schema, the description adequately explains what it returns conceptually, but it leaves the input format, sibling routing, and any return-shape expectations unaddressed. Adequate, not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and there is one undocumented parameter. 'For any domain' loosely signals the input shape, but the description never states whether a bare domain, subdomain, or URL is accepted, and listing PTR records is ambiguous because reverse lookups normally require an IP, not a domain.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('DNS lookup for any domain') and enumerates the exact record types resolved (A, AAAA, MX, TXT, NS, CNAME, SOA, PTR), so the agent knows precisely what the call covers. It stops short of distinguishing itself from close siblings like netintel_dns_propagation or netintel_dnssec_validate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the many adjacent siblings, and no exclusions. The claimed cross-resolver propagation check actively overlaps with netintel_dns_propagation without clarifying the division of labor, which could misroute an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_dns_propagationB
Check DNS propagation across 10 global resolvers simultaneously. Returns what each resolver sees, propagation percentage, and flags divergent resolvers.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | ||
| record_type | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and there is no output schema, so the description carries the full burden. It usefully discloses the return shape (per-resolver results, propagation percentage, divergence flags) and implies a read-only multi-resolver fan-out, but says nothing about latency, timeouts, rate limits, or what a 'divergent' result means operationally.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the action and scope, followed by the return payload. No filler, no restatement of the name, every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description does the right thing by summarizing the response, which largely covers the return-value gap. But leaving record_type undefined and never contrasting with netintel_dns_lookup means an agent still has unanswered questions before calling it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for two parameters, so the description must compensate and does not. 'Domain' is self-evident, but record_type is never mentioned in the description and no allowed values (A, AAAA, MX, TXT, etc.) are given anywhere, leaving a required dimension of the call undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Check DNS propagation') and adds concrete scope ('across 10 global resolvers simultaneously'), which is more informative than the bare name. However, it never distinguishes itself from the very close sibling netintel_dns_lookup, so an agent cannot tell from the description alone which of the two to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case (propagation verification after a DNS change) but gives no explicit when-to-use rule, no when-not-to-use, and no mention of the adjacent alternative netintel_dns_lookup or netintel_dnssec_validate. Routing between the DNS family of siblings is left entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_dnssec_validateB
Validate DNSSEC configuration — checks DS records, DNSKEY, RRSIG signatures, and NSEC/NSEC3. Returns full chain-of-trust assessment.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does not disclose whether the tool is read-only, requires network access, may be rate limited, has latency implications from multi-record resolution, or what happens on unsigned domains. The mention of 'chain-of-trust assessment' hints at scope but provides no operational behavior detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the purpose and followed by the specific checks performed. No filler. Loses a point because it does not address the required input at all, leaving the agent without essential framing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A validation tool with no annotations, no output schema, and no parameter documentation. The description covers WHAT is checked but not how results are returned, the meaning of a failed validation, or acceptable inputs. For a tool whose output is a 'chain-of-trust assessment', the absence of any return-format guidance is a meaningful gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One parameter (domain) with 0% schema description coverage and no description text explaining it. The schema field has no description, so the definition must compensate but does not mention the parameter's expected format, whether it accepts subdomains, or whether it accepts a list. A baseline 4 does not apply because the single param is entirely undocumented and the description ignores it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Validate) and resource (DNSSEC configuration), then enumerates exactly what is checked (DS records, DNSKEY, RRSIG, NSEC/NSEC3). This distinguishes it clearly from sibling DNS tools like netintel_dns_lookup, netintel_dns_propagation, and netintel_domain_vet.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage through the stated purpose (validating DNSSEC specifically), which is enough to distinguish it from the plain DNS lookup sibling. However, it never states when-not to use it, no prerequisites (e.g., whether the domain must be registered or have a parent zone), and does not name alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_domainB
Composite 0-100 trust/risk score for a domain in one call — blends domain age, SSL/TLS, DNS health, email auth (SPF/DKIM/DMARC), IP reputation, and certificate transparency into a single "safe to do business with this domain?" verdict with…
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose meaningful behavior: the output is an aggregated 0-100 score framed as a 'safe to do business with this domain?' verdict, and it names the underlying signals. However it says nothing about cost/latency (composite calls are usually heavier than single-signal calls), caching, failure behavior when a component signal is unavailable, or how the score should be interpreted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence that leads with the deliverable ('Composite 0-100 trust/risk score') and then justifies it with the signal list; no filler. The text is visibly truncated mid-clause ('verdict with…'), which prevents a higher mark.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no annotations, so the description must cover the interface — it names what goes in at a high level and what the headline result is, but omits the composition details of the returned score (sub-scores, thresholds, verdict bands) and any guidance for interpreting a mid-range score. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% — the single 'domain' parameter has no description — and the visible description says nothing about the expected format (bare hostname vs. URL, www/subdomain handling, IDN/punycode). For a low-coverage schema the description is expected to compensate, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: a composite 0-100 trust/risk score for a domain, and enumerates the signal sources (domain age, SSL/TLS, DNS health, email auth, IP reputation, cert transparency). The phrase 'in one call' distinguishes it implicitly from the atomic siblings (netintel_domain_age, netintel_ssl_analyze, netintel_email_auth), but it never names or contrasts the competing aggregate siblings (netintel_domain_vet, netintel_domain_report, netintel_domain_appraise), so differentiation is inferential rather than explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'In one call' hints that this replaces multiple single-signal lookups, which implies when to reach for it, but there is no explicit when-to-use/when-not statement and no routing between it and the many other domain-rating siblings. Usage is implied, not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_domain_ageC
Determine a domain's age from registration data and archival history — returns creation date, age in years, first Wayback Machine capture, total archived snapshots, and a maturity signal so agents can assess domain trustworthiness and…
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full behavioral burden. It does disclose concrete output semantics (creation date, age in years, first Wayback capture, snapshot count, maturity signal), which is useful given there is no output schema, but it says nothing about missing/unregistered domains, error behavior, rate limits, or data sources.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is front-loaded with the core action, which is good, but the long em-dash enumeration of return values is verbose and the text is visibly truncated mid-sentence ('and…'), leaving the structure incomplete rather than tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Because there is no output schema, enumerating return fields is genuinely valuable and partially completes the picture. However, the truncation, missing parameter format, and total absence of usage routing or failure-mode behavior leave it short of what a 1-param, annotation-free, output-schema-less tool needs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single 'domain' parameter has 0% schema description coverage, and the description adds no meaning about expected format (bare domain vs URL, scheme handling, subdomain behavior). With one undocumented required parameter, the description should compensate but does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource ('Determine a domain's age from registration data and archival history') and enumerates the exact outputs. It is clear what the tool does, but it never differentiates itself from heavily overlapping siblings such as netintel_whois_lookup, netintel_wayback_lookup, or netintel_domain_vet.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is the trailing rationale 'so agents can assess domain trustworthiness', which implies a purpose but names no conditions, prerequisites, or alternatives. With dozens of near-duplicate domain tools among the siblings, the absence of any explicit when-to-use routing is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_domain_appraiseC
Estimate the market value tier of a domain name using transparent heuristics — length, TLD premium, dictionary-word presence, pronounceability, keyword value, and numeric/hyphen penalties — returns a value tier and 0-100 quality score so…
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses that valuation uses transparent heuristics and returns a value tier plus a 0-100 quality score, which is useful. However, it does not state auth requirements, rate limits, side effects, or whether the operation is purely read-only, and the truncated ending leaves the disclosure incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The content is front-loaded with the main verb and resource, and it avoids unnecessary padding. However, the sentence is truncated with a dangling 'so…', making it structurally incomplete and reducing confidence in the intended full message.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with no output schema and no annotations, the description should be self-sufficient. It explains the heuristic basis and return shape in part, but the truncation, lack of parameter format detail, and absence of sibling guidance leave meaningful gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single 'domain' parameter is undocumented in the schema. The description mentions 'domain name' but adds no format guidance, examples, or constraints such as whether it accepts bare domains, URLs, or subdomains. It does not compensate for the missing schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource: 'Estimate the market value tier of a domain name.' It also lists the heuristics used and the outputs, making the purpose clear without opening the schema. It does not explicitly differentiate itself from sibling tools like netintel_tld_price or netintel_domain_vet, but the valuation focus is distinct enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance, no mention of alternatives, and no conditions or exclusions. The description implies a domain valuation context but does not help an agent decide between this tool and related siblings such as netintel_domain_age, netintel_domain_report, or netintel_tld_price.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_domain_availabilityB
Check if a domain is available for registration across 10 TLDs simultaneously using RDAP and DNS. Returns availability status, registrar, and expiry for each TLD.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden, and it does disclose useful behavior: the lookup method (RDAP and DNS) and the returned fields (availability status, registrar, expiry per TLD). It is silent, however, on rate limits, partial-failure behavior across the 10 TLDs, and whether results are live or cached.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the capability front-loaded and the return payload second; nothing is wasted. It is efficient, though it spends no words on the input ambiguity that most needs resolving.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description does useful work by enumerating the return fields. The remaining hole is the input contract and error/partial-result behavior for a multi-TLD sweep, which an agent cannot infer from the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single 'domain' parameter, so the description must compensate and does not. It never clarifies the expected input format — a registrable name only versus a full domain with TLD — which is the single most consequential ambiguity given the tool iterates over 10 TLDs itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb+resource ('Check if a domain is available for registration') and adds distinguishing scope ('across 10 TLDs simultaneously using RDAP and DNS'). An agent can tell this apart from netintel_domain_vet, netintel_whois_lookup, and netintel_domain_age by outcome, though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no statement of prerequisites, and no routing to alternatives such as netintel_domain_vet (reputation) or netintel_tld_price (pricing) for related questions. Usage is only implied by the verb 'check ... for registration'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_domain_due_diligenceB
One call combines domain availability, heuristic value appraisal, and TLD pricing into a single acquisition brief — tells an agent whether a name is available, what it's worth, and what it costs across TLDs, concurrently and with graceful…
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses execution behavior — the three lookups run 'concurrently' and it handles failures 'with graceful…' (presumably degradation/fallback), which is meaningful for a fan-out aggregator. However, it omits auth requirements, rate limits, latency expectations, and how partial results are surfaced, and the text is truncated mid-disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence with the value proposition front-loaded and zero filler. It is slightly penalized because the text appears truncated ('with graceful…'), leaving an unfinished clause rather than a complete thought.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a multi-source aggregator with no output schema and no annotations, the description should say more about what the 'acquisition brief' contains and how the heuristic appraisal and partial-failure handling work. It conveys the concept adequately but leaves the agent guessing at return shape and failure semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description says nothing about the single 'domain' parameter — no expected format (bare domain vs URL vs with TLD), normalization behavior, or validation. The name is largely self-evident, but the description adds no meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete composite action: combining domain availability, heuristic value appraisal, and TLD pricing into a single acquisition brief. This implicitly routes the agent away from the single-purpose siblings (netintel_domain_availability, netintel_domain_appraise, netintel_tld_price) toward the all-in-one call. It is clear but does not name those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: 'One call combines...' suggests this is preferred when the agent wants availability, value, and pricing together, versus making three separate calls. There is no explicit when-to-use/when-not guidance and no mention of the tradeoff (extra latency/cost of fan-out) against the individual tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_domain_reportB
One call returns a complete intelligence profile for a domain — WHOIS registration, DNS records, SSL certificate, detected tech stack, and blacklist status — aggregated into a single risk-scored report so agents can fully vet a domain…
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It does disclose the key trait that everything is aggregated into 'one call' versus assembling sub-tools, and that output is risk-scored, but it says nothing about read-only safety, latency/cost of the multi-source aggregation, failure modes when a source is unavailable, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The content is a single front-loaded sentence leading with the strongest hook ('One call returns...'), with no filler. However, the trailing ellipsis indicates the text is truncated, so the description is cut off rather than deliberately tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no annotations, so the description is the only source of return-value and behavior information. It lists the report's sections, which is genuinely useful, but the truncation ('…') and the absence of any guidance on the domain input format or comparison to sibling report tools leave it only marginally complete for a complex aggregation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single 'domain' parameter has no description in the schema. The description only restates 'for a domain' and adds no format detail (protocol prefix, subdomain handling, IDN), so it does not compensate for the coverage gap. Only the trivial single-param nature keeps this from a 1.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('returns a complete intelligence profile for a domain') and enumerates the aggregated contents (WHOIS, DNS, SSL, tech stack, blacklist) plus the output form (risk-scored report). It fails to distinguish itself from heavily overlapping siblings like netintel_domain_report_full, netintel_domain_vet, and netintel_domain_due_diligence, so it lands at 4 rather than 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The clause 'so agents can fully vet a domain' implies the intended use case (comprehensive one-shot vetting), but there is no explicit when-to-use, when-not-to-use, or named alternative despite many sibling tools covering the same sub-tasks. Usage is implied rather than directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_domain_report_fullB
One premium call returns a complete six-part domain profile — DNS records, SSL certificate, WHOIS registration, cloud fingerprint, technology stack, and security headers — each section run concurrently with graceful partial-failure…
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral burden. It does usefully disclose that sections run concurrently and degrade gracefully on partial failure, which tells the agent to expect partial results rather than a hard error. It says nothing about auth requirements, latency, rate limits, or what the 'premium' label actually costs in quota, which matters for a call that fans out to six sub-services.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that leads with the core value proposition and then enumerates the sections; no filler. It is cut off with a trailing ellipsis, and 'premium' is unquantified marketing language, but the structure is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-param aggregation tool with no annotations and no output schema, the description covers scope and partial-failure behavior but omits cost/quota implications of the 'premium' framing, parameter format expectations, and any hint of the response shape or timing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required 'domain' parameter with 0% schema description coverage, so the schema adds nothing. The description names the input implicitly ('domain profile') but never states accepted formats — root domain only, subdomains, or full URLs — so format ambiguity remains.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource ('returns a complete six-part domain profile') and enumerates the six sections, so the agent knows exactly what it aggregates. However, it never distinguishes itself from the very similar siblings netintel_domain_report and netintel_domain_due_diligence, leaving the 'full' qualifier unexplained.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'One premium call' implies the tool consolidates the six individual lookups (dns_lookup, ssl_analyze, whois_lookup, cloud_fingerprint, tech_fingerprint, security_headers), which is implied guidance for when to use it. But there is no explicit when-to-use, when-not-to-use, or any named alternative such as the lighter netintel_domain_report.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_domain_vetB
Vet and pick a domain in one call — give candidate names, get back a ranked verdict on which to use and whether it's safe to build on: availability across TLDs, name quality, typosquat exposure, and a factual brand-collision check against…
| Name | Required | Description | Default |
|---|---|---|---|
| tlds | No | ||
| use_case | No | ||
| candidates | Yes | ||
| deep_check_top_n | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose the shape of the result ('ranked verdict on which to use and whether it's safe to build on') and that the brand check is 'factual', but it says nothing about cost, latency, rate limits, or whether the check is purely read-only. Adequate for a read-style vetting call, but incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with a clear verb and efficient single sentence, but the text is visibly truncated ('...check against…'), so the definition is cut off rather than tight. Conciseness is undermined by incompleteness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, no annotations, and 0% parameter coverage, yet the description largely conveys what comes back (ranked verdict, availability, quality, typosquat, brand collision). It leaves parameter semantics and explicit tool selection unaddressed, which is a real gap for a 4-param tool in a crowded domain-tool family.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% across four parameters. The description only implies 'candidates' and 'tlds'; it gives no meaning for 'use_case' or 'deep_check_top_n', which are the parameters most likely to change behavior (depth of analysis). The description does not compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States specific verbs (vet, pick) and resource (domain), and enumerates the outputs: availability across TLDs, name quality, typosquat exposure, brand-collision check. This distinguishes it from narrower siblings like netintel_domain_availability or netintel_typosquat, though it doesn't explicitly name those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'in one call' implies the tool consolidates several checks that could otherwise be run separately, and 'give candidate names' implies the pre-registration naming stage. However, there is no explicit when-to-use vs when-to-use-something-else guidance against the many competing domain siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_email_authB
Validate SPF, DKIM, and DMARC records for a domain. Probes multiple DKIM selectors and returns an email security grade A-F.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does add real behavioral detail beyond the schema: it probes multiple DKIM selectors internally and returns a normalized A-F grade, which tells the agent the output shape. It does not state read-only/non-destructive nature, cost, or rate limits, leaving gaps for an unannotated tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, zero waste, and the core action is front-loaded ahead of the secondary detail about selector probing and the grade output.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter validation tool with no output schema, the description covers what it inspects and roughly what comes back (A-F grade). Missing sibling disambiguation and parameter format details keep it from being fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single "domain" parameter has no schema description. The description's phrase "for a domain" implies the parameter's meaning adequately, but adds no syntax, format, or example (e.g., whether a URL or bare hostname is accepted), so it only partly compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ("Validate") with concrete resources (SPF, DKIM, DMARC records) and names the input unit (a domain). It's immediately clear what the tool does, though it offers no differentiation from siblings like netintel_email_intel, netintel_email_report, or netintel_email_verify.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives. In a toolset with three other email-related tools plus netintel_dns_lookup and netintel_dnssec_validate, the agent is left to guess which one to pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_email_intelB
Validate an email address — check deliverability, detect disposable domains, identify role-based addresses, verify MX records.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose what the tool actually does under the hood (deliverability probing, disposable-domain detection, role-account detection, MX verification), which is useful behavior context, but says nothing about whether it performs an SMTP handshake, how authoritative deliverability results are, or any rate/permission constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the verb first and the capability list after; every clause adds information and nothing is repeated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one parameter, no annotations, and no output schema, the description covers the surface scope of the result set but omits tool differentiation and any hint of what the response contains. Minimum viable, not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'email' parameter. The description implicitly conveys the expected input type, but adds no format, normalization, or multi-address semantics beyond what the parameter name already suggests.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Validate an email address') and enumerates the concrete checks performed (deliverability, disposable domains, role-based addresses, MX records). However, it never distinguishes itself from the very similar siblings netintel_email_verify, netintel_email_auth, and netintel_email_report, leaving an agent to guess which email tool to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no named alternative. With three near-identical email siblings in the list, the absence of any routing guidance is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_email_reportB
One call combines domain email authentication (SPF/DKIM/DMARC), email-address intelligence (deliverability, disposable/role detection), and an optional password breach check into a single email-trust report — each section run concurrently…
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | |||
| password | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden. It adds one genuine behavioral detail — the sections 'run concurrently' — and flags the password check as optional, but says nothing about auth/permission needs, rate limits, cost, or the privacy implications of submitting a password to a breach service, which is a material concern for this kind of tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that packs the three capabilities and the concurrency detail with no filler. It is efficient, though the trailing ellipsis suggests the provided text is truncated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a composite tool with no annotations, no output schema, and 0% parameter description coverage, the description covers the 'what' well but leaves the agent without output structure, section keys, failure modes, or password-handling caveats. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It does clarify that the password input drives the 'optional password breach check', implying it is not required, but it says nothing about the email parameter's format (single address vs. list) or validation rules.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete verb and resource — combining SPF/DKIM/DMARC authentication, email-address intelligence, and a breach check into a single 'email-trust report'. It implicitly distinguishes itself from the constituent siblings (netintel_email_auth, netintel_email_intel, netintel_breach_check) by presenting itself as the aggregate, though it never names those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'One call combines...' implies the tool is for when you want all three checks at once rather than calling them individually, which is useful routing context. However, it never states when to prefer this aggregate over the three separate tools, nor any exclusions or prerequisites for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_email_verifyA
Validate an email address — email verification before you send: syntax + MX + disposable/role/free-provider detection in one call, boolean-first (deliverable, safe_to_send) with a machine-readable reason. DNS-level check only, no SMTP mailbox probe. For a scored trust report instead of a yes/no gate, see netintel_email_intel.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does most of it: it discloses the return shape (boolean-first deliverable/safe_to_send plus a machine-readable reason) and, critically, the scope limit 'DNS-level check only, no SMTP mailbox probe', which prevents the agent from over-trusting a positive result. It stops short of stating auth requirements or rate limits, so it is strong but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense clauses with zero filler, the capability summary front-loaded and the sibling routing at the end. Every element (checks performed, output shape, scope limit, alternative) earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no annotations exist, so the description is the only source, and it covers the important ground: what is checked, the boolean-first output keys, and the DNS-only limitation. It could go further by naming the possible 'reason' values, which would let the agent interpret a negative result, so it is complete but not fully so.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for the single 'email' parameter, but the parameter is self-evident and the description supplies the relevant meaning: the input is an email address to be validated, and what is validated about it is spelled out (syntax, MX, provider classification). This compensates adequately for the undocumented schema, though it adds no format constraints or examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Starts with a specific verb+resource ('Validate an email address') and immediately enumerates what is checked: syntax, MX, disposable/role/free-provider detection. It also names the sibling netintel_email_intel and the axis that separates them (yes/no gate vs. scored trust report), so the agent can disambiguate without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'email verification before you send' gives the operative scenario, and the final sentence explicitly routes the agent elsewhere ('For a scored trust report instead of a yes/no gate, see netintel_email_intel') with the deciding condition. Both when-to-use and the alternative are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_embeddingsB
Multilingual text embeddings (384-dim) served in-house, no OpenAI dependency, no API key. NetIntel's cheapest embeddings at $0.001/call, batches up to 256 texts. Supports query/passage input types for retrieval (e5). Pairs with /text/chunk…
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes | ||
| input_type | No | ||
| encoding_format | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses dimensionality (384), in-house hosting, no API key requirement, cost ($0.001/call), and a batch limit of 256 texts. It omits return format and error behavior, but the disclosed operational traits are substantial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the most decision-relevant facts (what it is, dimension, cost, batching) in compact sentences. The trailing truncated fragment 'Pairs with /text/chunk…' is sloppy but minor.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter tool with no annotations, no output schema, and 0% schema coverage, the description covers behavior and cost well but leaves encoding_format undocumented and does not reconcile the 256-text batch claim with the string-typed input. Enough to invoke, not enough to invoke confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 3 parameters, so the description must compensate. It partially does by explaining input_type values (query/passage for e5 retrieval), but encoding_format is never mentioned and the required 'input' is left undefined. It also claims batching up to 256 texts while the schema types input as a single string, leaving the batch mechanism unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and key attributes: multilingual 384-dim text embeddings served in-house. The 'no OpenAI dependency, no API key' framing differentiates it from netintel_openai, though it never explicitly contrasts with the similarly named netintel_v1_embeddings sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: query/passage input types for retrieval (e5) and 'pairs with /text/chunk' suggest a RAG/chunking workflow. There is no explicit when-to-use statement or stated alternative for choosing between this and netintel_v1_embeddings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_entity_extractA
Extract named entities from text using Claude Haiku — people, organizations, locations, dates, emails, URLs, money amounts, and products — returned as structured typed arrays so agents can pull structured signals out of unstructured text…
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | ||
| types | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose the underlying model (Claude Haiku) and the return shape ('structured typed arrays'), which is useful, but says nothing about input size limits, latency/cost, failure modes, or whether extraction is deterministic.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence that leads with the verb and resource, then details the entity types. The closing clause 'so agents can pull structured signals out of unstructured text' restates the obvious, and the trailing ellipsis suggests truncation rather than deliberate concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and 0% schema coverage, the description is the only documentation. It covers purpose, model, and rough return shape, but leaves input limits, the semantics of the 'types' filter when omitted, and output record fields unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It effectively documents the valid values for the 'types' filter by listing the entity categories, which the schema leaves as an unconstrained string array with no enum. It adds nothing about the required 'text' parameter's constraints (length, encoding).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Extract) and resource (named entities from text) and enumerates the supported entity classes (people, organizations, locations, dates, emails, URLs, money, products). That enumeration distinguishes it from sibling extractors such as netintel_extract_contact, netintel_extract_invoice, and netintel_event_extract, which are domain-specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'pull structured signals out of unstructured text' implies the general use case, but there is no explicit when-to-use, when-not-to-use, or routing to the many sibling extractors that overlap (contact, invoice, event, table). With ~100 siblings, the absence of any alternative-routing guidance is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_event_classifyB
Cheap, fast "is this a dateable event?" filter for social and web text — one tiny Haiku call returns is_event, confidence, and a one-line reason, so agents can screen every post for free-ish and only pay for full extraction on the ones…
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | ||
| timezone | No | ||
| posted_at | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full burden and does add real value beyond structured fields: it discloses the cost profile ('cheap', 'free-ish' screening), the underlying model ('one tiny Haiku call'), latency ('fast'), and the exact return contract (is_event, confidence, one-line reason). It stops short of describing failure/ambiguity handling or any rate limit, but this is well above what the schema offers.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The value proposition and cost rationale are front-loaded, which is good structure, but the single run-on sentence ends in an ellipsis with the thought unfinished — a defect rather than an economy. Content that remains is dense and earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description correctly enumerates the returned fields (is_event, confidence, reason), which is a genuine asset. However, it leaves two of three inputs unexplained and is truncated, so an agent cannot fully reconstruct the calling contract from the description plus schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across three parameters, so the description must compensate and does not. It never mentions 'timezone' or 'posted_at', both of which are load-bearing for deciding whether text describes a dateable future event, and the truncated sentence leaves the input contract undefined.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb+resource — a binary 'is this a dateable event?' classifier over social and web text — and implicitly positions itself against full extraction ('only pay for full extraction on the ones…'), which maps onto the sibling netintel_event_extract. It is clear, though the distinguishing sentence is cut off mid-thought.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The workflow is implied rather than stated: screen every post here, then escalate to full event extraction only for positives. No explicit when-not-to-use or named alternative is given, and the truncated clause that would have named the extraction step removes the strongest routing signal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_event_extractB
Extract a normalized calendar event from any caption, announcement, or page text using Claude Haiku — resolves relative dates ("this Saturday 7pm") against the post time and timezone, handles all-day and multi-day events, and returns…
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| text | Yes | ||
| timezone | No | ||
| posted_at | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden, and it does add real behavioral content: it names the underlying model (Claude Haiku), explains that relative dates are resolved against post time and timezone, and notes all-day/multi-day handling. However, it says nothing about auth, cost/latency of an LLM call, failure modes for unparseable text, or the return shape, and the sentence terminates mid-clause ('and returns…').
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single dense sentence with the core purpose front-loaded, which is good, but it trails off with 'and returns…' rather than completing the thought, so the structure is compromised by an unfinished clause.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and 0% schema coverage across four parameters, the description should do more. It adequately covers the extraction behavior and relative-date resolution, but the return value is cut off and the city parameter is unexplained, leaving gaps an agent would have to guess at.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it partially does: 'resolves relative dates … against the post time and timezone' maps to posted_at and timezone, and the input domain maps to text. The 'city' parameter is never mentioned or explained, leaving one of four parameters undocumented in both the schema and the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Extract a normalized calendar event') and scopes the input domain ('any caption, announcement, or page text'), which distinguishes it from generic extractors like netintel_extract. It never names netintel_calendar or netintel_event_classify, so the agent must infer the boundary with those siblings rather than being told.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'from any caption, announcement, or page text' implies the applicable input context, but there is no explicit when-to-use/when-not guidance and no routing to netintel_event_classify or netintel_calendar. Usage is inferable but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_exa_answerA
Ask a question, get a direct answer grounded in a live web search, with numbered citations (title, url, published_date). One call replaces search + read + summarize. For ranked results instead of a synthesized answer use /exa/search…
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| include_citation_text | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses the return shape (numbered citations with title, url, published_date) and that the answer is grounded in a live web search, which is meaningful behavioral context. It stops short of covering latency, source recency limits, or failure modes, but the core output behavior is clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short clauses, front-loaded with the action and output, then the routing hint. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter search tool with no output schema, the description covers purpose, output format, and the primary alternative. The only omission is naming the include_citation_text parameter, which is minor given the schema does at least list it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. The query parameter is self-evident, and include_citation_text is implicitly supported by the mention of citations, but the description never names or explains that boolean toggle. Partial compensation for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Ask a question, get a direct answer grounded in a live web search') and explicitly distinguishes itself from the ranked-results sibling netintel_exa_search. The 'One call replaces search + read + summarize' framing makes the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly routes the agent: use this for a synthesized answer with citations, use /exa/search for ranked results. The when-to-use and when-to-use-something-else conditions are both stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_exa_contentsB
Clean page text for up to 3 URLs in one call via Exa's index + live crawl — works on JS-rendered and bot-walled pages that direct fetch can't read. Returns title, author, published_date and text per URL, with per-URL status. Pairs with…
| Name | Required | Description | Default |
|---|---|---|---|
| urls | Yes | ||
| livecrawl | No | ||
| max_characters | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses the batch cap (3 URLs), the fallback behavior (index + live crawl), and that results are per-URL with status, which is real behavioral context. It omits auth requirements, rate limits, cost, and failure semantics for blocked URLs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense and front-loaded: capability, mechanism, and return shape arrive in the first two clauses with no filler. The only defect is that the text is cut off mid-sentence, which harms structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and no annotations, the description does cover the return shape (title, author, published_date, text, per-URL status) and the crawl strategy well. But with 0% parameter coverage and a truncated tail, an agent still lacks guidance on livecrawl and max_characters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across three parameters, so the description must compensate. It adds a batch constraint (up to 3 URLs) not present in the schema, but never explains the 'livecrawl' string parameter or 'max_characters' numeric parameter, leaving two of three parameters undocumented anywhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('clean page text for up to 3 URLs in one call') plus the mechanism ('Exa's index + live crawl'). It implicitly distinguishes itself from a direct-fetch sibling by claiming JS-rendered and bot-walled support, but the truncation ('Pairs with…') cuts off the explicit sibling differentiation, so it lands just short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The claim that it 'works on JS-rendered and bot-walled pages that direct fetch can't read' implies when to prefer it over a plain fetch tool. However, there is no explicit alternative named, no when-not guidance, and no cost or rate-limit caveats — usage is inferred rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_exa_searchC
Exa neural web search for AI agents — POST or GET a query, get ranked live results (title, url, published_date, author, score) with optional highlight snippets. Filter by category (news, research paper, github, company, pdf…), domain…
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | ||
| query | Yes | ||
| category | No | ||
| snippets | No | ||
| num_results | No | ||
| include_domains | No | ||
| end_published_date | No | ||
| start_published_date | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does add real value: it discloses the ranked result shape (title, url, published_date, author, score), optional highlight snippets, and that results are 'live'. It omits auth requirements, rate limits, pagination, and cost, so it is only partly transparent for a search call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose is front-loaded in a single efficient sentence, but the trailing 'domain…' ellipsis signals a truncated or unfinished description, which undercuts clarity and looks like copy that was cut off mid-list.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter tool with 0% schema coverage, no annotations, and no output schema, the description should document the tunable parameters and their formats. It covers return fields well but leaves num_results, type, and the date-range filters unexplained, so an agent cannot select good parameter values from the definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 8 parameters, so the description must compensate. It explains only 'category' (with examples), domain filtering, and snippets; it says nothing about num_results, type, or start/end_published_date, leaving half the parameters undocumented in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Exa neural web search') and enumerates the return fields, so the agent knows exactly what kind of search this is. It does not, however, distinguish itself from closely-named siblings like netintel_exa_contents, netintel_exa_answer, or netintel_web_search, leaving the agent to guess which Exa endpoint fits.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says it is 'for AI agents' and lists filters, but never states when to choose this over netintel_exa_answer, netintel_exa_contents, or netintel_web_search, nor any prerequisite or exclusion. Usage must be inferred entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_extractA
Parse and normalize a freeform address string using Claude Haiku — splits it into street, city, state/region, postal code, and country, plus a normalized single-line form, so agents can clean and standardize messy address data for…
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It usefully discloses the underlying model (Claude Haiku) and the exact output shape, but says nothing about how unparseable/ambiguous input is handled, latency, cost, or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that leads with the action and then the output fields; no redundant filler. It ends truncated ('for…'), which slightly undercuts the structure but the informative content is delivered up front.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully enumerates the return fields, so an agent knows what it will get back. The remaining gap is edge-case behavior on invalid input, which matters for a parser but is unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One required parameter with 0% schema description coverage, so the description must compensate. 'freeform address string' does add the key semantic (unstructured, any format accepted), but gives no format hints, limits, or examples to compensate for the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb pair (parse and normalize) and the resource is precisely bounded: a freeform address string. It enumerates the split outputs (street, city, state/region, postal code, country, normalized single-line), which clearly separates it from generic siblings like netintel_extract_contact, netintel_extract_invoice, and netintel_normalize.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The trailing clause 'so agents can clean and standardize messy address data' implies the use case but gives no explicit when-to-use/when-not and names no alternative (e.g., when to prefer extract_contact for addresses embedded in documents). Usage is inferable but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_extract_contactA
Extract structured contact details from text, an email signature, or webpage text using Claude Haiku — returns name, title, company, email, phone, and address as clean JSON so agents can turn unstructured contact blocks into CRM-ready…
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose the underlying model (Claude Haiku) and the exact output shape, which is useful context. It says nothing about behavior on sparse or ambiguous input, multi-contact handling, latency/cost implications, or what happens when a field is absent, leaving real gaps for a no-annotation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the verb and resource, then the output contract, in a single dense sentence with no filler. The trailing ellipsis indicates the text is truncated, so the full definition may not be as tight as the visible portion.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description correctly enumerates the returned fields. For a one-parameter, read-only extraction tool with no annotations, the visible text covers purpose, input sources, and return shape adequately, though error/edge-case behavior is unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single 'text' parameter has no description. The description partially compensates by indicating the accepted input forms (raw text, email signature, webpage text), but says nothing about size limits, whether HTML is acceptable, or how multiple contacts in one input are handled.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (extract) and resource (structured contact details), names the accepted input forms (text, email signature, webpage text), and enumerates the returned fields (name, title, company, email, phone, address). This clearly separates it from siblings like netintel_entity_extract, netintel_extract_resume, and netintel_extract_invoice.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The clause 'so agents can turn unstructured contact blocks into CRM-ready…' implies the intended scenario, and the listed input sources hint at when the tool fits. However, it never states when NOT to use it or names an alternative for adjacent cases such as general entity extraction or resume/invoice parsing, so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_extract_invoiceB
Extract structured data from invoice or receipt text using Claude Haiku — returns vendor, invoice number, dates, line items, subtotal, tax, total, and currency as clean JSON so agents can automate accounts-payable, expense processing, and…
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it does disclose two useful traits: the backing model ('using Claude Haiku' — relevant for cost/latency/accuracy expectations) and the return shape (a flat JSON list of fields, valuable since no output schema exists). It does not disclose input constraints (e.g. that only plain text is accepted, not PDFs or images), size limits, or behavior on non-invoice input.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded sentence with the purpose first and the return payload after, which is sound ordering. But the description visibly terminates mid-clause with an ellipsis ('expense processing, and…'), leaving an obviously unfinished thought rather than an intentionally concise statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, no-annotation, no-output-schema tool, the description supplies the essentials: what it extracts, what it returns, and which model does the work. An agent can call it correctly from this text. The remaining gap is input eligibility — nothing clarifies whether PDFs, images, or only pre-extracted text are acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter ('text') at 0% schema description coverage, so the schema adds nothing. The phrase 'from invoice or receipt text' implies the input should be raw extracted text rather than a file, URL, or image, which is genuinely useful. Beyond that, format, length limits, and quality expectations for the input are unstated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — 'Extract structured data from invoice or receipt text' — and enumerates the target fields (vendor, invoice number, dates, line items, subtotal, tax, total, currency). The invoice/receipt domain implicitly separates it from generic siblings like netintel_extract, netintel_extract_table and netintel_extract_resume, but no sibling is ever named. The sentence is also truncated with an ellipsis, so the stated purpose is materially cut off.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through example scenarios ('automate accounts-payable, expense processing...'), giving an agent a sense of the intended context. However, it names no alternatives and no exclusions: nothing tells the agent to prefer netintel_pdf_parse or netintel_extract_table for PDFs/tables, or netintel_extract_contact for non-financial documents. Usage is only implied, not guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_extract_resumeA
Extract structured data from resume/CV text using Claude Haiku — returns name, contact info, skills, work experience, and education as clean JSON arrays so agents can automate applicant screening, candidate databases, and recruiting…
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations supplied, the description carries the full behavioral burden; it does disclose the backing model (Claude Haiku) and the shape of the return value (clean JSON arrays with named fields), which is real added context. It omits input size limits, behavior on non-resume input, latency/cost implications, and error handling, so a mutation-free but model-backed call still has notable blind spots.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence: verb, resource, output fields, then use cases. No filler. The trailing ellipsis suggests the text is truncated, which slightly weakens an otherwise tight structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description does useful work by enumerating the returned fields, but it leaves gaps an agent needs: input limits, how non-resume text is handled, and any failure modes. Adequate, not complete, for a model-backed extraction tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required parameter, 'text', with 0% schema description coverage, so the schema says nothing about its format or constraints. The description only hints that it should be resume/CV text; it doesn't state whether raw pasted text, file content, or a URL is expected, nor any length bounds.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It names a specific verb (extract), a specific resource (resume/CV text), and the exact fields returned (name, contact info, skills, work experience, education). This cleanly separates it from the nearby generic siblings netintel_extract, netintel_extract_contact, netintel_extract_invoice and netintel_extract_table without the agent needing to open any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives downstream scenarios (applicant screening, candidate databases, recruiting), which implies when the tool is useful, but it never states when NOT to use it or which sibling to pick for non-resume text extraction. Usage is inferable rather than specified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_extract_tableB
Extract tabular data from messy text or HTML using Claude Haiku — detects columns and rows in unstructured content and returns clean structured JSON (columns + rows) so agents can turn pasted tables, HTML tables, and delimited text into…
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, but it does disclose useful behavioral traits: the backing model (Claude Haiku, implying cost/latency profile) and the exact return shape (columns + rows). It says nothing about size limits, behavior on non-tabular input, failure modes, or cost, and it is cut off mid-sentence, leaving the behavioral picture incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded well, but the description terminates mid-clause with "into…", leaving a visibly unfinished sentence and unresolved content. It is also a single run-on sentence that tries to carry purpose, mechanism, and output in one breath.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with no annotations and no output schema, the description covers the essentials — accepted input forms and the returned structure (columns + rows). The truncation and the absence of any input constraint (size, HTML vs. plain text handling) leave gaps for an agent deciding whether to call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter with 0% schema description coverage, so the description must supply the semantics. It partially does: the input is messy text or HTML content ("pasted tables, HTML tables, and delimited text"), implying content rather than a URL. It never states format, size, or whether a URL is accepted, so the one undocumented param is only partly compensated for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ("Extract tabular data") and adds the mechanism ("detects columns and rows") plus the output shape ("clean structured JSON (columns + rows)"), so the purpose is unambiguous. It does not, however, distinguish itself from near-neighbors in the large extract family (netintel_extract, netintel_text_to_json, netintel_schema_parse), so the agent must infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Input types named — "pasted tables, HTML tables, and delimited text" — imply when the tool applies, which is real but indirect guidance. There is no explicit when-not condition and no sibling alternative is named, so the agent gets no routing help among the many other extraction tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_gas_priceB
Live gas prices across Base, Ethereum, Arbitrum, Optimism, and Polygon with USD cost estimates for a transfer, an ERC-20 send, and a swap — keyless, one call, all chains. Per chain: gas price + EIP-1559 base/priority fee in gwei…
| Name | Required | Description | Default |
|---|---|---|---|
| chains | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does add real behavioral context: keyless (no credentials needed), single-call multi-chain coverage, and 'live' freshness. It also previews the return shape (gas price plus EIP-1559 base/priority fee in gwei) before being truncated. It stops short of disclosing rate limits, caching, or failure modes per chain, so it is useful but incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is dense and front-loads the resource and chain list before the value proposition, which is well ordered and waste-free. However it ends mid-sentence with a trailing ellipsis, indicating the definition is truncated rather than deliberately concise. Compact but structurally unfinished.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description must explain both behavior and returns; it partially does, naming per-chain fields and units (gwei). What is missing is how the 'chains' argument is supplied and whether the default is all chains. For a single-param read tool this is workable, but not fully self-contained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter, 'chains', with 0% description coverage, so the description must compensate. It lists supported chains, which implies valid values, but never states the parameter's format (comma-separated list vs. repeated arg), whether it is optional, or what happens if omitted. The ellipsis truncates before any such detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (live gas prices), enumerates the exact chains covered (Base, Ethereum, Arbitrum, Optimism, Polygon), and states the delivered value (USD cost estimates for transfer, ERC-20 send, and swap). No sibling tool covers gas pricing, so there is nothing to confuse it with. An agent knows immediately what this tool produces.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: 'keyless, one call, all chains' signals it is a batched, no-auth lookup worth preferring over per-chain calls. However, the description never says when to reach for this versus related tools like netintel_crypto_price or netintel_market_snapshot, nor any prerequisite or exclusion. Adequate but leaves routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_github_intelA
Analyze a GitHub repo — stars, forks, activity, license, open issues, maintenance score. Pass owner/repo format.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully enumerates what is computed (maintenance score, activity, license), which implies an analysis/read operation rather than a mutation, but it never states that the call is read-only, whether a GitHub token or rate limit applies, or how stale the activity data might be.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact clauses with no filler; the purpose and return contents are front-loaded and the format requirement follows. Every fragment earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with no output schema, the description covers the essentials: what is analyzed, what comes back, and the input format. The only real omission is the safety/auth profile that annotations would normally supply.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the schema alone leaves the single parameter undocumented. The description compensates by specifying the expected 'owner/repo' format, which is exactly the missing semantic detail for this parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Analyze) plus resource (GitHub repo) and enumerates the returned metrics (stars, forks, activity, license, open issues, maintenance score), so the agent knows exactly what it gets. It does not explicitly differentiate from near-siblings like netintel_npm_intel or netintel_tech_fingerprint, though the resource name makes the distinction fairly obvious.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use context, no prerequisites, and names no alternative tool. The only guidance present is the input format instruction, which is parameter-level rather than usage-level.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_holidaysC
Get public holidays by country. Check if a date is a business day or weekend. ISO 3166-1 alpha-2 country codes.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | ||
| month | No | ||
| country | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations and no output schema, so the description carries the full behavioral burden, yet it says nothing about return format, permissions, or how a specific date is actually evaluated. The 'business day or weekend' claim is also ambiguous since no day-of-month parameter exists to express a target date.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded sentences with no filler; the primary purpose leads and supporting facts follow. It is terse to the point of under-specification rather than verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter tool with no annotations, no output schema, and 0% parameter coverage, the description is too thin. It omits how year/month shape results and how the business-day check is invoked, leaving real gaps an agent would hit at call time.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across three parameters. The description helpfully specifies the country format (ISO 3166-1 alpha-2), but leaves 'year' and 'month' entirely unexplained, including whether they are required to list holidays or filter results.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Get public holidays by country') and adds a second concrete capability (business day/weekend check). It is clear what the tool does, though it does not explicitly differentiate itself from nearby tools like netintel_calendar since no sibling covers holidays.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the stated capabilities: fetching holidays and checking whether a date is a business day or weekend. There is no explicit when-to-use, when-not-to-use, or named alternative (e.g., netintel_calendar), so the agent must infer the context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_iban_validateA
Validate any IBAN offline — mod-97 check digits, per-country structure, bank/branch extraction, and pretty formatting for ~80 countries — deterministic, instant, no upstream. A structurally invalid IBAN is a real answer: valid:false +…
| Name | Required | Description | Default |
|---|---|---|---|
| iban | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does reasonably well: it declares offline operation, determinism, immediacy, no upstream calls (implying no auth, network, or rate limits), the ~80-country coverage envelope, and notably the error semantics — an invalid IBAN returns 'valid:false' rather than throwing. The trailing truncation leaves the return payload only partially described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with an em-dash enumeration; the verb and resource come first and the differentiating traits (offline, deterministic, fast) follow. The list of checks is dense but each item earns its place. Only the truncation prevents a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, no-annotation tool, the description covers purpose, scope, safety profile, and even the negative-result contract. With no output schema, it should ideally spell out the full return shape (extracted bank/branch, formatted IBAN), which it only gestures at before cutting off.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One required parameter at 0% schema coverage, so the schema contributes nothing beyond the name 'iban'. The description makes clear the input is an IBAN to be validated but adds no format guidance (spaces, lowercase, country prefix, length limits), which is the main remaining ambiguity. Adequate but not compensating for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Validate any IBAN') and immediately enumerates the substance of the validation: mod-97 check digits, per-country structure, bank/branch extraction, pretty formatting. It also scopes coverage ('~80 countries'), so an agent knows exactly what it gets. No sibling tool validates IBANs, so no in-family confusion is possible.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied rather than stated: 'offline ... deterministic, instant, no upstream' tells the agent this is a zero-dependency local check and therefore safe to call freely, which is useful selection signal. However, there is no explicit when-to-use/when-not framing or named alternative, so guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_ip_blacklistB
Check an IP address against 15 major DNS blacklists (Spamhaus, Barracuda, SORBS, etc). Returns threat level and which lists it appears on.
| Name | Required | Description | Default |
|---|---|---|---|
| ip | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the scope (15 blacklists) and the return content (threat level and matching lists), which gives some operational transparency, but it omits whether the operation is read-only, whether authentication or rate limits apply, and any side effects. For a lookup tool this leaves notable gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core purpose and followed by the return summary. Every word earns its place with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter lookup with no output schema or annotations, the description adequately covers the tool's scope and return values. The main missing piece is usage context relative to siblings, but that is largely captured in the usage guidelines dimension.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage for the single 'ip' parameter. The description says 'an IP address' but provides no format details (e.g., IPv4 vs IPv6, whether CIDR is accepted) to compensate for the schema's silence, adding little beyond what the parameter name already implies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (Check) and resource (IP address against DNS blacklists), and even names example lists and the return type. It does not, however, differentiate this tool from siblings like netintel_ip_reputation or netintel_ip_risk, so an agent must infer the distinction from the description alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no prerequisites, and no indication of when it is inappropriate. The description only states what the tool does, not when to choose it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_ip_geoB
Geolocate an IP address — country, city, coordinates, ISP, ASN, timezone.
| Name | Required | Description | Default |
|---|---|---|---|
| ip | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It names the output fields, which is useful, but says nothing about whether IPv4/IPv6 are accepted, how private/reserved ranges behave, rate limits, caching, or any notion of reliability for geolocation data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence: verb first, then the field list. No filler, no redundancy. Appropriately sized for a one-parameter lookup tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-param, no-output-schema lookup the description covers what comes back, which is the main gap. It is still thin on input format and on how this differs from the numerous overlapping IP/ASN siblings, so an agent could plausibly pick the wrong tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One required parameter with 0% schema description coverage. The description implies the input is 'an IP address' but gives no format guidance (IPv4 vs IPv6, CIDR rejection, required-ness), so it only partially compensates for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Geolocate') and resource ('an IP address') and enumerates the returned fields (country, city, coordinates, ISP, ASN, timezone), so the agent knows exactly what it gets. However, it offers no differentiation from close siblings like netintel_asn_lookup, netintel_ip_reputation, or netintel_ip_report, which overlap on ASN/IP data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to choose this over netintel_asn_lookup, netintel_ip_reputation, netintel_ip_risk, or netintel_ip_report. The agent is left to infer that 'geolocation' is the distinguishing feature, with no exclusions or prerequisites stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_ip_reportB
One premium call returns a complete five-part IP profile — geolocation, ASN/network ownership, multi-DNSBL blacklist status, threat reputation, and an aggregate risk verdict — run concurrently with graceful partial-failure handling, so…
| Name | Required | Description | Default |
|---|---|---|---|
| ip | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does add genuine behavioral context beyond the schema — concurrent execution and 'graceful partial-failure handling' tells the agent this call is resilient and may return partial results. But it omits cost specifics beyond the word 'premium', any latency expectations, whether the IP is passed to third-party blacklist services, and how partial failures surface in the response.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single dense sentence that front-loads the value proposition well, packing the five components into one scannable clause. But the text terminates mid-sentence ('...so…'), which reads as truncated rather than deliberately concise, leaving an incomplete thought in the description an agent actually consumes.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description is the only source of behavioral and structural information, and it partially compensates by listing the five profile components — effectively describing the return shape. Still, the truncated ending, the undocumented 'ip' parameter, and the absence of any cost or partial-result semantics leave it short of complete for a 'premium' aggregator call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter, 'ip', with 0% schema description coverage, so neither the schema nor the description defines it. The name makes the intent obvious, but the description never specifies accepted formats (IPv4/IPv6/range/hostname) or validation behavior — a real gap since bad input is the most likely failure mode for a one-param tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('One premium call returns a complete five-part IP profile') and enumerates exactly what the profile contains — geolocation, ASN/network ownership, DNSBL blacklist status, threat reputation, and a risk verdict. This implicitly distinguishes it from point-solution siblings like netintel_ip_geo, netintel_ip_blacklist, netintel_ip_reputation, and netintel_ip_risk as the aggregate/roll-up tool. The sentence is cut off mid-clause, so the pitch is clear but not fully closed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'One premium call returns a complete five-part profile' implies this is the consolidated alternative to calling the individual IP tools separately, which is useful routing context. However, there is no explicit statement of when to prefer this aggregation over netintel_ip_geo / netintel_ip_blacklist / netintel_ip_reputation, nor any exclusion guidance. Usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_ip_reputationB
IP reputation and malicious-IP check — screens an address against AbuseIPDB and AlienVault OTX threat feeds and returns a composite risk score, threat categories, malware families, and full source data.
| Name | Required | Description | Default |
|---|---|---|---|
| ip | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses the external data sources and some return contents, and the verb 'screens' implies a read-only lookup, but it omits auth/rate-limit behavior, error handling, and any explicit confirmation that the operation is non-destructive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no filler. It efficiently names the resource, the sources checked, and the key outputs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter lookup with no output schema, the description adequately covers what the tool does, where data comes from, and what is returned. It is only slightly incomplete on input format and how the composite risk score should be interpreted.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description should compensate for the bare 'ip' parameter. It only says 'an address' and does not clarify IPv4/IPv6 support, expected format, or whether CIDR/hostname inputs are valid.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('IP reputation and malicious-IP check') and names the external threat feeds (AbuseIPDB, AlienVault OTX) plus the return contents. It does not explicitly differentiate this tool from siblings like netintel_ip_risk, netintel_ip_blacklist, or netintel_ip_report, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no mention of alternative IP intelligence tools in the sibling list. Usage is only implied by the tool name and description, leaving selection against similar tools to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_ip_riskA
One call returns a complete risk profile for an IP address — geolocation, ASN/network owner, blacklist status across multiple DNSBLs, and proxy/VPN/hosting classification — aggregated into a single verdict so agents can make a block/allow…
| Name | Required | Description | Default |
|---|---|---|---|
| ip | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose meaningful behavior: this is a multi-source aggregator whose output is a synthesized verdict rather than raw lookups. However, it says nothing about input format constraints (IPv4 vs IPv6), latency from multiple external lookups, rate limits, or failure modes when a source is unavailable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence whose lead ('One call returns a complete risk profile') carries the core value proposition, followed by an enumeration that justifies what 'complete' means. The em-dash-heavy listing is dense but each element is informative; the only weakness is the trailing truncation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no annotations exist, so the description must convey the result shape — and it does by naming the four data classes that compose the profile and the aggregated verdict. For a simple single-parameter read tool this is largely sufficient, though it omits input format and any caveats about source coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One required parameter ('ip') with 0% schema description coverage. The description's phrase 'for an IP address' restates the parameter name but adds no format, scope, or validation detail. The parameter is near self-describing, so this is only a minor gap rather than a severe one.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('returns a complete risk profile for an IP address') and enumerates the bundled data (geolocation, ASN/network owner, DNSBL blacklist status, proxy/VPN/hosting classification) plus the aggregation into a single verdict. This implicitly separates it from single-purpose siblings like netintel_ip_blacklist and netintel_ip_geo, but no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The trailing clause 'so agents can make a block/allow…' implies the decision context in which the tool is useful, which is real but generic guidance. There is no explicit when-to-use vs when-not, no statement that you should pick this instead of calling ip_geo + ip_blacklist separately, and the sentence is truncated mid-thought.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_jsonB
Repair malformed JSON into valid JSON — fixes code fences, trailing commas, single quotes, unquoted keys, bad escapes, duplicate keys, truncation, and JSON buried in prose. A deterministic tokenizer runs first (no LLM cost), with an…
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes | ||
| coerce | No | ||
| schema | No | ||
| allow_llm | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it does disclose one meaningful trait: a deterministic tokenizer runs first at no LLM cost, implying an optional paid LLM path. It says nothing about failure behavior on unrepairable input, idempotency, or what is returned when repairs are partial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded and dense: purpose first, then the defect list, then the execution/cost note. The single long enumerated sentence is efficient, though it reads as a list dump and the trailing "with an…" shows the content is cut off mid-clause.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter tool with zero annotation coverage, 0% schema coverage, a nested-object parameter, and no output schema, the description should at minimum explain `coerce`/`schema` and the shape of success vs. failure. It covers the repair domain well but leaves roughly half the calling contract undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 4 parameters, so the description must compensate, and it only gestures at two: `input` (malformed JSON) and `allow_llm` (via the no-LLM-cost tokenizer note). `coerce` and `schema` — including the nested object structure — are never explained, leaving their semantics entirely opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb+resource ("Repair malformed JSON into valid JSON") and enumerates the exact defect classes handled — code fences, trailing commas, single quotes, unquoted keys, bad escapes, duplicate keys, truncation, JSON buried in prose. That enumeration functionally separates it from conversion/extraction siblings such as netintel_text_to_json or netintel_extract, even though none are named.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the input is evidently malformed JSON text. There is no explicit when-to-use, when-not-to-use, or named alternative (e.g. text_to_json for clean prose-to-JSON conversion). The mention that a deterministic tokenizer runs first hints at the cost tradeoff but is not framed as guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_jwt_inspectorA
Decode a JWT token — inspect header and payload, check expiry, flag security issues like weak algorithms.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It implies a read-only inspection by using 'Decode', 'inspect', 'check', and 'flag', but it does not state whether signature verification is performed, what permissions or inputs are required, or how the results are returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. The primary action is first, and the additional capabilities are listed compactly after the dash.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description must convey return behavior. It sketches outputs as header, payload, expiry, and security flags, but omits important details such as signature verification status and return format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0% for the single required parameter. The description compensates minimally by identifying the input as a JWT token, but it adds no format or syntax details beyond what the property name 'token' already suggests.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Decode) and resource (JWT token), then enumerates the concrete functions: inspect header and payload, check expiry, flag security issues. Sibling tools contain no other JWT-specific tool, so it is clearly distinguishable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for analyzing a JWT token, but it does not explicitly state when to use this tool versus alternatives or when not to use it. No prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_lang_detectB
Detect the language of any text with confidence scoring. Supports 50+ languages.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses that output includes a confidence score and that 50+ languages are supported, but says nothing about minimum text length, mixed-language behavior, accuracy limits, or auth/cost. Partial behavioral coverage only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded sentences with no filler. The capability statement leads and the coverage detail follows; nothing is wasted, though it is arguably too terse for a no-annotation tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter utility with no output schema, the description covers the return shape superficially (confidence scoring) but leaves behavioral gaps that no annotation or output schema fills. Adequate but not complete for a tool with zero structured support.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single 'text' parameter, so the description should compensate. 'Any text' loosely implies the input is free-form string content but adds no format, size, or encoding detail beyond the self-evident parameter name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb+resource ('Detect the language of any text') and adds scope ('50+ languages') and a return trait ('confidence scoring'). It is distinguishable from text siblings like translate or sentiment, though it does not explicitly name or rule out the nearest alternative (translate/translate_short).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no conditions, and no reference to alternatives despite a large sibling set of text tools (netintel_translate, netintel_classify, netintel_sentiment). An agent must infer the use case entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_markdownB
Convert messy HTML or text into clean, well-structured Markdown using Claude Haiku — strips boilerplate, fixes heading hierarchy, normalizes lists and links, and returns readable Markdown so agents can feed clean docs into downstream…
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the underlying model (Claude Haiku) and the transformations applied, which is meaningful behavioral context, but says nothing about input size limits, latency, failure behavior on already-clean or non-HTML input, or whether content is truncated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence that leads with the core action and accumulates useful detail without filler. The trailing ellipsis suggests the text is truncated rather than deliberately ended, which is the only structural flaw.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter transformation with no annotations and no output schema, the description covers purpose and pipeline adequately but omits input expectations, size constraints, and what happens with malformed input. Roughly the minimum an agent needs, with noticeable gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single `text` parameter. The description never clarifies whether it expects raw HTML, a full page document, or plain text, nor whether there is a length cap — the exact gap the schema leaves open. It adds no parameter meaning beyond the name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Convert) and both the input and output resource (messy HTML/text → clean Markdown), with a concrete processing pipeline (strips boilerplate, fixes heading hierarchy, normalizes lists and links). It is clearly distinguishable from generic siblings like netintel_convert or netintel_normalize, though it never names an alternative tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The trailing clause 'so agents can feed clean docs into downstream' implies a use case, but there is no explicit when-to-use guidance and no exclusion relative to close siblings such as netintel_convert, netintel_extract, or netintel_page_extract. An agent has to infer when Markdown normalization is the right step.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_market_snapshotB
One-call market briefing for agents — BTC/ETH/SOL spot + 24h moves, major fiat crosses (USD/EUR, USD/GBP, USD/JPY, EUR/GBP), Base and Ethereum gas with USD transfer cost, and the crypto fear/greed index. Four sections fetched concurrently…
| Name | Required | Description | Default |
|---|---|---|---|
| vs | No | ||
| symbols | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses that the four sections are 'fetched concurrently,' which is a genuine behavioral trait, and the data-only framing implies read-only operation. It says nothing about auth, rate limits, caching, or failure behavior per section.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in a single efficient sentence and every clause carries content (the four sections). The fiat-pair enumeration is slightly over-detailed and the trailing ellipsis cuts off mid-thought, but overall it is dense and well-ordered.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should carry return-shape context; enumerating the four sections partly does this. But it omits parameter meaning and any per-section structure, so for a multi-section aggregator with 0% param coverage it is only adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for both 'vs' and 'symbols', so the description must compensate and does not — neither parameter is mentioned. The fixed lists (BTC/ETH/SOL, the fiat pairs) hint at defaults but leave it ambiguous whether those are overridable via the params.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific composite resource and enumerates exactly what it bundles: BTC/ETH/SOL spot + 24h moves, fiat crosses, Base/Ethereum gas with USD cost, and fear/greed. That is concrete enough for an agent to know what it returns. It never differentiates itself from siblings that cover the same ground (netintel_crypto_market, netintel_gas_price, netintel_crypto_price), so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'one-call' framing implies this is the aggregated alternative to hitting several narrower tools, which is useful implied guidance. However there is no explicit when-to-use/when-not statement and no naming of the overlapping siblings it should replace.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_messagesB
OpenAI-compatible chat completions over x402, answered by Claude Sonnet 4.6 — send a messages array and get an assistant reply for Q&A, reasoning, agent planning, coding help, summarization, extraction, and classification. Vision: user content may include up to 4 https image_url parts (describe, read/OCR, compare images).
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | ||
| top_p | No | ||
| messages | Yes | ||
| max_tokens | No | ||
| temperature | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It adds genuinely useful facts: the request/response contract is OpenAI-compatible, the model is Claude Sonnet 4.6, it runs 'over x402' (a paid/payment-gated transport), and vision caps at 4 https image_url parts. It omits cost, latency, rate limits, token limits, and whether streaming is supported, so significant disclosure gaps remain.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, purpose and model front-loaded before capability enumeration and the vision constraint. Dense but every clause carries information (transport, model, use cases, multimodal limit) with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter LLM endpoint with no output schema and no annotations, the description covers purpose, model, multimodal limits, and payment transport, and 'OpenAI-compatible' implies the return object shape. It does not address cost/auth implications of x402, size or rate limits, or failure modes, leaving an agent under-informed about operational constraints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 5 parameters, so the description must compensate. It documents the messages array shape and the vision image_url content parts, and the 'OpenAI-compatible' claim effectively imports conventional semantics for model, top_p, max_tokens, and temperature. Those four parameters are still never mentioned or bounded, so compensation is partial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (OpenAI-compatible chat completions) and a concrete action (send a messages array, get an assistant reply), plus the backing model (Claude Sonnet 4.6). That model identity does distinguish it from the many netintel_openai_gpt_* siblings, but it never explicitly contrasts itself with netintel_openai or netintel_v1_chat_completions, so the differentiation is implicit rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
A task list (Q&A, reasoning, agent planning, coding, summarization, extraction, classification) implies when to reach for it, and vision mode is scoped to 'up to 4 https image_url parts'. However, with siblings like netintel_text_summarize, netintel_classify, netintel_extract, and netintel_translate covering the same named tasks, there is no explicit when-to-use-this vs when-to-use-those routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_moneyB
Normalize any messy money string into a typed decimal amount plus ISO 4217 currency — handles symbols, locale separators ($1,234.56 vs €1.234,56), magnitude suffixes (1.2M), accounting notation, and natural-language amounts — so agents can…
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | ||
| allow_llm | No | ||
| locale_hint | No | ||
| default_currency | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose meaningful behavioral scope: locale separator disambiguation, magnitude suffixes (1.2M), accounting notation, and natural-language amounts. However, it says nothing about ambiguity handling, failure modes, or what the allow_llm fallback does when parsing is uncertain.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose is front-loaded, but it is a single dense run-on sentence that reads as an incomplete fragment. The partial second clause ('so agents can…') is cut off, so the structure cannot be judged as fully earned.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no annotations mean the description must cover both behavior and parameters. It does gesture at return values ('typed decimal amount plus ISO 4217 currency'), but three of four parameters and any ambiguity/failure behavior remain undocumented for a tool whose whole job is resolving messy input.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 4 parameters, so the description must compensate. It only addresses the semantics of the required 'text' input; allow_llm, locale_hint, and default_currency are left completely unexplained in both the schema and the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Normalize any messy money string into a typed decimal amount plus ISO 4217 currency') and enumerates the input shapes it handles. It is clearly distinguished from unrelated siblings, though it never explicitly contrasts itself with the closest neighbors, netintel_currency_exchange (which converts between currencies) or netintel_convert.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The enumerated messy formats imply when the tool applies, and the truncated trailing clause ('so agents can…') suggests usage framing was intended but is cut off. No explicit when-to-use vs alternatives such as netintel_currency_exchange is present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_name_genA
Generate brandable startup/product names from a keyword using prefixes, suffixes, blends, and phonetic patterns, then check .com (or any TLD) availability for each via DNS — returns available names ranked by a brandability heuristic so…
| Name | Required | Description | Default |
|---|---|---|---|
| tld | No | ||
| limit | No | ||
| keyword | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and discloses the generation pipeline (prefixes, suffixes, blends, phonetic patterns), the DNS availability check, and the ranked output based on a brandability heuristic. It is missing operational details such as rate limits, default TLD behavior, or failure handling, but the core behavior is well described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense sentence that is front-loaded with the core action and then layers on the mechanism and return behavior. It is somewhat run-on and appears truncated, but every clause adds meaningful information with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations, no output schema, and 0% schema description coverage, the description explains the core pipeline and that available names are returned ranked. However, it omits output structure details (fields, number of names, scoring format) and leaves the 'limit' parameter and default TLD unaddressed, leaving meaningful gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate, but it only clarifies two of three parameters: 'keyword' as the seed input and 'tld' as the domain extension to check. The 'limit' parameter is entirely unexplained, and no defaults, formats, or constraints are provided for any parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource: generate brandable startup/product names from a keyword, then check TLD availability via DNS. It also names the generation techniques and the ranking heuristic, which clearly distinguishes it from sibling availability-only tools like netintel_domain_availability.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the scenario (needing brandable names for a startup/product), but the description never explicitly says when to choose this over siblings such as netintel_domain_availability or netintel_domain_appraise. It adds some helpful context about checking any TLD, yet no alternatives or exclusions are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_normalizeC
Conform messy or inconsistent JSON to a target schema using Claude Haiku — renames keys, coerces types (string→number, "true"→boolean, etc.), and fills missing fields with null, returning JSON that matches the exact shape the caller…
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | ||
| schema | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose real behavior: it runs on Claude Haiku, renames keys, coerces types (string→number, "true"→boolean), and fills missing fields with null. It does not cover failure modes (uncoercible values, ambiguous key matches), permissions, rate limits, or whether the model may hallucinate fields — notable gaps for an LLM-backed transformation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and the mechanic list, which is good structure, but the single sentence is truncated mid-clause ('the exact shape the caller…'), leaving it incomplete rather than tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-param, LLM-backed transform with no output schema and no annotations, the description explains the transformation well but omits parameter format details and error behavior, and its final clause is cut off. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for two required parameters, so the description must compensate. It implies 'data' is the messy input and 'schema' is the target, but never states that data is passed as a string or what the schema object's format/keys should be — the nested-object schema parameter is left essentially undefined.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (conform/normalize JSON to a target schema) and enumerates the concrete mechanics: key renaming, type coercion, and null-filling. It distinguishes itself from nearby tools like netintel_json or netintel_text_to_json by framing itself as schema-conformance rather than generic parsing, though it never names a sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use vs when-not-to-use guidance and no named alternative, despite a crowded neighborhood of schema/JSON siblings (netintel_schema, netintel_schema_map, netintel_schema_parse, netintel_text_to_json, netintel_convert). Usage is only implied by the word 'messy or inconsistent'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_npm_intelB
Analyze an npm package — versions, weekly downloads, maintainers, dependencies, quality and maintenance score.
| Name | Required | Description | Default |
|---|---|---|---|
| package | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does disclose the categories of data returned, which is the main behavioral signal an agent needs for a read-only analysis tool, but it says nothing about rate limits, auth requirements, error behavior for nonexistent packages, or whether the quality/maintenance score is a derived metric with a defined scale.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with the resource stated first and the returned facets listed after, with zero filler. Nothing is repeated or wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description is the only source of return-value information, and its enumeration of facets partially covers that gap. However, it omits the package-name format and gives no sense of output shape, so it is only minimally sufficient for calling the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single `package` parameter. The description implies the argument is an npm package name, which is largely inferable from the property name and type, but it adds no format detail — notably nothing about scoped packages (`@scope/name`), version qualifiers, or case sensitivity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ("Analyze") and resource ("npm package") and enumerates the returned facets: versions, weekly downloads, maintainers, dependencies, quality and maintenance score. An agent can tell it apart from sibling tools like netintel_github_intel or netintel_tech_fingerprint, though it never explicitly names an alternative to sharpen the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives (e.g. github_intel for repository-level data). The agent must infer the applicable scenario purely from the tool name and the listed facets.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_og_scraperC
Extract Open Graph tags, Twitter Card tags, canonical URL, title, description, favicon, JSON-LD structured data, and article metadata from any public URL.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden, and it does little more than list outputs. It does not say whether the page is fetched server-side, whether redirects are followed, whether JavaScript-rendered content is handled, or what happens on non-HTML or non-public targets. "Any public URL" hints at scope but gives no failure or rate-limit behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence with the verb front-loaded and no filler. The enumeration of return fields is long but each item earns its place given there is no output schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and 0% parameter coverage, the description partially compensates by enumerating the extracted fields, which effectively documents the return contents. However it is silent on permissions, fetch/render behavior, error modes, and how it differs from sibling extraction tools, leaving real gaps for a no-annotation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter (url) with 0% schema description coverage, so the description must compensate. "From any public URL" weakly conveys that the parameter is a fetchable absolute URL and implies public-only targets, but it does not specify scheme requirements, format, or handling of malformed input. Marginal value over the self-evident parameter name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ("Extract") and enumerates exactly which artifacts are retrieved (OG tags, Twitter Cards, canonical URL, JSON-LD, article metadata). An agent knows precisely what this tool produces. However, it never distinguishes itself from near-siblings like netintel_page_extract, netintel_markdown, or netintel_web_fetch, which likely overlap heavily.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance and no mention of alternatives among the many extraction/scraping siblings. The only implied usage cue is "any public URL," which the agent must infer means social-preview metadata retrieval rather than general page content extraction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_openaiB
Call OpenAI's gpt-4o via a single pay-per-call x402 endpoint — no OpenAI account or API key needed, pay $0.10 per request in USDC. Vision: messages may carry up to 4 https image_url parts per call (detail low/high/auto). Every call is bounded by a 16000-token combined input budget plus a 48000-char cap; output capped at 2048…
| Name | Required | Description | Default |
|---|---|---|---|
| top_p | No | ||
| messages | Yes | ||
| max_tokens | No | ||
| temperature | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and handles it well: it discloses the x402 pay-per-call model, the exact price ($0.10 in USDC), the absence of an API key requirement, a 16000-token input budget plus 48000-char cap, and a 2048 output cap. It omits error/timeout and retry behavior, and the trailing ellipsis suggests the text is truncated mid-sentence.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Information is dense and front-loaded with cost and capability first, and every sentence carries content. However, the description appears truncated ('output capped at 2048…'), which is a structural defect rather than conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter chat-completion tool with 0% schema coverage, no annotations, and no output schema, the description covers operational constraints (cost, token/char caps, vision limits) but says nothing about the three sampling parameters or what the response looks like. An agent can call it, but cannot tune it or predict the return shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it largely does not: temperature, top_p, and max_tokens are never mentioned or given ranges/defaults. It does add meaning for messages by explaining that messages can carry up to 4 https image_url parts with detail low/high/auto, which is genuine value for the one required parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Call OpenAI's gpt-4o via a single pay-per-call x402 endpoint'), which clearly identifies the operation and the exact model. It does not, however, differentiate itself from the dozen sibling model endpoints (netintel_openai_gpt_4_1, netintel_openai_gpt_5_*), so an agent still cannot tell why gpt-4o rather than another.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the mechanics (pay-per-call, no API key) but gives no when-to-use guidance, no exclusions, and never routes the agent between this and the other OpenAI model siblings. Usage must be inferred entirely from the model name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_openai_gpt_4_1B
Call OpenAI's gpt-4.1 via a single pay-per-call x402 endpoint — no OpenAI account or API key needed, pay $0.09 per request in USDC. Standard OpenAI chat.completions request/response shape, capped input and output. Search terms: OpenAI…
| Name | Required | Description | Default |
|---|---|---|---|
| top_p | No | ||
| messages | Yes | ||
| max_tokens | No | ||
| temperature | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full burden and actually delivers useful non-obvious behavior: pay-per-call x402 billing at $0.09 per request in USDC, no OpenAI account or API key required, and explicitly capped input and output. It stops short of stating the cap values, payment-failure behavior, or rate limits, which is the remaining gap for a paid mutation-like endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The primary action and cost model are front-loaded and dense, with no filler sentences. However, the trailing 'Search terms: OpenAI…' is visibly truncated keyword stuffing that conveys no actionable information and signals an incomplete definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description must cover more ground, and it does explain the response follows the standard OpenAI chat.completions shape. It still omits the concrete input/output caps it references, model-selection context versus its many siblings, and any error or payment-failure semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across four parameters, so the description must compensate. It does so indirectly by asserting the request follows the standard OpenAI chat.completions shape (messages, temperature, top_p, max_tokens) and warns of capped input/output, but it gives no ranges, defaults, or actual cap numbers, leaving the numeric semantics undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete verb and resource: call OpenAI's gpt-4.1 through an x402 pay-per-call endpoint with a standard chat.completions shape. The specific model name does distinguish it from non-LLM siblings, but it offers zero differentiation from the ~20 sibling model variants (gpt_4_1_mini, gpt_4o_mini, gpt_5_4, netintel_openai, netintel_v1_chat_completions), so an agent has no basis for choosing this one over those.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no when-not-to-use, and no alternatives named despite an exceptionally crowded family of OpenAI model siblings. The only usage signal is the implicit 'standard OpenAI chat.completions request/response shape', which tells an agent the calling convention but not when this model is the right pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_openai_gpt_4_1_miniB
Call OpenAI's gpt-4.1-mini via a single pay-per-call x402 endpoint — no OpenAI account or API key needed, pay $0.005 per request in USDC. Standard OpenAI chat.completions request/response shape, capped input and output. Search terms:…
| Name | Required | Description | Default |
|---|---|---|---|
| top_p | No | ||
| messages | Yes | ||
| max_tokens | No | ||
| temperature | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose real behavioral facts: no API key required, $0.005 per request in USDC, and 'capped input and output.' However, the caps are unquantified and nothing is said about payment failure, rate limiting, or error behavior — significant gaps for a paid external call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the model, transport, and pricing in one dense sentence, with nothing redundant. The dangling 'Search terms:' suffix is the only structural blemish.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations, no output schema, and undocumented parameters, the description covers the essentials (auth model, cost, request/response shape) but leaves caps, failure modes, and per-parameter constraints unspecified. Adequate rather than complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for the four parameters (messages, max_tokens, temperature, top_p). The description partially compensates by pointing to the 'Standard OpenAI chat.completions request shape,' which lets an agent infer semantics from a widely known spec, but it never states which params are capped or how.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — calling OpenAI's gpt-4.1-mini — via a named transport (x402 endpoint). The model name itself differentiates it from the sibling model wrappers, but the description never explicitly contrasts it with gpt-4o-mini, gpt-4.1-nano, or the generic netintel_openai/netintel_v1_chat_completions tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to pick this model over any of the ~15 sibling OpenAI model wrappers, nor about when the pay-per-call path is preferred. The trailing 'Search terms:' fragment is a stylistic artifact rather than routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_openai_gpt_4_1_nanoA
Call OpenAI's gpt-4.1-nano via a single pay-per-call x402 endpoint — no OpenAI account or API key needed, pay $0.005 per request in USDC. Standard OpenAI chat.completions request/response shape, capped input and output. Search terms:…
| Name | Required | Description | Default |
|---|---|---|---|
| top_p | No | ||
| messages | Yes | ||
| max_tokens | No | ||
| temperature | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations the description carries the full behavioral burden, and it does well: pay-per-call x402 endpoint, $0.005 per request in USDC, no auth/API key required, and standard chat.completions request/response semantics. It does not state what the input/output caps actually are, which is the one gap for a metered endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded sentences that each carry information (auth model, price, payload shape). The trailing truncated 'Search terms:' block adds SEO padding rather than agent value, a minor blemish.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter, no-annotation, no-output-schema tool, the description covers the essentials (cost, auth, request shape) but omits the actual caps and any indication of the response envelope beyond 'standard.' An agent can probably call it, but cannot predict limit failures.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for 4 parameters, so the description must compensate. Pointing at the 'standard OpenAI chat.completions' shape does substantial work for messages/temperature/top_p/max_tokens, but 'capped input and output' gives no concrete limit for max_tokens, so an agent cannot predict rejection thresholds.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: call OpenAI's gpt-4.1-nano through a specific endpoint. It is clearly identifiable as a chat-completion tool, though it does not explain how it differs from the many sibling model endpoints (gpt_4_1_mini, gpt_5_nano, the generic netintel_openai), leaving model selection to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied rather than stated: the no-account/no-API-key framing and per-call pricing tell the agent this is for keyless, pay-per-use access. However there is no explicit when-to-use guidance against the ~15 sibling model tools, which is the main decision an agent faces here.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_openai_gpt_4o_miniB
Call OpenAI's gpt-4o-mini via a single pay-per-call x402 endpoint — no OpenAI account or API key needed, pay $0.005 per request in USDC. Standard OpenAI chat.completions request/response shape, capped input and output. Search terms: OpenAI…
| Name | Required | Description | Default |
|---|---|---|---|
| top_p | No | ||
| messages | Yes | ||
| max_tokens | No | ||
| temperature | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does add real behavioral context: pay-per-call pricing ($0.005/request in USDC), no OpenAI account or API key required, and capped input/output. It omits rate limits, what the caps actually are, and error/failure behavior, but the cost and auth disclosures are genuinely useful and not derivable from the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core sentence is front-loaded and efficient, but the dangling 'Search terms: OpenAI…' is truncated keyword stuffing that adds no meaning and reads as an artifact. Size is appropriate otherwise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no annotations, and 0% parameter coverage, so the description has a lot of ground to cover. It addresses pricing, auth, and request shape, but leaves parameter semantics, response format specifics, and the meaning of the caps unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for all four parameters, so the description must compensate. 'Standard OpenAI chat.completions request/response shape' does meaningfully anchor messages/temperature/top_p/max_tokens to a well-known contract, and 'capped input and output' hints at limits, but no per-parameter detail is given.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: calling OpenAI's gpt-4o-mini through a pay-per-call x402 endpoint. Naming the exact model distinguishes it from the many sibling model variants (gpt_4_1, gpt_5_nano, etc.), though it never explicitly routes against them. The trailing truncated 'Search terms: OpenAI…' is noise rather than clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance. With ~15 sibling OpenAI model endpoints plus netintel_openai and netintel_v1_chat_completions, the description gives no basis for choosing gpt-4o-mini over a cheaper or stronger sibling. The agent must infer selection from the model name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_openai_gpt_5_1B
Call OpenAI's gpt-5.1 via a single pay-per-call x402 endpoint — no OpenAI account or API key needed, pay $0.15 per request in USDC. Standard OpenAI chat.completions request/response shape, capped input and output. Search terms: OpenAI…
| Name | Required | Description | Default |
|---|---|---|---|
| messages | Yes | ||
| max_completion_tokens | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description carries the full burden but does provide real behavioral context: no OpenAI account/API key needed, $0.15 per request in USDC via x402, and capped input/output. It stops short of stating actual token caps, rate limits, auth mechanics, or failure/refund behavior for the payment flow.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core capability and pricing in a compact form, with no filler. The trailing truncated 'Search terms: OpenAI…' is wasted/empty text rather than substantive guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No annotations and no output schema, so the description must do all the work, and it partially does (payment model, cost, request shape). It omits the specifics an agent needs to call correctly — token cap values, rate/payment failure handling, and the detailed messages format — leaving the picture incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for both parameters, so the description must compensate. It references the 'Standard OpenAI chat.completions request/response shape,' which gives the agent a known template for the required messages array and for max_completion_tokens, plus notes I/O is 'capped' — but never spells out the message object structure or the cap value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: call OpenAI's gpt-5.1 model through a pay-per-call endpoint. The model version in the name/description distinguishes it from the many sibling model variants (gpt_5_4, gpt_4_1, etc.). However, the description is truncated mid-sentence ('Search terms: OpenAI…'), so the full intended scope never lands.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to choose gpt-5.1 over the crowded family of netintel_openai_* model siblings or netintel_v1_chat_completions. The only implicit signal is the model name itself; there is no stated selection criteria, cost trade-off reasoning, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_openai_gpt_5_2B
Call OpenAI's gpt-5.2 via a single pay-per-call x402 endpoint — no OpenAI account or API key needed, pay $0.20 per request in USDC. Standard OpenAI chat.completions request/response shape, capped input and output. Search terms: OpenAI…
| Name | Required | Description | Default |
|---|---|---|---|
| messages | Yes | ||
| max_completion_tokens | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must carry behavioral disclosure. It does add genuinely useful context — pay-per-call x402 endpoint, $0.20 USDC per request, no OpenAI account/API key required — but fails to state output caps concretely, error behavior, or latency/rate characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core sentences are efficient and front-load the key facts (model, payment, shape). However, the trailing 'Search terms: OpenAI…' fragment is a truncated, low-value tail that adds noise rather than information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description does cover the return shape by analogy to chat.completions and discloses the payment requirement. It still omits the actual input/output caps it advertises, leaving an agent without the constraints needed to call it safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the schema is bare (messages as an undescribed array, max_completion_tokens with no docs). The reference to 'Standard OpenAI chat.completions request/response shape' partially compensates by telling the agent what messages should contain, but 'capped input and output' is too vague to explain max_completion_tokens limits.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (call OpenAI's gpt-5.2 chat completion) and uniquely identifies the model among a large family of sibling model endpoints. It does not, however, explain how it differs in purpose from netintel_openai_gpt_5_1, gpt_4_1, or netintel_v1_chat_completions beyond the model label.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance and no comparison against the ~15 sibling model endpoints, which is exactly what an agent needs to choose among gpt-5.2, gpt-5.1, gpt-5-nano, etc. Pricing is mentioned but that is not selection guidance for the task at hand.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_openai_gpt_5_4B
Call OpenAI's gpt-5.4 via a single pay-per-call x402 endpoint — no OpenAI account or API key needed, pay $0.25 per request in USDC. Standard OpenAI chat.completions request/response shape, capped input and output. Search terms: OpenAI…
| Name | Required | Description | Default |
|---|---|---|---|
| messages | Yes | ||
| max_completion_tokens | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose meaningful traits: pay-per-call at $0.25 in USDC and no OpenAI account or API key required. It does not explain what the 'capped input and output' limits actually are, nor rate limits, error handling, or retry behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core sentence is front-loaded and reasonably tight, but it ends with an awkward truncated 'Search terms: OpenAI…' fragment that reads as keyword stuffing rather than useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a paid, schema-sparse tool with no annotations and no output schema, the description covers the essential cost and auth story, but leaves the agent guessing about model selection, the nature of the input/output caps, and the response format beyond 'chat.completions shape'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the schema documents neither parameter. The description partially compensates by stating that requests follow the 'standard OpenAI chat.completions request/response shape', which tells an agent what messages and max_completion_tokens mean, but it adds no explicit per-parameter detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — calling OpenAI's gpt-5.4 through an x402 pay-per-call endpoint — which is clearer than a bare name. However, amid a large cluster of near-identical siblings (gpt-5_5, gpt-5_4_mini, gpt-5_4_nano, gpt_4_1, v1_chat_completions), it gives no basis for choosing this specific model over the others.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description never says when to pick gpt-5.4 versus the many other model siblings or netintel_openai. It offers payment/auth context (no key, $0.25 USDC) but no selection guidance or exclusions, so the agent is left to infer when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_openai_gpt_5_4_miniB
Call OpenAI's gpt-5.4-mini via a single pay-per-call x402 endpoint — no OpenAI account or API key needed, pay $0.04 per request in USDC. Standard OpenAI chat.completions request/response shape, capped input and output. Search terms:…
| Name | Required | Description | Default |
|---|---|---|---|
| messages | Yes | ||
| max_completion_tokens | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does add real context: no API key needed, $0.04 USDC per call via x402, and a standard chat.completions shape. But 'capped input and output' is left unspecified, and there is no mention of rate limits, failure modes, or what happens on insufficient payment.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense and front-loaded, with cost and auth in the first clause and request shape in the second. The trailing 'Search terms:…' fragment is an artifact rather than useful content, but the body has no wasted sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter chat-completion proxy with no output schema and no annotations, the description covers payment, auth, and request shape but leaves the token caps, response format, and error behavior unspecified. Adequate to attempt a call, incomplete for reliable use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for two undocumented params. 'Standard OpenAI chat.completions request/response shape' implies the semantics of messages and max_completion_tokens for an agent familiar with OpenAI, but neither parameter is described directly and no constraints or defaults are given.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Call) and resource (OpenAI's gpt-5.4-mini via an x402 endpoint), and names the exact model, which nominally separates it from the ~15 sibling model wrappers. However, it gives no signal about what makes this model the right pick, so an agent can identify the tool but not place it within the model family.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no alternatives named, despite the sibling list containing many near-identical model tools (gpt-5.4, gpt-5.4-nano, gpt-5.5, gpt-5.2, etc.) plus a generic netintel_openai. The payment details are operational, not routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_openai_gpt_5_4_nanoB
Call OpenAI's gpt-5.4-nano via a single pay-per-call x402 endpoint — no OpenAI account or API key needed, pay $0.005 per request in USDC. Standard OpenAI chat.completions request/response shape, capped input and output. Search terms:…
| Name | Required | Description | Default |
|---|---|---|---|
| messages | Yes | ||
| max_completion_tokens | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does add real context: pay-per-call x402, no API key required, USDC pricing, and capped input/output. However, it never specifies what the caps actually are, how payment/auth is handled at call time, or error/failure behavior, and the text is visibly truncated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The key facts are front-loaded in one dense sentence, which is efficient. The trailing 'Search terms:…' fragment is truncated and reads as unfinished boilerplate rather than earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter wrapper with no output schema, the description covers the essentials (auth, cost, request shape). But the truncation and the absence of the actual token caps mean an agent cannot fully predict the call's constraints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for both parameters, so the description must compensate. 'Standard OpenAI chat.completions request/response shape' does convey the messages structure, and 'capped input and output' gestures at max_completion_tokens, but neither is made concrete, leaving the truncation limits undefined.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — calling OpenAI's gpt-5.4-nano through a pay-per-call endpoint — so the core action is unambiguous. It does not distinguish itself from the many sibling model tools (gpt-5.4, gpt-5.4-mini, gpt-5-nano, gpt-5.5), leaving the agent to infer why nano is chosen over them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance and no routing against the ~15 sibling model tools. The price point ($0.005) hints at a cost-sensitive role, but the description never states it as a selection criterion or lists exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_openai_gpt_5_5B
Call OpenAI's gpt-5.5 via a single pay-per-call x402 endpoint — no OpenAI account or API key needed, pay $0.65 per request in USDC. Standard OpenAI chat.completions request/response shape, capped input and output. Search terms: OpenAI…
| Name | Required | Description | Default |
|---|---|---|---|
| messages | Yes | ||
| max_completion_tokens | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does contribute real behavioral facts: cost ($0.65 per request in USDC), no account/key requirement, and 'capped input and output.' However, the caps are never quantified, and there is no mention of rate limits, truncation behavior, or error modes on payment failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the model, pricing, and request shape in a compact block, and most sentences earn their place. The trailing 'Search terms: OpenAI…' fragment is truncated boilerplate that adds little.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter tool with no annotations and no output schema, the description supplies cost, auth, and request-shape context, which is decent. It falls short on quantifying the stated caps and on distinguishing this endpoint from its many near-identical sibling models, which is the agent's main decision.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. 'Standard OpenAI chat.completions request/response shape' does ground both parameters (messages as role/content turns, max_completion_tokens as an output cap) for an agent that knows the OpenAI API, but the description adds no syntax, defaults, or bounds for either field.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Call OpenAI's gpt-5.5') and names the delivery mechanism (pay-per-call x402 endpoint). The model name is what distinguishes it from the many sibling gpt_5_* variants, but the description never tells the agent how this model differs in capability from gpt_5_4, gpt_5_2, or gpt_5_6_sol, so differentiation is nominal rather than explained.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance. The only usage-adjacent statement is 'no OpenAI account or API key needed,' which is an enabling condition rather than selection guidance. With a dozen sibling model endpoints differing only by model name, the absence of routing advice is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_openai_gpt_5_6_lunaB
Call OpenAI's gpt-5.6-luna via a single pay-per-call x402 endpoint — no OpenAI account or API key needed, pay $0.06 per request in USDC. Standard OpenAI chat.completions request/response shape, capped input and output. Search terms:…
| Name | Required | Description | Default |
|---|---|---|---|
| messages | Yes | ||
| max_completion_tokens | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does meaningful work: it discloses the auth model (no OpenAI account/API key), the billing side effect ($0.06 per request in USDC), and the response shape (standard chat.completions). It underspecifies what 'capped input and output' concretely means and omits rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core operation and cost, tightly worded. The trailing truncated 'Search terms:…' fragment is dead weight/artifact but overall the payload is compact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-param, no-output-schema, no-annotation tool the description covers auth, cost, and request shape adequately. But it omits the single most important disambiguator given 14 model siblings—what this model is for relative to them—leaving a real gap in call correctness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and there are 2 undocumented params, so the description must compensate. 'Standard OpenAI chat.completions request/response shape' implicitly documents the messages structure, but max_completion_tokens is only hinted at by 'capped output' and the 'capped input' limit is never quantified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (call OpenAI's gpt-5.6-luna) and notes the transport (x402 pay-per-call endpoint). However, it does not differentiate this model from the ~14 sibling netintel_openai_gpt_* tools (sol, terra, 5.5, 5.4, etc.), so an agent cannot tell why 'luna' is the right choice.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives payment/logistics context (no API key, $0.06 in USDC) but no when-to-use guidance, no conditions distinguishing it from the other gpt model siblings, and no exclusions. The agent is left to infer model-selection criteria entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_openai_gpt_5_6_solB
Call OpenAI's gpt-5.6-sol via a single pay-per-call x402 endpoint — no OpenAI account or API key needed, pay $0.65 per request in USDC. Standard OpenAI chat.completions request/response shape, capped input and output. Search terms: OpenAI…
| Name | Required | Description | Default |
|---|---|---|---|
| messages | Yes | ||
| max_completion_tokens | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, but it does disclose meaningful behavioral traits: $0.65 per request in USDC, no account/key required, and 'capped input and output.' It does not state rate limits, failure/refund behavior, or what the caps actually are, so the disclosure is partial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the essential value proposition (which model, how to pay, no key needed), followed by shape and pricing details. The trailing truncated 'Search terms: OpenAI…' adds little, but the body is otherwise tight and waste-free.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter completion proxy with no output schema and no annotations, the description covers the mechanism, cost, and request shape adequately. It still omits concrete parameter documentation and any return/error detail, so an agent is left to infer the exact request contract.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for both parameters (messages, max_completion_tokens), so the description must compensate. It partially does so by pointing to the 'Standard OpenAI chat.completions request/response shape,' which lets a knowledgeable agent infer the parameter contract, but it never names or bounds the parameters directly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Call), resource (OpenAI's gpt-5.6-sol), and mechanism (pay-per-call x402 endpoint), so the core action is unambiguous. However, it does not differentiate itself from the many sibling model endpoints (gpt_5_6_terra, gpt_5_6_luna, gpt_5_5, etc.), leaving model-selection logic to the agent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a use case (call without an OpenAI account or API key), but gives no explicit when-to-use or when-not-to-use guidance versus the ~15 sibling model endpoints or netintel_v1_chat_completions. An agent has no stated basis for choosing this over the other models.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_openai_gpt_5_6_terraB
Call OpenAI's gpt-5.6-terra via a single pay-per-call x402 endpoint — no OpenAI account or API key needed, pay $0.25 per request in USDC. Standard OpenAI chat.completions request/response shape, capped input and output. Search terms:…
| Name | Required | Description | Default |
|---|---|---|---|
| messages | Yes | ||
| max_completion_tokens | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose real behavioral facts: pay-per-call pricing in USDC, no API key required, and that input/output are capped. It omits the actual cap values, failure/timeout behavior on payment, and rate limits, so the disclosure is partial rather than complete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the action and the price model, then the request/response shape; little waste. The trailing 'Search terms:…' fragment is metadata noise but does not obscure the core content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no annotations mean the description must cover safety, cost, and return shape. It covers cost and the request shape but not the concrete caps it references, nor tokens/limits/errors. Adequate for a two-parameter chat wrapper, but with clear gaps an agent would need.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for both parameters, so the description must compensate. 'Standard OpenAI chat.completions request/response shape' usefully tells the agent that 'messages' follows the familiar chat format and that 'max_completion_tokens' is the output limit, but 'capped input and output' gives no concrete bounds, leaving the other half of the semantics to outside knowledge.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Call OpenAI's gpt-5.6-terra') and names the transport (x402 pay-per-call endpoint), which distinguishes it from the generic netintel_openai and the other gpt_5_6 variants. Sibling differentiation is by model name only, with no explanation of what terra's niche is versus sol/luna/5.5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives useful context ('no OpenAI account or API key needed, pay $0.25 per request in USDC'), which implies the tool is for callers without credentials or with occasional usage. However, it never says when to pick terra over the many sibling models (gpt_5_6_sol, gpt_5_5, gpt_4_1, etc.), leaving selection to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_openai_gpt_5_nanoA
Call OpenAI's gpt-5-nano via a single pay-per-call x402 endpoint — no OpenAI account or API key needed, pay $0.005 per request in USDC. Standard OpenAI chat.completions request/response shape, capped input and output. Search terms: OpenAI…
| Name | Required | Description | Default |
|---|---|---|---|
| messages | Yes | ||
| max_completion_tokens | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses the pay-per-call cost ($0.005 USDC), no-key auth requirement, x402 endpoint type, and that input/output are capped. It does not specify what the caps are, rate limits, or error/payment-failure behavior, so it falls short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose, cost, and auth model are front-loaded in a single efficient sentence. The trailing 'Search terms: OpenAI…' fragment is truncated keyword-style padding that does not earn its place, keeping this from a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple pass-through model endpoint, the description is complete enough: it covers payment, auth, endpoint type, request/response format, and output caps. The lack of explicit parameter descriptions, exact cap values, and model-selection guidance are the only gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does so by stating the request/response follows the standard OpenAI chat.completions shape, which tells an agent how to populate the required messages array and the optional max_completion_tokens field without further schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Call') and resource ('gpt-5-nano') with the delivery mechanism and cost, so the agent knows exactly what the tool does. However, it does not explicitly differentiate itself from the many sibling model-specific OpenAI endpoints or the generic netintel_openai tool beyond the model name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by noting no OpenAI account or API key is needed and payment is per-call in USDC, which gives a clear adoption context. It provides no guidance on when to choose gpt-5-nano over the other model-specific siblings or when to avoid it, leaving model selection entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_page_extractA
Fetch any article or web page and extract clean readable text stripped of ads and boilerplate. Returns content, word count, reading time, and language. For JavaScript-rendered or bot-walled pages a plain fetch can't read, use netintel_exa_contents instead.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the return shape (content, word count, reading time, language) and the ad/boilerplate stripping behavior, but says nothing about authentication, rate limits, size/timeout limits, or what happens on an unreadable or failed fetch.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences: purpose and output first, the fallback routing last. Every sentence carries information and nothing is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description does cover both the return fields and the key failure routing, which is most of what an agent needs for a single-param read tool. It stops short of error behavior and hard limits, which leaves a modest gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and there is one required param, so the description must compensate. 'Fetch any article or web page' implies the url parameter is a page URL, which is marginally useful, but no format, encoding, or validation details are added beyond the self-explanatory 'url' name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (fetch a page, extract readable text) plus the transformation applied (strip ads and boilerplate). It also names the sibling it is not by pointing to netintel_exa_contents for harder pages, so an agent can distinguish it from netintel_web_fetch/netintel_exa_contents without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly names the alternative (netintel_exa_contents) and the exact condition that selects it (JavaScript-rendered or bot-walled pages a plain fetch can't read). The when-to-use boundary is stated rather than inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_pdf_parseC
Parse a PDF to text and Markdown: send a PDF url or base64 file, get clean Markdown with paragraphs rebuilt from the text layer, per-page character offsets for citing pages, metadata (title, author, dates, page count) and the page numbers…
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| pages | No | ||
| max_chars | No | ||
| file_base64 | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses the transformation behavior (text-layer reconstruction, per-page offsets, metadata extraction), which is genuinely useful, but never explicitly states that this is a read-only operation, nor does it mention limits, failure modes for unparsable/scanned PDFs, or rate constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in a single colon-separated sentence, but the sentence runs long by enumerating return fields and appears truncated ('and the page numbers…'), which undercuts clarity. It is not wasteful, but the trailing enumeration is unstructured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a four-parameter tool with no annotations and no output schema, the description helpfully sketches the return shape (Markdown, offsets, metadata), which offsets the missing output schema. However, the unexplained 'pages' and 'max_chars' controls and absence of any read-only/limitation statement leave real gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% across all four parameters. The description implicitly covers 'url' and 'file_base64' via 'send a PDF url or base64 file', but 'pages' (page selection) and 'max_chars' are never mentioned, leaving half the parameters undocumented in both schema and prose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Parse a PDF to text and Markdown') and names the two accepted input forms, so the agent knows exactly what transformation this performs. The PDF-specific scope implicitly separates it from text siblings like netintel_markdown or netintel_page_extract, but no sibling is named explicitly, keeping it short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says how to feed input ('send a PDF url or base64 file') but gives no guidance on when to choose this over alternatives such as netintel_page_extract, netintel_markdown, or netintel_extract. No prerequisites, exclusions, or routing conditions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_phone_intelB
Parse and validate any phone number in any format. Returns country, line type (mobile/landline/VOIP/toll-free), carrier region, and all standard format variants.
| Name | Required | Description | Default |
|---|---|---|---|
| phone | Yes | ||
| country_hint | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description carries the full behavioral burden. It does disclose the return fields (country, line type, carrier region, format variants), which is genuinely useful because there is no output schema. However it says nothing about what happens on an invalid/unparseable number, whether validation is purely structural or carrier-verified, or any external lookup/privacy implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the capability front-loaded and the return contract second; nothing is padded or repeated. It could be marginally denser by folding the parameter note into the same sentence, but it is close to optimal for the length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter utility with no annotations and no output schema, the description covers purpose and return shape adequately. It falls short on country_hint semantics and failure behavior, which an agent needs to invoke the tool correctly across ambiguous inputs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must define both parameters, and it effectively addresses only one: 'any format' hints that the phone input accepts loose formatting. The country_hint parameter, which is critical for disambiguating national-format numbers, is never mentioned in either the schema or the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb pair ('Parse and validate') on a specific resource (phone number) and enumerates the output dimensions, so an agent immediately knows this is a phone-number parsing/normalization tool. No sibling tool covers phone numbers, so there is no real ambiguity to resolve, but the description never explicitly differentiates itself from adjacent lookup tools (email_intel, ip_geo).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the capability statement; there is no guidance on when to reach for this tool versus other validation/intel endpoints, no prerequisites, and no note about when a result is unreliable. 'Any phone number in any format' describes input flexibility, not when to use the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_prediction_marketA
Full detail for ONE Polymarket prediction market by id or slug — question, description, every outcome with its current price (implied probability), volume, liquidity, open/close dates, resolution source, category, and status. No API key…
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| slug | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose the return payload in detail (outcomes, prices as implied probability, volume, liquidity, dates, resolution source, status) plus a behavioral note that no API key is required. It stops short of covering failure behavior for unknown ids/slugs or the one-of constraint on the two inputs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The key identity (full detail, one market, id or slug) is front-loaded, followed by a field list that doubles as a stand-in for the absent output schema. The enumeration is long but each field earns its place given there is no output schema; the trailing 'No API key…' fragment is awkwardly truncated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter fetch with no output schema and no annotations, the description is nearly self-sufficient: it names the source (Polymarket), the lookup keys, and the returned fields, so an agent knows what it will get back. The only real omissions are the required-key constraint and behavior on a miss.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so both parameters are undocumented in the schema. The description partially compensates by indicating the lookup key is 'by id or slug', but it gives no format examples, no precedence rule when both are supplied, and no indication that at least one is required despite both being marked optional.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (fetch full detail) and resource (ONE Polymarket prediction market) and enumerates exactly what makes up that detail. The word 'ONE' implicitly separates it from the plural sibling netintel_prediction_markets, but it never names that sibling, so the differentiation is left to inference rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'Full detail for ONE ... market' — an agent can infer this is the single-record lookup versus a listing tool. However, there is no explicit when-to-use, no routing to netintel_prediction_markets or netintel_market_snapshot, and no statement of whether id or slug is required (both parameters are optional in the schema).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_prediction_marketsB
Live prediction-market odds from Polymarket — list the top active markets by volume, or search by keyword. Each result has the question, outcomes with current prices (implied probabilities), 24h/total volume, liquidity, and resolution…
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | ||
| status | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden but does useful work by disclosing the return payload (question, outcomes, implied-probability prices, 24h/total volume, liquidity, resolution) and the live Polymarket source. However, it omits freshness/pagination behavior, rate limits, and whether a keyword search still returns volume-ranked results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the value proposition and mode options, then the return shape, with no filler sentences. The trailing ellipsis suggests the description is truncated mid-idea, which is a minor structural blemish.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-annotation, no-output-schema tool, the description usefully enumerates return fields so an agent knows what it gets back. But it leaves all three input parameters undocumented and gives no behavioral constraints, so it is not fully complete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across three params (limit, query, status), so the description must compensate and only partially does: 'search by keyword' glosses 'query' and 'top ... by volume' hints at a bounded list, but 'limit' and 'status' are never mentioned or explained. Half the parameters remain opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Live prediction-market odds from Polymarket') and names two concrete modes: list top active markets by volume or search by keyword. This distinguishes it from most siblings, though it does not clarify its relationship to the closely-named sibling netintel_prediction_market (singular).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies two usage modes ('list the top active markets by volume, or search by keyword'), which gives some selection logic, but it never states when to prefer this over the singular netintel_prediction_market sibling or what conditions favor one mode. Guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_redirect_traceB
Follow a URL through its full redirect chain recording status codes, timing, TLS status per hop. Returns a redirect health grade A-F and detects protocol downgrades.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| max_hops | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose the recorded artifacts per hop and the returned grade/downgrade detection, which is genuine behavioral value. However it says nothing about whether the trace is read-only, any rate limits, hop limits, or how failures/timeouts are surfaced.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences with zero filler, and the core action and its outputs are front-loaded. Slightly more could have been said about parameters within the same footprint, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No annotations and no output schema mean the description must stand alone, and it only partly does: it describes returned values but omits max_hops semantics, defaults, and edge-case behavior. Adequate for a quick call, incomplete for an agent that needs to reason about hop limits or failure modes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for both parameters. The description mentions following a URL, which weakly implies the url parameter, but adds nothing about max_hops — its default, ceiling, or behavior when exceeded. It does not compensate for the documentation gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (follow a URL through its redirect chain) plus the outputs produced (status codes, timing, TLS status, A-F grade, downgrade detection). This is clearly distinct from siblings like netintel_url_safety or netintel_web_fetch, though the description never names an alternative to reinforce the distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no stated prerequisites, and no mention of sibling tools such as netintel_url_safety or netintel_ssl_analyze that an agent might confuse this with. The agent must infer the trigger scenario entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_robots_txtB
Fetch and parse a domain's robots.txt. Returns all crawl rules, sitemap URLs, crawl delay settings, and checks if a specific path is allowed for a given bot.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| domain | Yes | ||
| user_agent | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses return contents (rules, sitemaps, crawl delay, path-allowed check), which is useful, but says nothing about failure modes (missing robots.txt, network errors) or behavior of optional parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly packed sentences with no waste, front-loading the core action and enumerating the outputs efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description's enumeration of return values is helpful, but with zero parameter documentation and no annotations, the definition is adequate but leaves gaps around optional parameters and error behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description should compensate. It mentions domain implicitly ('a domain's robots.txt') and the concept of 'a specific path' and 'a given bot', but does not map these to the path and user_agent parameters explicitly, leaving the agent to infer parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (fetch and parse) and resource (robots.txt), plus enumerates the returned content. It doesn't differentiate from sibling netintel_sitemap_parser, which also deals with crawl-related resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance or alternatives are offered. The description doesn't explain when an agent should reach for robots.txt parsing vs. other crawl-related siblings like sitemap_parser.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_route_recommendA
Get the 3 best x402 endpoints for a job, from three different providers, each health-checked live just now: its live price quote, its input schema and the reasons. Paid per call; not charged when no candidate passes the live check. It does not call the endpoint for you: NetIntel picks map to the netintel_* tools; a third-party pick needs your own x402 client.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The job, in plain words, e.g. "geocode an address to latitude and longitude" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and largely meets it: it discloses live health-checking, the billing model ('Paid per call'), the no-charge failure case ('not charged when no candidate passes the live check'), and the crucial non-side-effect boundary that it does not invoke the endpoint. Missing only auth/permission or rate-limit context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and scoped tightly, and the colon-list of returned artifacts is compact. Slightly dense, but every clause (providers, live check, pricing, non-execution) earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema or annotations exist, so the description must explain returns and behavior, and it does: price quote, input schema, reasons, plus the charging model and the non-execution caveat. Adequate for a one-parameter tool, though the routing-tool boundary remains thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and there is a single parameter whose schema already includes an example ('geocode an address to latitude and longitude'). The description's 'for a job' adds little beyond the schema, so the baseline 3 for fully documented params is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource with real scope detail: 'Get the 3 best x402 endpoints for a job, from three different providers, each health-checked live just now.' An agent immediately knows this is a recommendation/selection tool, not an executor. It does not, however, name the obviously related siblings netintel_route_search or netintel_route_vet to draw the line between them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied (pick endpoints for a job) and one boundary is made explicit ('It does not call the endpoint for you'), which is useful. But there is no when-to-use/when-not guidance relative to the sibling route tools (route_search, route_vet), leaving the agent to infer which routing tool to pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_route_searchA
Find which x402 pay-per-call API endpoint fits a job, from ANY provider (not only NetIntel): ranks every endpoint in the Coinbase Bazaar catalog by fit, real paying demand, health and price, and returns each pick's URL, price, inputs and plain-words reasons. Free (60 searches an hour). Use it before paying an endpoint you do not know; netintel_route_recommend health-checks the top picks live.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Results to return, 1-25 (default 5) | |
| query | Yes | The job, in plain words, e.g. "check SPF DKIM DMARC for a domain" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does most of it: it discloses the free-tier rate limit (60 searches/hour), the ranking dimensions (fit, real paying demand, health, price), and what each result contains (URL, price, inputs, plain-words reasons). It stops short of stating auth/permission needs or whether results are cached, keeping it out of the top band.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense but front-loaded: the core action and ranking scope lead, cost and the routing hint follow. The final clause about route_recommend earns its place as routing guidance, though the sentence packs several ideas tightly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter search tool with no output schema, the description supplies everything needed: what it searches, what it returns, the cost/rate limit, and the natural next tool. Nothing an agent needs to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema already documents 'query' with an example and 'limit' with range and default, so the baseline is 3. The description adds no parameter-level detail beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (find/rank) and resource (x402 pay-per-call API endpoints from the Coinbase Bazaar catalog), explicitly scoped to 'ANY provider (not only NetIntel)'. It draws a clean line against the closest siblings by naming netintel_route_recommend's live health-check role, so an agent can distinguish it without opening other schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit trigger ('Use it before paying an endpoint you do not know') and names the complementary sibling (netintel_route_recommend health-checks the top picks live). The when-to-use and the follow-up alternative are both stated, not implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_route_vetA
Check one x402 endpoint before relying on it: give its URL as the Coinbase Bazaar lists it and get a live payment-challenge check, its current price quote, its 7/30/90-day check history and paying-wallet trend, and a verdict: ok, slow, unstable or failing. Paid per call; not charged when the URL is not in the catalog.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The endpoint's resource URL, exactly as listed (netintel_route_search returns it as resource_url) | |
| method | No | Only when the URL is listed under both methods |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden and does meaningful work: it discloses that a live payment-challenge check is performed, enumerates the verdict values (ok, slow, unstable, failing), and states billing behavior ('Paid per call; not charged when the URL is not in the catalog'). It does not cover auth requirements, rate limits, or explicitly confirm no side effects, which keeps it below a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the action and its payoff, with the billing caveat placed last. Every clause earns its place and nothing is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, yet the description enumerates the returned artifacts (challenge check, price quote, history, trend, verdict) and the billing model, and the schema fully covers the two parameters. For a two-parameter, no-annotation tool, nothing an agent needs to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both url and method are already fully documented in the schema, including the enum and the 'only when listed under both methods' condition. The description reinforces the URL format ('exactly as the Coinbase Bazaar lists it') but adds no new parameter meaning, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Check) and resource (one x402 endpoint), and enumerates exactly what comes back: payment-challenge check, price quote, 7/30/90-day check history, paying-wallet trend, and a verdict. An agent can distinguish this from netintel_route_search (find routes) and netintel_route_recommend (recommend routes) without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear context of use ('before relying on it') and scopes it to a single endpoint, with the prerequisite that the URL must be given exactly as Coinbase Bazaar lists it (schema points to netintel_route_search for resource_url). It stops short of naming alternative siblings or stating explicit exclusions, so it is not a full when/when-not treatment.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_rss_parserB
Fetch and parse any RSS 2.0 or Atom feed. Returns structured articles with title, link, description, author, publish date, and categories.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It helpfully discloses the returned article fields (title, link, description, author, publish date, categories), but says nothing about network behavior, error handling for invalid feeds, or how the limit parameter truncates results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero padding: the action is front-loaded and the return shape follows immediately. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the return-field list is genuinely valuable, and no annotations exist to carry behavioral load. However, for a 2-parameter tool with one undocumented parameter and no usage context, the description leaves real gaps an agent must guess at.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description never mentions either parameter. The word 'any' mildly implies the url parameter accepts arbitrary feed URLs, but the limit parameter's meaning (max articles? pagination?) is completely undocumented in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb pair (fetch and parse) and a specific resource (RSS 2.0 / Atom feeds), which separates it from content-scraping siblings like netintel_page_extract or netintel_sitemap_parser. It stops short of explicitly naming an alternative sibling, so it lands at a clear-but-not-differentiated 4.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose this tool over netintel_page_extract, netintel_og_scraper, or netintel_sitemap_parser, and no mention of prerequisites or failure modes for non-feed URLs. Usage is only implied by the resource name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_schemaC
Validate data against a supplied schema — checks required fields, nested objects, arrays, enums, string formats, numeric ranges, lengths, and additional-property rules deterministically, with optional type coercion and repair, returning…
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | ||
| coerce | No | ||
| repair | No | ||
| schema | Yes | ||
| allow_llm | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full behavioral burden. It does add useful traits — 'deterministically' and 'optional type coercion and repair' — but leaves the allow_llm branch entirely unexplained, which matters because an LLM-driven path would undercut the deterministic claim. Two of the five parameters (coerce, repair) are implied, yet their effects and reversibility are unstated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One long sentence that is mostly front-loaded, but it ends in a dangling fragment — 'returning…' — that conveys no information and reads as truncated. That trailing clause adds noise rather than value and should be removed or completed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, 0% parameter coverage, and nested-object inputs, the description is too thin for a 5-parameter validation tool. It never explains the return value (the truncated 'returning…'), error behavior, or the semantics of allow_llm, leaving the agent to guess at outcomes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 5 parameters, so the description must compensate and does not. 'Optional type coercion and repair' loosely gestures at coerce/repair, but the format of 'data' (a plain string — presumably stringified JSON), the expected shape of 'schema', and the role of 'allow_llm' are all undocumented. An agent cannot reliably populate the required inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource — 'Validate data against a supplied schema' — and enumerates the validation surface (required fields, nested objects, enums, formats, ranges, lengths, additional-property rules). It is clear what the tool does, but it never distinguishes itself from close siblings like netintel_schema_parse or netintel_schema_map, so an agent cannot tell them apart without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance and no mention of alternatives, despite the tool sitting in a cluster of schema/JSON utilities (netintel_schema_parse, netintel_schema_map, netintel_json). The agent gets no signal for choosing validation over parsing or mapping.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_schema_mapB
Transform a source object into a target schema — matches fields by alias and structure deterministically, uses an LLM only for semantic mapping when needed, and supports mapping hints, transforms, and defaults, so agents can reshape data…
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | ||
| hints | No | ||
| source | Yes | ||
| defaults | No | ||
| allow_llm | No | ||
| transforms | No | ||
| target_schema | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden. It usefully discloses the deterministic-first strategy and that an LLM is invoked only for semantic mapping, plus support for hints, transforms and defaults — meaningful context. It still omits whether anything is mutated/persisted, determinism guarantees, failure behavior when no mapping exists, and how errors are surfaced.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence that leads with the verb and resource before adding mechanism. Efficient, though the trailing ellipsis suggests truncation and the clause chaining (matching + LLM + hints/transforms/defaults) packs several ideas into one breath.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 7 parameters at 0% schema coverage, no annotations, no output schema, and nested object inputs, the description should define parameter shapes and the return contract. It covers only the broad mechanism and three optional features, leaving an agent unable to construct a correct call with confidence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 7 parameters, and the description only illuminates three of them (hints, transforms, defaults) plus obliquely allow_llm via 'uses an LLM only for semantic mapping when needed.' The required parameters source/target_schema are only implied, and 'mode' — a free-form string with no enum — is entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource pair: 'Transform a source object into a target schema,' and adds mechanism detail (alias/structure matching, LLM fallback). It does not, however, differentiate itself from close siblings like netintel_schema_parse, netintel_schema, or netintel_normalize, so an agent cannot route between them from the text alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The trailing clause 'so agents can reshape data' implies the usage context (reshaping between differing schemas), but there is no explicit when-to-use, when-not-to-use, or named alternative versus netintel_normalize/netintel_schema_parse. Usage is only inferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_schema_parseB
Extract structured data from any unstructured text using LLM. Pass any JSON Schema and get back a typed object. Works on emails, invoices, resumes, contracts, anything.
| Name | Required | Description | Default |
|---|---|---|---|
| raw_text | Yes | ||
| target_schema | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses that extraction is LLM-backed and driven by a caller-supplied schema, hinting at nondeterminism, but it says nothing about failure modes, schema-feature limits, permissions, or cost/latency of the LLM call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the core capability. The final illustrative clause is slightly redundant but still earns its place as a hint of scope. No padding or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, and a nested target_schema object that is completely undocumented, the description is adequate but thin — it never addresses what happens when the text doesn't match the schema, nor how nested/typed output is shaped.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does explain both parameters at a high level — raw_text is 'unstructured text' and target_schema is 'any JSON Schema' returning a typed object — but adds no format, size, or structural constraints for either.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear verb+resource (extract structured data from unstructured text) and the mechanism (LLM, arbitrary JSON Schema), which distinguishes it from fixed-purpose siblings like netintel_extract_invoice or netintel_extract_resume. It stops short of naming any sibling it competes with (e.g. netintel_text_to_json, netintel_extract), so an agent must infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'works on emails, invoices, resumes, contracts, anything' phrase implies a broad, schema-driven use case, but there is no explicit when-to-use vs. the many specialized extract tools, and no when-not guidance. Usage is inferable but not directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_security_headersB
Audit 10 security-critical HTTP response headers (CSP, HSTS, X-Frame-Options, etc). Detects anti-patterns and returns a security grade A-F.
| Name | Required | Description | Default |
|---|---|---|---|
| target | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so the description carries the full burden. It usefully discloses the return shape (10 headers checked, anti-patterns flagged, A-F grade), but says nothing about whether the tool makes a live HTTP request, how redirects or http vs https are handled, or any auth/rate-limit constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with zero waste; the scope (which headers) and the output (grade) are front-loaded and immediately useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description does describe the return value (grade A-F, anti-patterns), which is helpful, but it leaves the input format ambiguous and omits operational context for a network-fetching tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'target' has 0% schema description coverage and the description never clarifies whether it expects a full URL, a bare domain, or a hostname — a meaningful ambiguity for an HTTP-header audit tool. The phrase 'HTTP response headers' only loosely implies a URL-like input.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (audit) and resource (10 security-critical HTTP response headers, with examples CSP/HSTS/X-Frame-Options), plus the outcome (anti-pattern detection, A-F grade). It is clearly distinguishable from most siblings, though it does not explicitly differentiate itself from related tools like netintel_ssl_analyze or netintel_url_safety.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus netintel_ssl_analyze, netintel_url_safety, or netintel_domain_vet, and no prerequisites stated. Usage is only inferable from the purpose text.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_semantic_rankC
Semantic similarity ranking — send a query plus up to 100 candidate texts, get the candidates back ranked by semantic similarity with scores. No vectors, no cosine math, no embedding model to manage: one call, one price, ranked results…
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | ||
| query | Yes | ||
| top_k | No | ||
| min_score | No | ||
| candidates | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses that it returns ranked candidates with scores and that candidates are limited to up to 100, but it omits scoring range, error behavior, and whether top_k or min_score filtering changes the returned set.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is front-loaded with the core operation and remains short. The value-proposition sentence is somewhat promotional and the trailing ellipsis is odd, but the description is still efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a five-parameter tool with no annotations and no output schema, the description is incomplete. It gives a basic input and output sketch but does not document model selection, ranking controls, or the exact shape of the ranked results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across five parameters. The description covers only query and candidates (including the 100-candidate cap) and leaves model, top_k, and min_score completely unexplained, so it does not compensate for the missing schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific operation: take a query and candidate texts, return them ranked by semantic similarity with scores. It distinguishes itself from embedding-based workflows by saying 'no vectors, no cosine math, no embedding model to manage,' but it does not explicitly name or contrast with sibling tools such as netintel_embeddings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what the tool does but gives no guidance on when to use it versus alternatives. It does not mention scenarios, exclusions, or named sibling tools that an agent should compare against.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_sentimentB
Analyze the sentiment of text using Claude Haiku — returns overall polarity (positive/negative/neutral/mixed), a -1 to +1 score, detected emotions, and optional per-aspect sentiment, so agents can gauge tone in reviews, messages, and…
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | ||
| aspects | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the output dimensions (polarity, score range, emotions, optional aspects), which is useful, but omits key behavioral traits: whether it is a paid/compute-heavy LLM call, latency, rate limits, language support, or text-length limits. Partial credit for output disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single front-loaded sentence that gives purpose and return shape efficiently. Slightly overloaded with enumerated return fields, and it ends mid-thought with an ellipsis, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no annotations, so the description should do more. It does convey the return shape, which is the biggest gap-filler, but leaves parameters, performance, and language constraints unspecified for a tool with two undeclared parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description only vaguely alludes to 'per-aspect sentiment' without naming or explaining the aspects array parameter, and says nothing about the text parameter's format or limits. With two undocumented parameters, the description fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (analyze sentiment of text) and names the underlying model (Claude Haiku) plus the return shape (polarity, -1 to +1 score, emotions, per-aspect). Distinct from siblings like netintel_classify and netintel_content_moderate, though it does not explicitly name those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied usage is given via the example use cases ('gauge tone in reviews, messages'), which hints at context, but there is no explicit when-to-use vs alternatives guidance, no exclusions, and no mention of how it differs from netintel_classify or netintel_content_moderate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_sitemap_parserB
Parse an XML sitemap or auto-discover it from a domain. Returns all URLs with metadata including lastmod and priority.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses the return payload ('all URLs with metadata including lastmod and priority'), but is silent on failure behavior when no sitemap exists, whether discovery follows robots.txt, redirect handling, or result caps for large sitemaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with zero filler. The core capability is front-loaded and the return-value note follows immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with no output schema, the description covers what it does and roughly what comes back, which is most of what an agent needs. It stops short of the edge cases (empty sitemap, non-XML input, size limits) that would make it fully self-sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single parameter is named only 'url'. The phrase 'auto-discover it from a domain' partially compensates by signalling that the input may be a bare domain rather than a full sitemap URL, but it does not confirm accepted formats or whether paths are allowed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (parse), a specific resource (XML sitemap), and an alternate acquisition path (auto-discover from a domain). The resource name differentiates it from near neighbors like netintel_robots_txt and netintel_rss_parser, though it never names those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no when-not-to-use, and no reference to alternatives such as netintel_robots_txt (to find sitemap locations) or netintel_page_extract (to pull content from resulting URLs). An agent must infer usage entirely from the verb and resource.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_ssl_analyzeC
Analyze TLS certificate chain, supported protocols (TLS 1.0-1.3), key strength, and return an overall security grade A-F.
| Name | Required | Description | Default |
|---|---|---|---|
| port | No | ||
| domain | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses the analysis scope and that a letter grade is returned, but says nothing about network side effects, read-only nature, timeouts, rate limits, or whether port defaults are used when omitted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence that front-loads the verb and enumerates the analysis dimensions efficiently. Nothing is wasted, though the enumeration format slightly buries the returned-grade information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and 0% parameter coverage, the description must carry everything and does not. It omits input format expectations for the domain, the port default, and the structure of the analysis result beyond the A-F grade.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for both parameters. The description never mentions 'domain' or 'port', so it adds no meaning about what the domain should be (bare hostname vs URL) or what port defaults to when omitted (443 presumably).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (Analyze) and enumerates the resource scope: TLS certificate chain, supported protocols, key strength, and an A-F grade. It is clearly distinguishable from generic sibling tools, but it does not differentiate itself from the near-identical sibling netintel_ssl_cert.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, no prerequisites, and no mention of alternatives such as netintel_ssl_cert or netintel_cert_transparency. The agent must infer the applicable scenario entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_ssl_certA
SSL certificate check for any domain — issuer, subject, SANs, valid from/to, days until expiry, expired/self-signed flags, TLS version, chain length. One TLS handshake, sub-2-second answer. The light, cheap tier under netintel_ssl_analyze (full analysis, grading).
| Name | Required | Description | Default |
|---|---|---|---|
| port | No | ||
| domain | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose real behavioral traits: one TLS handshake, a sub-2-second latency expectation, and the exact response contents despite there being no output schema. It omits auth requirements, rate limits, and error/timeout behavior for unreachable hosts, which keeps it below a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the action and returned fields, followed by cost/latency and the sibling-tier routing. Every clause earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter read tool with no annotations and no output schema, the description is nearly sufficient: it enumerates the return fields and the routing alternative. The one notable gap is the undocumented port parameter, which an agent might need for non-443 endpoints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it only does so partially. 'Any domain' loosely conveys acceptable input for the domain field, but the port parameter is never mentioned and has no schema description, leaving it entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (SSL certificate check for any domain) and enumerates the concrete data returned (issuer, subject, SANs, validity dates, expiry days, expired/self-signed flags, TLS version, chain length). It also explicitly positions itself against the sibling netintel_ssl_analyze, so an agent can distinguish the two without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The closing phrase 'the light, cheap tier under netintel_ssl_analyze (full analysis, grading)' names the alternative and the axis on which to choose. It stops short of an explicit 'use this when X, use that when Y' instruction, but the routing condition (cheap/quick vs. full analysis/grading) is clearly inferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_subnet_calcA
Calculate IPv4/IPv6 subnet details from CIDR notation — network address, broadcast, netmask, usable host range, supernet. Pass multiple CIDRs comma-separated to detect overlaps.
| Name | Required | Description | Default |
|---|---|---|---|
| cidr | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the computed result fields and the multi-CIDR overlap behavior, which is useful, but it does not explicitly confirm the operation is read-only or mention permissions, rate limits, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences that are front-loaded with the primary purpose and then add the multi-CIDR behavior. Every phrase earns its place without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a stateless subnet calculator with one parameter, no annotations, and no output schema, the description is nearly complete: it defines the input format and lists the main outputs. It could be strengthened with a concrete CIDR example or a note about IPv4/IPv6 formatting, but nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage for the single required 'cidr' parameter, so the description must compensate. It does so by specifying 'CIDR notation' and explaining that multiple CIDRs can be passed comma-separated, adding meaningful input semantics beyond the bare string type.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb ('Calculate') and resource ('IPv4/IPv6 subnet details from CIDR notation'), and enumerates the outputs it returns: network address, broadcast, netmask, usable host range, and supernet. It also describes the multi-CIDR overlap-detection use case, making the tool's scope unambiguous among the network-oriented siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for subnet calculations and explicitly mentions passing multiple CIDRs to detect overlaps, but it does not state when to use this tool versus alternatives or when not to use it. With no directly equivalent sibling, the implied usage is adequate but not rich.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_tech_fingerprintA
Detect the full technology stack of a website — CMS, framework, CDN, analytics, security tools — from HTTP headers and HTML.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses the evidence sources (HTTP headers and HTML), which explains methodology, but says nothing about auth requirements, rate limits, failure modes, or whether the target site must be publicly reachable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence that names the action, target, categories detected, and the data sources. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-param detection tool with no annotations and no output schema, the description covers what is detected and how, but omits return structure (e.g., keyed categories), failure behavior, and any constraints. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter (url) with 0% schema description coverage. The description implies the url points to a website to profile, but doesn't clarify format expectations (scheme required, subdomain handling, etc.). Baseline 3 for a single-param tool with no schema detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Detect) and resource (full technology stack of a website) and enumerates the categories it covers (CMS, framework, CDN, analytics, security tools). This clearly distinguishes it from siblings like netintel_cloud_fingerprint and netintel_web_fetch.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case (profiling a website's tech stack) but doesn't explicitly state when to use this versus netintel_cloud_fingerprint, netintel_page_extract, or netintel_schema_parse. No exclusions or prerequisites are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_text_chunkA
Split text into overlapping chunks for RAG ingestion — by characters or words, with configurable chunk size and overlap. Deterministic (same input → same chunks), returns each chunk with its index and start/end offsets. No API key, no LLM…
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | ||
| unit | No | ||
| overlap | No | ||
| chunk_size | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it declares determinism (same input → same chunks), that no API key or LLM is involved, and that output includes chunk index and start/end offsets. It stops short of describing error behavior or the default values applied when unit/size/overlap are omitted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and use case, then supporting traits in a compact clause. Efficient overall, though the trailing ellipsis suggests the text is truncated and some detail may be lost.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description steps in by describing the return shape (each chunk with index and offsets). For a 4-param text utility with zero annotation coverage, the remaining gap is parameter defaults and edge-case behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It does explain that chunks are unit-based (characters or words) and that chunk size and overlap are configurable, but it never clarifies that 'text' is the required input or what defaults apply to unit/chunk_size/overlap. Partial compensation for four undocumented params.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('split text into overlapping chunks') with the intended use case (RAG ingestion) and the configurable dimensions (characters or words, size, overlap). An agent can distinguish this from netintel_text_summarize or netintel_text_stats without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for RAG ingestion' gives clear implied usage context, but the description never states when to prefer this over sibling text tools (summarize, stats, embed) or any exclusions/preconditions. Usage is inferable rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_text_statsB
Instant text statistics — characters (with/without spaces), words, unique words, sentences, paragraphs, average word/sentence length, longest word, reading and speaking time. Deterministic, no LLM, no API key. For agents sizing content…
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does add real value by disclosing 'deterministic, no LLM, no API key' and 'instant', setting cost and latency expectations. However, it says nothing about text-size limits, handling of empty/malformed input, or failure behavior, which matters for an unannotated tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The metric list is front-loaded and dense with useful detail, but the description terminates in a dangling ellipsis ('For agents sizing content…'), indicating an incomplete sentence and lost guidance. Otherwise efficient for the information conveyed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read-only tool with no output schema, the description usefully enumerates exactly what the return includes, which effectively substitutes for a missing output schema. The main omissions are input size limits and the truncated usage clause.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single 'text' parameter, so the description is the only source of semantics. It implies the input is raw text but adds no constraints (max length, encoding, whether HTML is stripped), so the gap is only partly compensated by the self-evident parameter name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (computes statistics) and resource (text), then enumerates the exact metrics returned (characters with/without spaces, words, unique words, sentences, paragraphs, averages, longest word, reading/speaking time). This enumeration alone separates it from siblings like netintel_text_summarize or netintel_text_chunk, though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage signal is the truncated fragment 'For agents sizing content…', which is cut off mid-thought and gives no complete when-to-use condition. There is no guidance on when not to use it, and no routing to alternatives such as netintel_text_summarize (for meaning) or netintel_text_chunk (for splitting).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_text_summarizeB
Summarize any text or web page into a concise summary plus key bullet points using Claude Haiku — accepts raw text or a URL (which it fetches and extracts), enforces an input cap, and returns a clean structured summary so agents can…
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| text | No | ||
| max_points | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden, and it does add real behavioral context: the backing model (Claude Haiku), that URLs are fetched and extracted, and that an input cap is enforced. However, it never states the cap value, what happens on fetch failure, or whether url and text are mutually exclusive — significant gaps for a 0-required-param tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core capability is front-loaded and the dash-separated clauses are information-dense, but the text is truncated mid-sentence ("so agents can…"), leaving an unresolved clause that consumes space without delivering content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no annotations to fall back on, yet the description is cut off and omits how the summary is structured, how many bullet points default, and how the two input modes interact. For a tool with three undocumented parameters and zero required fields, an agent cannot confidently construct a call from this alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 3 parameters, so the description must compensate and only partially does. "Raw text or a URL (which it fetches and extracts)" covers url and text loosely, but max_points is never mentioned and neither the url/text exclusivity nor the units/limits of max_points are clarified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Summarize any text or web page") plus the output shape (concise summary plus key bullet points), which is far more than a restatement of the name. It does not explicitly distinguish itself from near-neighbors like netintel_page_extract, netintel_extract, or netintel_classify, so the agent must infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied through the input modalities ("accepts raw text or a URL"), which suggests when the tool is applicable. There is no statement of when to prefer it over netintel_page_extract/page_extract for fetching, or entity_extract/classify for other text tasks, and no exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_text_to_jsonB
Turn unstructured text into structured JSON matching a caller-supplied schema using Claude Haiku — the agent declares the fields and types it wants, and gets back populated JSON with values pulled from the text and coerced to the right…
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | ||
| schema | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses the underlying model (Claude Haiku) and that values are 'pulled from the text and coerced' to the declared types, which is real behavioral context beyond the schema. It is silent on failure modes (what happens when a requested field is absent), cost/latency, and any input limits, and the text is visibly truncated mid-sentence.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence states the transformation, the conformance contract, and the engine, with little waste. The trailing ellipsis indicates the description is truncated, which slightly undercuts an otherwise tight structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with two required params (one nested), zero schema coverage, no annotations, and no output schema, the description covers purpose and rough mechanics but omits the schema-parameter format, failure behavior when fields cannot be extracted, and any sense of the output shape. It is minimally viable but leaves gaps an agent must discover by trial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does explain the intent of both parameters — 'text' is the unstructured source and 'schema' is the caller-declared set of fields and types — which is more than the bare schema offers. However, for a nested object parameter it never states the expected format of the schema value (JSON Schema vs. a custom shorthand), leaving a critical ambiguity unresolved.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('turn unstructured text into structured JSON') and adds the key qualifier that output conforms to a caller-supplied schema, which distinguishes it from fixed-schema extractors like netintel_extract_invoice. It does not, however, differentiate itself from close siblings such as netintel_schema_parse, netintel_json, or netintel_schema_map, so an agent still has to guess which of several similar tools applies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance, no mention of alternatives among the many schema/extract siblings, and no prerequisites. The phrase 'the agent declares the fields and types it wants' hints at the calling pattern but gives no conditions for choosing this tool over netintel_extract or netintel_schema_parse.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_tld_priceA
Compare registration, renewal, and transfer prices for a TLD across major registrars, or for a single domain name across many TLDs — returns sorted reference pricing so agents can find the cheapest place to register, budget domain…
| Name | Required | Description | Default |
|---|---|---|---|
| tld | No | ||
| name | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that results are sorted reference pricing, which is genuinely useful behavioral context, but says nothing about price freshness, data source, whether values are cached/approximate, or read-only safety. Reasonable but incomplete for an unannotated tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence leading with the verb and the two use modes. Efficient with no filler, though the visible text trails off mid-clause ('budget domain…'), leaving the structure slightly incomplete.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-optional-param tool with no annotations and no output schema, the description covers purpose, both modes, and the return shape at a high level. It omits what the default behavior is when no parameter is given and any caveat about price accuracy, which are the remaining gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate for the two undocumented params. It indirectly maps the two modes (TLD vs. name) to the inputs, which is helpful, but never names 'tld' or 'name', does not state they are optional, and does not say what happens if both or neither is supplied.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (compare) and resource (registration/renewal/transfer prices) with two clearly named modes: a TLD across registrars, or a name across TLDs. This distinguishes it well from sibling tools like domain_availability, domain_appraise, and whois_lookup. It stops short of naming a sibling directly, but the resource and scope are unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly frames the two scenarios that select the tool — comparing registrars for one TLD vs. comparing TLDs for one name — and gives the goal (find the cheapest place to register, budget). It supplies clear context but no exclusions or named alternatives, which is the boundary for a 4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_token_infoA
Full profile for any ERC-20 token by contract address — name, symbol, decimals, supply from the chain itself, plus live price, liquidity, and volume from DEX data — Base and Ethereum, no API key. Holder count included; identity read…
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | ||
| address | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it does disclose useful traits: the data provenance split (supply 'from the chain itself' vs price/liquidity/volume from 'DEX data'), the supported chains, and the no-API-key requirement. It omits behavior for unknown/non-existent contracts, address format expectations, rate limits, and the description is visibly truncated ('identity read…'), leaving the last disclosure incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The payload is front-loaded with the verb+resource before the em-dash field list, which is good, but the single over-long sentence crammed with em-dashes is hard to parse and ends in a dangling fragment ('identity read…'). The visible truncation means the definition is not structurally complete.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-param tool with no annotations, no output schema and 0% schema description coverage, the description does compensate partially by enumerating the returned fields and the data sources. It still leaves gaps on error/edge behavior for invalid or non-existent contracts and on the chain parameter's default, and the truncated tail signals the definition was cut short.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must supply all parameter meaning. It does explain that 'address' is a token contract address and that 'chain' is constrained to Base or Ethereum, which is real added value for both params. However it never states the expected address format (e.g. 0x-prefixed), the casing rules, or which chain is the default when 'chain' is omitted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: 'Full profile for any ERC-20 token by contract address', and then enumerates exactly which data points come back (name, symbol, decimals, supply, price, liquidity, volume, holder count). No sibling in the list does per-token ERC-20 profiling, so an agent can route here without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied through constraints — 'Base and Ethereum, no API key' tells the agent when the tool is viable — but there is no explicit when-to-use vs when-not, and no routing against nearby siblings like netintel_crypto_price, netintel_crypto_market or netintel_wallet_balance. The agent must infer that token-level DEX/on-chain profiling is what distinguishes this call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_translateA
Translate up to 2000 words between languages using Claude Haiku — auto-detects source, supports 30+ target languages, preserves formatting, for larger documents and articles. For short snippets use the cheaper /translate/short.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | ||
| source | No | ||
| target | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations the description carries the full burden, and it does disclose meaningful traits: a 2000-word cap, the underlying model (Claude Haiku), automatic source detection, 30+ target languages, and formatting preservation. It stops short of covering rate limits, cost magnitude, or what happens to input exceeding the cap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tightly packed sentence followed by a routing clause. Every phrase earns its place: limit, model, capabilities, and the alternative are all front-loaded with zero filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a translation tool with no output schema and no annotations, the description covers limits, model, auto-detection, formatting preservation, and sibling routing. The main gap is target/source language format, which an agent needs to construct a valid call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It clarifies that source is auto-detected (implying it is optional) and that target accepts 30+ languages, but it never states the expected format for 'target' (language code vs. name) or the optional 'source' format, leaving real ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (translate text between languages) and immediately bounds the scope (up to 2000 words, larger documents and articles), which cleanly separates it from the translate_short sibling. An agent can tell which translation tool to reach for without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly names the alternative and the condition that selects it: 'For short snippets use the cheaper /translate/short,' and 'for larger documents and articles' for this tool. This is a genuine when/when-not routing rule with a cost rationale, not just implied context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_translate_batchA
Translate many independent strings in one request — each with a caller ID preserved in the response — with per-item status, glossary and tone support, and partial success so one bad item never fails the batch, so agents can localize whole…
| Name | Required | Description | Default |
|---|---|---|---|
| tone | No | ||
| items | Yes | ||
| source | No | ||
| target | Yes | ||
| glossary | No | ||
| formality | No | ||
| protected_values | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose real operational behavior: caller IDs are preserved in the response, each item gets its own status, and partial success means one bad item never fails the batch. What is missing is batch-size limits, auth/rate-limit expectations, and how failures are surfaced — but the partial-success contract is a meaningful disclosure beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose and reasonably dense, but it is a single run-on sentence stacked with em-dash clauses that is visibly truncated ('localize whole…'). The content mostly earns its place, yet the structure is overloaded rather than crisp.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a 7-parameter batch tool with no output schema and no annotations, so the description is doing the heavy lifting — and it omits the response shape, batch limits, and the semantics of source/target/formality/protected_values. It covers the most distinctive behaviors (partial success, per-item status) but leaves the calling contract incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 7 parameters, so the description must compensate and largely does not. It names only 'glossary' and 'tone' (plus the caller-ID notion tied to items); source, target, formality, and protected_values are never explained, and no accepted value formats or codes are given.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Translate many independent strings in one request') and immediately differentiates itself from the singular siblings netintel_translate and netintel_translate_short by emphasizing batch scope. An agent can identify this as the multi-string variant without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'many independent strings in one request' and 'localize whole…', which suggests bulk localization work, but no sibling is named as an alternative and no explicit when-not condition is given. The agent must infer that single-string calls should use netintel_translate instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_translate_shortA
Translate up to 500 words between languages using Claude Haiku — auto-detects source language, supports 30+ target languages, preserves formatting, and returns the translation with detected source so agents can localize short content…
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | ||
| source | No | ||
| target | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and handles it reasonably: it discloses the engine (Claude Haiku), auto source detection, 30+ target languages, formatting preservation, and that the response includes the detected source. It stops short of rate limits, error behavior, or truncation handling for over-limit input.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and organized as a single em-dash feature list, but the trailing ellipsis ('…') makes the description read as truncated/incomplete, and several listed capabilities could be compressed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter text utility with no output schema and no annotations, the description covers the return content ('the translation with detected source') and core behaviors, which is the most important gap filled. It is still incomplete on language-code format and failure modes, so an agent may need a trial call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It usefully explains that source is auto-detected (matching the schema's optional 'source'), which is real meaning beyond the schema, but it never specifies the accepted format for 'target' (ISO code vs. language name) or how 'text' is bounded, leaving the key ambiguity unresolved.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource with a scope bound ('Translate up to 500 words between languages'), and adds the engine used (Claude Haiku). It implicitly differentiates itself from the heavier translate/batch/structured siblings via the 500-word limit, but never names them explicitly, so an agent must infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The clause 'so agents can localize short content' and the 'up to 500 words' limit imply the right use case, and the word cap hints that batch/long-form siblings exist. However, it never states when NOT to use this tool or names the alternative for longer or multi-language input, leaving the routing decision to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_translate_structuredB
Translate structured content — JSON, HTML, Markdown, templates, UI strings — without breaking structure. Preserves keys, tags, markdown, URLs, emails, variables, placeholders, code blocks, and brand names, honors a caller glossary, and…
| Name | Required | Description | Default |
|---|---|---|---|
| tone | No | ||
| locale | No | ||
| source | No | ||
| target | Yes | ||
| content | Yes | ||
| glossary | No | ||
| formality | No | ||
| content_type | No | ||
| protected_values | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description carries the full behavioral burden and does a good job on the core trait: it enumerates exactly which elements survive translation (keys, tags, markdown, URLs, emails, variables, placeholders, code blocks, brand names) and notes caller-glossary honoring. It stops short of auth needs, rate limits, failure modes, or output shape, and the sentence is cut off mid-clause ('and…').
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first clause is well front-loaded and dense with useful specifics, but the text terminates with a dangling 'and…', which signals an incomplete description rather than deliberate brevity. Value per word is high in what survives; the truncation is the defect.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter tool with nested objects, zero annotation coverage, zero schema descriptions, and no output schema, the description does not supply enough to call the tool correctly. Language codes, tone/formality options, content_type values, and the required source/target pairing are all unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 9 parameters, so the description must compensate and largely does not. It gestures at 'content' (structured content) and 'glossary' (caller glossary), and 'protected_values' is only obliquely implied by the preservation list, while source, target, locale, tone, formality, and content_type are never explained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Translate') plus the resource class ('structured content') and enumerates concrete formats (JSON, HTML, Markdown, templates, UI strings). The 'without breaking structure' qualifier implicitly separates it from the plain translate siblings, though it never names netintel_translate / netintel_translate_short directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this is the right tool when input is structured markup rather than prose, and that netintel_translate_short / netintel_translate handle plain text. There is no explicit when-to-use, when-not-to-use, prerequisite, or named alternative anywhere in the text.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_typosquatB
Generate common typo and look-alike variations of a domain and check which are already registered — catches character swaps, omissions, additions, homoglyphs, and alternate TLDs so agents can detect typosquatting and brand-impersonation…
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| domain | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses the generation strategy and that a registration check occurs, but says nothing about rate limits, whether the check hits live DNS/WHOIS, permissions, or whether results are capped. Partial coverage only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that leads with the core action and then enumerates the variation types efficiently. Minor deduction for the trailing ellipsis, which suggests truncation and leaves the sentence looking unfinished.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations, no output schema, and 0% parameter documentation, the description should do more. It explains the mechanism well but omits return shape (e.g., whether registered/unregistered variants are listed) and the undocumented "limit" parameter, leaving the agent to guess at invocation details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. The "domain" parameter is implicitly covered by "of a domain," but the "limit" parameter is never mentioned or explained anywhere, leaving half the inputs undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: it generates typo/look-alike domain variants and checks registration status, with concrete enumeration of variation types (swaps, omissions, additions, homoglyphs, alternate TLDs). This is clearly distinguishable from generic siblings like netintel_domain_availability or netintel_name_gen, though it never names a sibling to route against.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied via the stated goal ("so agents can detect typosquatting and brand-impersonation"). There is no explicit when-to-use vs. when-not, and no named alternative such as netintel_domain_vet or netintel_bulk_domain, which an agent might reasonably confuse it with.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_url_safetyB
Check a URL against URLhaus malware database and heuristic analysis. Returns threat classification and risk score.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so the description carries the full burden. It usefully discloses the data sources (URLhaus, heuristics) and the shape of the result (classification, risk score), but says nothing about network calls, rate limits, auth, or latency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded sentences with zero filler: the action and mechanism come first, the return value second.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description is only partially sufficient: it sketches the return values but omits input format expectations, failure behavior when URLhaus is unreachable, and the distinction from the _full variant.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter ('url') with 0% schema description coverage. The description names the resource but adds no format detail (scheme requirement, fully-qualified URL, size limits), so it does not compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (check) and resource (URL) and names the mechanism — URLhaus malware database plus heuristic analysis. However, it does not distinguish itself from the sibling netintel_url_safety_full, leaving the agent to infer which to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no routing versus the near-identical sibling netintel_url_safety_full. The agent must guess which tool a given URL-safety task requires.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_url_safety_fullB
One call vets a URL end to end — traces its full redirect chain, checks it against malware/phishing databases, audits its security headers, and inspects its SSL certificate — concurrent with graceful partial-failure handling, so agents get…
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden. It usefully reveals two non-obvious behaviors absent from any structured field: the sub-checks run concurrently, and partial results are returned gracefully on failure. It says nothing about rate limits, cost, auth requirements, timeout behavior, or what an invalid/unreachable URL yields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core capabilities are front-loaded in a single dense clause, which is good, but the sentence is truncated mid-thought ('...so agents get…'), leaving a dangling benefit clause and an incomplete description. Size is appropriate; the cut-off ending is a real defect.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is an aggregator that fuses four sub-tools, yet there is no output schema and no description of the combined result shape — the single dangling clause ('so agents get…') was the only place return value was addressed, and it is incomplete. For a tool of this breadth with zero annotation and zero output-schema support, the description leaves the agent unsure what it will actually receive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One parameter ('url') with 0% schema description coverage and no annotation help. The description only implies the input is a URL, adding nothing the schema does not already convey — no format expectations (scheme required? bare domain accepted?), no normalization or length limits. With low coverage, the description was expected to compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Uses a specific verb ('vets') with a named resource ('a URL') and enumerates exactly what the vetting covers: redirect chain, malware/phishing databases, security headers, SSL certificate. It does not, however, reference the sibling netintel_url_safety (the presumably lighter variant) or any other sibling that performs these sub-checks individually, so the agent must infer the distinction from the 'full' suffix alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'One call ... end to end' implies the use case (comprehensive URL vetting in a single call), but there is no explicit when-to-use/when-not guidance and no routing against netintel_url_safety, netintel_redirect_trace, netintel_security_headers, or netintel_ssl_analyze, which overlap heavily with this tool's scope. The agent can infer intent but not the selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_username_checkA
Check username availability across 20+ platforms simultaneously — GitHub, Twitter, Instagram, npm, and more. Returns taken/available/unknown status per platform.
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose useful behavior: multi-platform fan-out and a tri-state 'taken/available/unknown' result, where 'unknown' usefully signals partial failure or blocked lookups. However it omits rate limits, latency expectations, and whether the check is cached or real-time.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with zero waste. The multi-platform scope and the return shape are both front-loaded, so an agent gets the essential facts in a single read.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotations, and 0% param coverage, the description should carry more. It covers purpose and the return vocabulary well, but leaves the input format and operational caveats (rate limits, unknowns, coverage list) unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single 'username' parameter has 0% schema description coverage, so the description is the only source of guidance. It implies a bare handle string but never states format constraints (no '@' prefix, no URL, case sensitivity), leaving a real gap for a 1-param tool with no schema docs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Check username availability') with explicit scope ('across 20+ platforms simultaneously') and names representative platforms. It distinguishes itself from the domain-oriented siblings like netintel_domain_availability and netintel_name_gen.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated — an agent can infer this is for pre-registration handle screening. There is no explicit when/when-not guidance and no mention of near-neighbor tools such as netintel_domain_availability or netintel_email_verify that an agent might confuse it with.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_v1_chat_completionsA
OpenAI-compatible chat completions gateway (POST /v1/chat/completions shape). The model in the body sets the price: POST unpaid and the 402 quotes that model's exact price in USDC via x402 — no OpenAI account or API key. A model the gateway does not serve returns a 400 naming its dedicated endpoint; where per-model pricing is on it serves those too, each at its configured price. This client pays accepted challenges automatically — this text is not a spending cap. GET /v1/models (free) is the live catalogue. Supports response_format {type:"json_object"}.
| Name | Required | Description | Default |
|---|---|---|---|
| model | Yes | ||
| messages | Yes | ||
| max_tokens | No | ||
| response_format | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so richly: it discloses the x402/USDC payment flow, that a 402 response quotes the model's exact price, that no OpenAI account or key is needed, that the client auto-pays accepted challenges, and that unserved models return a 400 naming a dedicated endpoint. It also warns that the text is not a spending cap - unusually useful behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core purpose in the first sentence, then layers pricing, routing, and payment warnings. It is dense and covers a lot of payment minutiae in a short space, but every sentence carries information relevant to invoking it correctly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a payment-gated gateway with no annotations, no output schema, and 0% schema coverage, the description covers purpose, auth, pricing, error semantics, and catalogue discovery well. It stops short of describing the response shape or the meaning of max_tokens/messages, which leaves minor gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% across 4 params, so the description must compensate. It adds real meaning for 'model' (the field that sets the price) and documents response_format {type:'json_object'}, but 'messages' and 'max_tokens' are left entirely to the standard OpenAI convention with no added detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence gives a specific verb+resource ('OpenAI-compatible chat completions gateway') and names the exact wire shape (POST /v1/chat/completions). It also differentiates from the many netintel_openai_gpt_* siblings by explaining that unserved models return a 400 naming their dedicated endpoint. The purpose is clear, though the delivery is dense.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Uses implied guidance rather than explicit when-to-use rules: it tells the agent that GET /v1/models is the free live catalogue and that dedicated endpoints exist for certain models, but never says 'prefer this gateway over netintel_openai_gpt_4_1 when ...'. The agent must infer the selection conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_v1_embeddingsB
OpenAI-compatible text embeddings API — standard /v1/embeddings request shape: input as a string or a batch of up to 128 strings (64000 chars total on text-embedding-3-small, the default; 24000 on text-embedding-3-large). Flat $0.005 per…
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes | ||
| model | No | ||
| dimensions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose real operational traits: batch ceiling (128 strings), total character budgets per model, the default model, and flat pricing ('$0.005 per…'). It omits auth/rate-limit behavior and the response shape, and the text is cut off mid-price, leaving some gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence that leads with purpose before the protocol and limits, with no filler. The em-dash chain is dense and the text terminates mid-sentence ('Flat $0.005 per…'), which hurts polish but not front-loading.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter tool with zero annotation coverage and no output schema, the description covers input and model constraints and cost but leaves the 'dimensions' parameter and the returned embedding structure unexplained. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does document 'input' well (string or batch up to 128, 64000 chars on text-embedding-3-small, 24000 on text-embedding-3-large) and implies 'model' values, but 'dimensions' is never mentioned and the truncation may hide more.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('text embeddings API') and pins the protocol shape ('standard /v1/embeddings request shape'), so an agent knows exactly what it produces. It does not name any sibling (e.g. netintel_semantic_rank or netintel_v1_chat_completions) to disambiguate, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the request shape and limits but never says when to choose embeddings over alternatives such as netintel_semantic_rank or netintel_v1_chat_completions, nor any when-not condition. Usage must be inferred entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_wallet_balanceA
Native + USDC + custom-token balances for any wallet on Base, Ethereum, or Solana — with USD estimates — straight from public RPCs, no API key. Raw units as decimal strings plus formatted numbers; add up to 10 ERC-20 contracts via tokens=…
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | ||
| tokens | No | ||
| address | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses the data source (public RPCs, no API key), supported chains, that balances come back as raw decimal strings plus formatted numbers with USD estimates, and the 10-contract cap. It omits error behavior and rate limits, but the read-only nature and output shape are clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences, front-loaded with the core capability and chain scope, followed by output-format and token-cap details. No wasted filler, though the em-dash clause stacks several facts into one long sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations and no output schema, the description supplies what an agent needs: scope, chains, output shape (raw + formatted + USD), and the token cap. Gaps around failure modes and rate limits are minor for a read-only balance lookup.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate, and it does for all three params: address is any wallet, chain is Base/Ethereum/Solana, and tokens accepts up to 10 ERC-20 contracts (tokens=…). It adds real meaning beyond the bare string-typed schema, though it doesn't give exact accepted chain strings or the token-list format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (wallet balances) and pins down the scope precisely: native + USDC + custom tokens across Base, Ethereum, and Solana with USD estimates. It does not explicitly contrast with close siblings like netintel_wallet_intel or netintel_wallet_status, so the agent must infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use / when-not-to-use guidance and no routing signal to the sibling wallet tools (wallet_intel, wallet_status). The 'no API key' / 'public RPCs' phrasing describes a benefit rather than a usage condition, and the tokens= note is parameter mechanics, not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_wallet_intelB
Counterparty due-diligence for any Base or Ethereum wallet — age, funding origin, USDC flow, activity pattern, and risk flags in one scored report. The domain-report of wallets: wallet age, first funder, in/out totals, distinct…
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | ||
| address | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses the shape of the result (a single scored report with risk flags), but omits whether the call is read-only, any rate/credit limits, chain defaulting behavior, and what happens for invalid or unindexed addresses.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The second sentence ("The domain-report of wallets: wallet age, first funder, in/out totals…") largely restates the first, adding redundancy rather than new information. The text is also truncated mid-sentence with an ellipsis, leaving it structurally open-ended.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and 0% parameter coverage, the description is the only source of structured meaning — and it is cut off mid-enumeration. It never finishes describing the report fields and provides nothing on address format, chain selection, or error behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It hints at the accepted `chain` domain ("Base or Ethereum") and the wallet subject, but never names the parameters, states that `address` is required, specifies expected 0x address format, or clarifies whether chain defaults when omitted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — counterparty due-diligence producing a scored report for Base/Ethereum wallets — and enumerates the report's contents (age, funding origin, USDC flow, activity pattern, risk flags). It is distinguishable in kind from siblings like netintel_wallet_balance and netintel_wallet_status, though it never names them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Counterparty due-diligence" implies the use case (vetting a wallet before transacting), which gives implied context. However, it offers no explicit when-to-use statement, no when-not, and no routing to the obvious siblings wallet_balance (point-in-time holdings) or wallet_status (liveness), leaving the agent to infer the boundary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_wallet_statusA
Check the agent wallet this MCP server pays NetIntel with: whether a key is configured, its address, its USDC balance on Base, and the spending limits (per call and per session) with how much this session has authorized. Free and local (no NetIntel call). Use when a paid tool reports 'Payment required' or 'SPEND_LIMIT', before funding, or to confirm a top-up arrived.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses that the call is free and local ('no NetIntel call'), and it enumerates the returned state including spend limits and how much this session has authorized. It stops short of stating permissions/auth requirements or explicitly confirming the operation is read-only and side-effect free, which is a minor residual gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, both load-bearing: the first enumerates the inspected state, the second fronts cost/locality and then the usage triggers. No filler, and the scope statement leads before the usage conditions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description compensates by spelling out the return fields (key state, address, USDC balance on Base, per-call and per-session limits) and the situations that should prompt the call. Nothing needed to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4. There are no inputs to document, and the description correctly spends its words on return content instead of inventing parameter guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb ('Check') and a specific resource ('the agent wallet this MCP server pays NetIntel with'), then enumerates exactly what is returned: key-configured state, address, USDC balance on Base, and per-call/per-session spend limits. This is clearly distinct from the sibling wallet tools (netintel_wallet_balance, netintel_wallet_intel), which operate on arbitrary wallets rather than the agent's own payment wallet.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit trigger conditions: 'Use when a paid tool reports Payment required or SPEND_LIMIT, before funding, or to confirm a top-up arrived.' This tells the agent both when to call it and what upstream signal should route it here, with no inference required.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_wayback_lookupB
Query the Wayback Machine for archived snapshots of a URL. Returns first/last capture dates, total snapshot count, and the closest snapshot to an optional target date.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| timestamp | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It does disclose the return shape (first/last capture dates, total snapshot count, closest snapshot), which is useful, but it says nothing about rate limits, whether the URL must be publicly reachable, error behavior for never-archived URLs, or snasphot metadata beyond dates.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with zero filler: the first states the action, the second front-loads the return values. Nothing is redundant and the sizing matches the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema or annotations to lean on, and the description does cover the essential return values, so it is functional. Still missing are the timestamp format, behavior for unarchived URLs, and any limits, which an agent would need to invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It clarifies that 'timestamp' is an optional target date and that the tool returns the closest snapshot to it, which is real added meaning. However, it never states the expected format for that timestamp (ISO 8601 vs YYYYMMDD) nor whether the URL requires a scheme.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource ('Query the Wayback Machine for archived snapshots of a URL') and even enumerates what is returned, making the tool's function unambiguous. It does not, however, name or contrast itself with any sibling like netintel_url_safety or netintel_domain_age, which a broad toolset would benefit from.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use, when-not-to-use, or alternative-tool guidance. The usage is only implied by the purpose (check historical archives of a URL), leaving the agent to infer it among ~100 siblings covering URL/domain intelligence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_weather_currentB
Live weather + 3-day forecast for any city or lat/lon worldwide — temperature, feels-like, humidity, wind, precipitation, cloud cover, and a plain-language condition. Give a city name (geocoded for you) or coordinates. No API key, metric…
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| units | No | ||
| latitude | No | ||
| longitude | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden. It usefully discloses that city names are geocoded server-side and lists the output payload, but it never states default units (the text is cut off at 'metric…'), behavior when both city and coordinates are passed, or whether caller-supplied coordinates bypass geocoding.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core capability and the most important invocation detail, with no filler sentences. It loses a point because the text is visibly truncated mid-clause ('No API key, metric…'), signaling omitted content rather than deliberate brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly summarizes return fields, which is the right call. But with no annotations and a truncated trailing clause, it omits default units and the distinction from netintel_weather_forecast — gaps an agent must guess around.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It clarifies the two input modes (city name, auto-geocoded, vs. explicit coordinates), which adds real meaning for three of four params, but the 'units' parameter is never explained — its enum-less schema gives no clue either.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Live weather + 3-day forecast') and enumerates the returned fields, so an agent knows exactly what it produces. However, it never distinguishes itself from the sibling netintel_weather_forecast, which overlaps on the forecast portion, leaving ambiguity about which to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It tells how to invoke ('Give a city name ... or coordinates') but not when to prefer this over netintel_weather_forecast or any alternative. There are no exclusions or conditions, only implied usage context ('any city or lat/lon worldwide').
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_weather_forecastB
Multi-day weather forecast for any city or lat/lon worldwide — up to 16 days of daily highs/lows, precipitation & probability, UV, sunrise/sunset, wind, and plain-language conditions, plus optional next-24h hourly. Give a city name…
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| days | No | ||
| units | No | ||
| hourly | No | ||
| latitude | No | ||
| longitude | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description carries the full burden, and it does disclose the shape of the returned forecast (daily fields plus an optional hourly block). It says nothing about rate limits, caching, data freshness, or what happens with ambiguous city names, so the behavioral picture is only partially covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense sentence with the purpose and payload front-loaded; every clause adds information. The trailing ellipsis ('Give a city name…') suggests the description is cut off, which hurts polish but not density.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A 6-parameter tool with 0% schema coverage and no output schema needs more: units values, defaults for days/units, and location-parameter precedence are all unaddressed. The payload description partially compensates for the missing output schema, but the input contract is still underspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% across 6 parameters, so the description has to compensate: it explains the 'days' ceiling ('up to 16 days'), the 'hourly' toggle ('optional next-24h hourly'), and that location may be a city or lat/lon. It leaves 'units' completely undefined (a string with no enum in the schema) and never states that city and latitude/longitude are mutually exclusive or which wins.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('multi-day weather forecast') and enumerates the payload in detail (highs/lows, precipitation, UV, sunrise/sunset, wind, conditions, optional hourly), which clearly separates it from a current-conditions tool. However, it never names the obvious sibling netintel_weather_current, so the differentiation is left implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage hint is the truncated fragment 'Give a city name…', which is a parameter hint rather than guidance. There is no statement of when to prefer this over netintel_weather_current, no note on city-vs-coordinates precedence, and no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_webA
Extract text from a web page or PDF as clean Markdown — HTML to Markdown for any URL: strips scripts, nav, ads, and boilerplate while preserving headings, links, lists, tables, code blocks, and blockquotes; extracts the text layer from PDFs. Returns the Markdown body, title, word count, and a quality grade. For JavaScript-rendered or bot-walled pages a plain fetch can't read, use netintel_exa_contents instead.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it does disclose substantive behavior: which DOM elements are stripped versus preserved, that PDFs yield only the text layer, and that output includes a quality grade. It stops short of stating failure modes beyond bot-walls (e.g., large-page truncation, timeouts, or auth requirements), which is the only real gap for an unannotated tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with verb, resource, and output format before the detail clauses, and every clause is informative rather than filler. The dense em-dash-packed middle sentence is long but not wasteful; slightly heavier than needed for a one-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by naming the return fields (Markdown body, title, word count, quality grade), and it covers inputs, output shape, and the fallback path. For a single-parameter extraction tool, an agent has everything required to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single 'url' parameter, so the description must compensate. It implies the parameter accepts 'any URL' and clarifies that both HTML pages and PDF URLs are valid inputs, which is more than the bare 'url: string' schema conveys, but it adds no format, encoding, or redirect-handling detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Extract text from a web page or PDF as clean Markdown') and details exactly what the transformation does (strips scripts/nav/ads/boilerplate; preserves headings, links, lists, tables, code blocks, blockquotes). It also explicitly differentiates itself from a sibling by name (netintel_exa_contents), so an agent can route without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit when-not condition with the alternative: 'For JavaScript-rendered or bot-walled pages a plain fetch can't read, use netintel_exa_contents instead.' The use case (plain HTML URLs and PDFs) and the failure case that should route elsewhere are both stated, leaving nothing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_web_fetchA
Fetch any URL and get the raw body back — JSON parsed, everything else as text — from safe server-side egress. For data APIs (ArcGIS, government/open-data portals, blob storage) that /web/extract's markdown conversion mangles. No API key…
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| max_bytes | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It usefully reveals the egress model (server-side, apparently keyless) and the response convention (JSON auto-parsed, otherwise text), but says nothing about truncation, size caps tied to max_bytes, redirect handling, or error behavior on unreachable URLs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The content is dense and front-loaded, with the return format stated first and the sibling differentiation second. However, the text is visibly truncated mid-sentence ('No API key…'), which leaves the definition structurally incomplete rather than concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and 0% schema description coverage, the description is the only source of behavioral information and it falls short. It leaves 'max_bytes' unexplained, the truncation/error semantics undefined, and the trailing clause cut off, so an agent cannot predict what it gets back for large or failing fetches.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and neither parameter is documented in the schema. The description implies 'url' means any full URL but says nothing about format (scheme required? query strings? auth in URL?), and 'max_bytes' — the one parameter an agent could easily misuse — is never mentioned or explained as a truncation limit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Fetch any URL'), the exact return shape ('raw body back — JSON parsed, everything else as text'), and the execution context ('safe server-side egress'). It also explicitly distinguishes itself from the /web/extract sibling whose markdown conversion it exists to bypass, so an agent can route between them without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear use case with concrete examples: data APIs (ArcGIS, government/open-data portals, blob storage) where markdown conversion mangles payloads. It does not state when *not* to use it (e.g., HTML pages better served by extract/markdown) nor mention rate limits or auth prerequisites, so it is contextual rather than exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_web_searchB
Web search for AI agents — one query in, ranked live results out (title, url, published_date, author, score, optional snippets). Neural + keyword modes, category/domain/date filters. For a direct answer use /exa/answer. Keyless x402, pay…
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | ||
| query | Yes | ||
| category | No | ||
| snippets | No | ||
| num_results | No | ||
| include_domains | No | ||
| end_published_date | No | ||
| start_published_date | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that results are live/ranked, lists the returned fields, and hints at a keyless x402 payment model ("Keyless x402, pay…"), which is real behavioral value. However the sentence is truncated before any cost, rate-limit, or failure-mode detail lands, so key operational traits remain undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is dense and front-loaded — purpose, payload, and modes come first — with no filler sentences. But it terminates mid-clause ("pay…"), so the final thought never completes, which is a structural defect rather than conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
It helpfully lists return fields, which partially substitutes for the absent output schema, and gestures at the payment model. Yet with no annotations, 8 undocumented parameters, and a truncated trailing sentence, an agent still lacks the cost, paging, result-count, and mode-value details needed to call this competently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate, and it does partially: "Neural + keyword modes" maps to type, and "category/domain/date filters" maps to category, include_domains, start/end_published_date. It says nothing about num_results, the snippets parameter's string type, or accepted values/formats for any filter, leaving several of the 8 parameters under-specified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ("Web search") and enumerates the return payload (title, url, published_date, author, score, optional snippets), which is unusually informative. It only partially differentiates from the many NetIntel siblings — the explicit contrast is to a path ("/exa/answer") rather than the sibling name netintel_exa_answer, and other search-adjacent tools like netintel_web_fetch are untouched.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"For a direct answer use /exa/answer" is a genuine when-not/alternative signal, and "Neural + keyword modes" hints at mode selection. But it never names the actual sibling tool, gives no guidance on when to prefer this over netintel_exa_search or netintel_web_fetch, and offers no exclusions or preconditions beyond the dangling payment note.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netintel_whois_lookupB
Domain registration lookup, WHOIS via RDAP — registrar, registration and expiry dates, last-updated date, nameservers, and status flags from the authoritative registry, plus an actionability score for domain trustworthiness, ownership, or availability risk.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It usefully discloses the data source ('authoritative registry' via RDAP), the read-only nature implied by 'lookup', the concrete fields returned, and the presence of a derived actionability score. It does not cover failure modes (unregistered domains, redacted GDPR registrant data), rate limits, or auth requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that leads with the operation and data source, then packs the return fields densely. Every clause earns its place via the field enumeration; only the trailing 'actionability score' framing drifts slightly toward marketing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no annotations, so the description does most of the work and covers the return payload well. However, it leaves parameter format, error/edge behavior, and routing versus closely-named domain siblings unaddressed — enough gaps that an agent could mis-select among the many domain tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single 'domain' parameter, so the description must compensate and it does not — it never states whether to pass an apex domain, subdomain, punycode form, or URL. For a one-parameter tool the intent is largely self-evident from the name, but the format ambiguity across 30+ sibling domain tools is real.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Domain registration lookup, WHOIS via RDAP') and enumerates the exact fields returned (registrar, registration/expiry dates, nameservers, status flags) plus a derived actionability score. The one gap is sibling differentiation: with netintel_domain_vet, netintel_domain_availability, netintel_domain_age, and netintel_domain_report in the toolset, the description never says how this differs from those overlapping domain tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance and no exclusions. The phrase 'domain trustworthiness, ownership, or availability risk' gestures at use cases but does not tell the agent when to pick this over netintel_domain_vet, netintel_domain_due_diligence, or netintel_domain_availability. In a toolset this crowded with domain tools, that omission is significant.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
127 tool updates
v1.1.61- First observed
netintel_ai_image - First observed
netintel_asn_lookup - First observed
netintel_breach_check - First observed
netintel_bulk_domain - First observed
netintel_calendar - First observed
netintel_cert_transparency - First observed
netintel_classify - First observed
netintel_cloud_fingerprint - First observed
netintel_content_moderate - First observed
netintel_convert - First observed
netintel_cron_parser - First observed
netintel_crypto_market - First observed
netintel_crypto_ohlc - First observed
netintel_crypto_price - First observed
netintel_currency_exchange - First observed
netintel_currency_exchange_batch - First observed
netintel_currency_exchange_history - First observed
netintel_dns_lookup - First observed
netintel_dns_propagation - First observed
netintel_dnssec_validate - First observed
netintel_domain - First observed
netintel_domain_age - First observed
netintel_domain_appraise - First observed
netintel_domain_availability - First observed
netintel_domain_due_diligence - First observed
netintel_domain_report - First observed
netintel_domain_report_full - First observed
netintel_domain_vet - First observed
netintel_email_auth - First observed
netintel_email_intel - First observed
netintel_email_report - First observed
netintel_email_verify - First observed
netintel_embeddings - First observed
netintel_entity_extract - First observed
netintel_event_classify - First observed
netintel_event_extract - First observed
netintel_exa_answer - First observed
netintel_exa_contents - First observed
netintel_exa_search - First observed
netintel_extract - First observed
netintel_extract_contact - First observed
netintel_extract_invoice - First observed
netintel_extract_resume - First observed
netintel_extract_table - First observed
netintel_gas_price - First observed
netintel_github_intel - First observed
netintel_holidays - First observed
netintel_iban_validate - First observed
netintel_ip_blacklist - First observed
netintel_ip_geo - First observed
netintel_ip_report - First observed
netintel_ip_reputation - First observed
netintel_ip_risk - First observed
netintel_json - First observed
netintel_jwt_inspector - First observed
netintel_lang_detect - First observed
netintel_markdown - First observed
netintel_market_snapshot - First observed
netintel_messages - First observed
netintel_money - First observed
netintel_name_gen - First observed
netintel_normalize - First observed
netintel_npm_intel - First observed
netintel_og_scraper - First observed
netintel_openai - First observed
netintel_openai_gpt_4_1 - First observed
netintel_openai_gpt_4_1_mini - First observed
netintel_openai_gpt_4_1_nano - First observed
netintel_openai_gpt_4o_mini - First observed
netintel_openai_gpt_5_1 - First observed
netintel_openai_gpt_5_2 - First observed
netintel_openai_gpt_5_4 - First observed
netintel_openai_gpt_5_4_mini - First observed
netintel_openai_gpt_5_4_nano - First observed
netintel_openai_gpt_5_5 - First observed
netintel_openai_gpt_5_6_luna - First observed
netintel_openai_gpt_5_6_sol - First observed
netintel_openai_gpt_5_6_terra - First observed
netintel_openai_gpt_5_nano - First observed
netintel_page_extract - First observed
netintel_pdf_parse - First observed
netintel_phone_intel - First observed
netintel_prediction_market - First observed
netintel_prediction_markets - First observed
netintel_redirect_trace - First observed
netintel_robots_txt - First observed
netintel_route_recommend - First observed
netintel_route_search - First observed
netintel_route_vet - First observed
netintel_rss_parser - First observed
netintel_schema - First observed
netintel_schema_map - First observed
netintel_schema_parse - First observed
netintel_security_headers - First observed
netintel_semantic_rank - First observed
netintel_sentiment - First observed
netintel_sitemap_parser - First observed
netintel_ssl_analyze - First observed
netintel_ssl_cert - First observed
netintel_subnet_calc - First observed
netintel_tech_fingerprint - First observed
netintel_text_chunk - First observed
netintel_text_stats - First observed
netintel_text_summarize - First observed
netintel_text_to_json - First observed
netintel_tld_price - First observed
netintel_token_info - First observed
netintel_translate - First observed
netintel_translate_batch - First observed
netintel_translate_short - First observed
netintel_translate_structured - First observed
netintel_typosquat - First observed
netintel_url_safety - First observed
netintel_url_safety_full - First observed
netintel_username_check - First observed
netintel_v1_chat_completions - First observed
netintel_v1_embeddings - First observed
netintel_wallet_balance - First observed
netintel_wallet_intel - First observed
netintel_wallet_status - First observed
netintel_wayback_lookup - First observed
netintel_weather_current - First observed
netintel_weather_forecast - First observed
netintel_web - First observed
netintel_web_fetch - First observed
netintel_web_search - First observed
netintel_whois_lookup
TDQS
Scored across 127 tools
Massive overlap across tool families: ~15 near-identical OpenAI model wrappers (netintel_openai, netintel_openai_gpt_4_1, ..._mini, ..._nano, ..._5_x), four translate variants, and several near-duplicate domain/IP/SSL report tools (netintel_domain_report vs netintel_domain_report_full vs netintel_domain vs netintel_domain_vet). Descriptions cross-reference each other helpfully, but boundaries are genuinely fuzzy in many places.
Consistent netintel_ prefix and mostly snake_case, but the verb/noun ordering is mixed (netintel_ip_geo vs netintel_text_summarize vs netintel_domain_report). Singular/plural and version drift also appear (netintel_prediction_market vs netintel_prediction_markets; netintel_embeddings vs netintel_v1_embeddings; netintel_openai vs netintel_openai_gpt_4_1).
127 tools is an extreme over-scoping for any single server, far past the 50+ threshold. Many are redundant model/endpoint variants that would be better served by a parameterized model argument rather than distinct tools.
Coverage is very broad — IP, domain, DNS, SSL, email, text/data extraction, finance, crypto, weather, search, and even a routing subsystem — with individual, batch, and aggregate-report tiers. Gaps are hard to find; the issue is redundancy rather than missing operations.
Maintenance
Related MCP Connectors
8 pay-per-call web intel tools over MCP. Free discovery, calls settle in USDC on Base (x402).
x402 pay-per-call APIs over MCP, settled in USDC on Base for autonomous agents and developers.
37 paid x402 MCP tools for OSINT, prediction markets, web intel, and agent security on Base USDC.
Production-grade MCP gateway delivering 8 real-time AI tools with instant x402 micropayments settled in USDC on Base Mainnet or SPL-USDC on Solana. Features Basescan contract auditing, wallet analytics, headless browser scraping, and pre-scraped oracle data feeds.
Related MCP Servers
- AlicenseAqualityFmaintenanceMCP server for Alderpost Intelligence API — 8 x402 endpoints bundling premium data sources (VirusTotal, People Data Labs, Hunter.io, AbuseIPDB, SSL Labs, NIH RxNorm) into scored intelligence responses. Pay per call via USDC on Base.817 npm2MIT
- AlicenseBqualityAmaintenanceMCP server exposing x402 Bazaar's paid Base APIs (token risk/honeypot, prices, gas, wallet intel, tx decode + AI utilities) as agent tools. Your agent pays per call in USDC over x402 — no API keys, no signup.17115 npmMIT
- AlicenseNot gradedqualityFmaintenanceMCP server that provides AI agents with pay-per-call access to a suite of tools (honeypot check, token market, DeFi yields, etc.) via USDC on Base using the x402 protocol.5 npmMIT
- AlicenseNot gradedqualityCmaintenanceMCP server providing 50+ crypto, market intelligence, and AI inference endpoints with x402 pay-per-request micropayments on Base.2Apache 2.0