text_lines
utilpeek: Sort, dedupe, trim, shuffle or number the lines of a text. For find and replace use text_replace. Returns the text's lines transformed by operations in order: trim, remove_empty, dedupe (keeps the first), sort (lexical, natural or length; stable), reverse, shuffle (seeded, repeatable) a...
This record as markdown: /tools/dev-tanod-tanod/text-lines.md
What text_lines does on Tanod
AI agents call text_lines to retrieve information from Tanod without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.
| Parameter | Type | Required | Description |
|---|---|---|---|
seed | integer | — | Shuffle seed: same seed, same order. |
text | string | Yes | The text (at most 200,000 characters). |
top_n | integer | — | With count_unique: how many of the most frequent lines to return (1-1000, default 100). |
sort_mode | string | — | For sort: lexical (default, by character), natural (numbers by value: item 9 before item 10) or length (shortest first). |
descending | boolean | — | For sort: largest first (default false: ascending). |
operations | array | Yes | Applied in order: trim, remove_empty, dedupe, sort, reverse, shuffle, number. |
count_unique | boolean | — | Also return the most frequent lines with counts. |
number_start | integer | — | For number: the first line's number (-1,000,000 to 1,000,000; default 1). |
case_insensitive | boolean | — | dedupe / sort / count compare casefolded lines. |
number_separator | string | — | For number: text between the number and the line (at most 10 characters; default ". "). |
Parameters from the server's own tool schema.
Why text_lines is rated Low
Even though text_lines only reads data, uncontrolled read access leaks sensitive information and racks up API costs: an agent caught in a retry loop can make thousands of calls a minute without anyone noticing.
Risk signalsHigh parameter count (10 properties)
Attacks that exploit this kind of access
The rule that runs text_lines safely
PolicyLayer is an MCP gateway: it sits between your AI agents and Tanod, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For text_lines, this is the rule to start with:
text_lines is read-only, so it stays allowed. Everything else on the server is denied unless you say otherwise.
The button opens the PolicyLayer dashboard: create your workspace, connect Tanod, apply this rule, and every text_lines call is checked against it from then on.
Questions about text_lines
utilpeek: Sort, dedupe, trim, shuffle or number the lines of a text. For find and replace use text_replace. Returns the text's lines transformed by operations in order: trim, remove_empty, dedupe (keeps the first), sort (lexical, natural or length; stable), reverse, shuffle (seeded, repeatable) and number; optionally the most frequent lines with counts. At most 200,000 lines. Typically under 0.3 s. Price: USD 0.001. Free: 10 utilpeek calls per IP per UTC day. The submitted text is never logged or stored. It is categorised as a Read tool in the Tanod MCP Server, which means it retrieves data without modifying state.
text_lines accepts 10 parameters: seed, text, top_n, sort_mode, descending, operations, count_unique, number_start, case_insensitive, number_separator. Required: text, operations. The full parameter table on this page comes from the server's own tool schema.
Register the Tanod MCP server in PolicyLayer and add a rule for text_lines: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Tanod. Nothing to install.
text_lines is a Read tool with low risk. Read-only tools are generally safe to allow by default.
Yes. Add a rate_limit block to the text_lines rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for text_lines. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
text_lines is provided by the Tanod MCP server (https://tanod.dev/mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on Tanod, and thousands of servers like it.
This server
Across the catalogue