Skip to main content
Glama
aiexp1

Tanod MCP server

utilpeek: extract emails, URLs, IPs, dates and more from text

text_extract
Read-onlyIdempotent

Extract emails, URLs, domains, IPs, phone-like numbers, hashtags, mentions, EVM/BTC addresses, and ISO dates from text; returns deduplicated counts.

Instructions

utilpeek: Extract emails, URLs, domains, IPs, dates and crypto addresses from text. To mask personal data use redact_pii; for names and places use extract_entities. Returns the emails, URLs, domains (ICANN suffixes), IPv4 / IPv6, phone-like numbers, hashtags, mentions, EVM and BTC addresses (Base58Check / Bech32 checksums verified) and dates (normalised to ISO) found in the text, deduplicated and counted in first-seen order; patterns run on RE2 and each hit is re-checked. Phone hits are phone-like digit groups, not validated numbers (see /v1/phone). Typically under 0.7 s. Price: USD 0.001. Free: 10 utilpeek calls per IP per UTC day. The submitted text is never logged or stored.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
textYesThe text (at most 200,000 characters).
typesNoDefault: all types.
max_per_typeNoMost distinct items returned per type (1-1000, default 100); `truncated` says when more were found.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
errorNoOnly on an error result: an object {code, message}, or the reason string of an x402 PaymentRequired object.
notesNo
typesNo
sourceNo
resultsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond readOnlyHint and idempotentHint, the description discloses deduplication and first-seen ordering, RE2 pattern execution with hit re-checks, phone-like vs validated distinction, typical latency, pricing, free-tier limits, and the privacy guarantee that submitted text is never logged or stored. These are material operational details not covered by annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose and alternatives before moving into return details, performance, pricing, and privacy. It is dense but every clause carries useful information. It could be structured into shorter sentences for readability, but there is no substantive filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity, the annotations, and the output schema, the description provides everything an agent needs: extraction scope, sibling alternatives, return ordering and deduplication, caveats, performance, cost, rate limits, and privacy behavior. No critical gaps remain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the parameters are already documented. The description still adds meaning by enumerating the extraction types, noting checksum verification for EVM and BTC addresses, and clarifying that phone hits are phone-like digit groups rather than validated numbers. It adds useful semantic context but does not restate max_per_type or types defaults.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: extract emails, URLs, domains, IPs, dates and crypto addresses from text. It distinguishes itself from siblings by naming redact_pii for masking and extract_entities for names/places. An agent can identify exactly 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly routes the agent to alternatives: use redact_pii for masking personal data, and extract_entities for names and places. It also specifies the supported extraction types and the phone caveat, making the intended use clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools