Tiny Utils
Server Details
AI-writing-tells detector (rules-based) + CSV/JSON, hashing, slugs, word counts, UUIDs. Free.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- wminno/delta1-utils
- GitHub Stars
- 0
TDQS
Scored across 9 tools
Most tools have clearly distinct purposes: csv2json/json2csv are inverses, and hash/slug/time/uuid/wordcount are unambiguous. The only mild overlap is aitells vs. aitells_report, where one is a summary score and the other a full report, and wordcount partially overlaps with aitells' word counts.
The set is mostly consistent lowercase concatenated naming (csv2json, json2csv, wordcount), which is readable and predictable. The single snake_case outlier, aitells_report, is a minor deviation rather than a chaotic mix of conventions.
Nine tools is a well-scoped size for a tiny utility server, and each tool appears to earn its place as a distinct operation. There is no obvious padding or redundancy.
The surface covers common text/data utilities: CSV/JSON conversion, hashing, slugs, time, UUIDs, word counts, and AI-writing analysis. Some common utility gaps exist (e.g., base64/URL encoding, case conversion), but agents can work around them for most tiny-utility tasks.
Available Tools
9 toolsaitellsBInspect
AI-writing-tells score 0-99 with verdict, word/sentence counts. Rules-based, deterministic, no LLM. Input: text to check.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | text to analyze |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It valuably discloses that the analysis is rules-based, deterministic, and uses no LLM, and it names the output components. However, it does not state side effects, permission requirements, or return format details beyond the score range and counts.
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 compact and front-loaded: it states the score output, the supporting outputs, the deterministic method, and the input in three short fragments with no waste.
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 analysis tool with no output schema and no annotations, the description covers the core purpose, method, and output shape well enough to call it correctly. The main missing piece is clarifying its relationship to the sibling aitells_report.
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 only one parameter, and schema description coverage is 100%, so the schema already documents that 'text' is the text to analyze. The description adds no semantic detail beyond restating the input, which is the baseline 3 case.
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 clearly states that the tool produces an AI-writing-tells score from 0-99 plus a verdict and counts, which is a specific analysis operation. It does not explicitly differentiate itself from the sibling aitells_report, 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 only says 'Input: text to check', which is invocation detail rather than usage guidance. It gives no indication of when to use this tool instead of aitells_report or other siblings, and no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aitells_reportAInspect
Full AI-writing-tells report: score, every matched tell with example sentences, style stats (em-dash rate, rule-of-three, sentence-length uniformity). Deterministic, no LLM.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | text to analyze |
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 that analysis is deterministic and does not use an LLM, but it omits input limits, performance expectations, and the read-only nature of the operation.
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, front-loaded sentence that enumerates the report contents without 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 one-parameter analysis tool with no output schema, the description gives a clear inventory of what the report includes and notes determinism. It is largely complete, though it could state that it is read-only or clarify comparison with the 'aitells' sibling.
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 with 100% schema description coverage ('text to analyze'), so the schema already documents it. The description adds no additional parameter meaning beyond what the schema provides, warranting the baseline 3.
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 clearly states this produces a 'Full AI-writing-tells report' with score, matched tells, examples, and style stats. It is specific about contents and implies differentiation from the sibling 'aitells' tool via 'Full', though it does not name the 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: this is the comprehensive report option versus a presumably lighter 'aitells' sibling. However, there is no explicit when-to-use guidance, no when-not-to-use condition, and no direct reference to alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
csv2jsonAInspect
Convert CSV text to a JSON array of objects (first row = headers).
| Name | Required | Description | Default |
|---|---|---|---|
| csv | Yes | CSV text |
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 one meaningful behavior: the first row is treated as headers and drives the object keys. It says nothing about how values are typed (all strings?), delimiter handling, quoting/escaping, or failure behavior on malformed 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?
One sentence, front-loaded with verb and resource, then the output shape and header rule. Nothing is redundant and nothing needs to be read twice.
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 essentials: input type, header interpretation, and return shape. Missing details like value typing and separator detection are minor for this complexity level.
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% for the single 'csv' parameter, so the baseline is 3; the description adds real meaning by specifying that the first row becomes headers, which explains how the input string is interpreted rather than just what it is.
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 ('Convert') and resource ('CSV text') and states the exact output shape ('JSON array of objects'). The direction of conversion is unambiguous, which implicitly separates it from the sibling json2csv, 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 only implied by the conversion direction; there is no explicit statement of when to use this rather than json2csv or what input qualifies as CSV. An agent can infer the intent but is given no routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hashAInspect
Hash text with md5, sha1, sha256 or sha512 (default sha256).
| Name | Required | Description | Default |
|---|---|---|---|
| algo | No | ||
| 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 burden; it does disclose the deterministic, non-destructive nature of hashing implicitly and states the default algorithm, which is the main behavioral choice. It does not say what the response looks like (hex vs. base64, casing) or how the input text is encoded before hashing.
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 tight sentence with zero filler, and the most decision-relevant detail (the default algorithm) is placed where it is read first.
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-output-schema utility this is essentially enough to call it correctly: required input, optional algorithm, and the default are all covered. The only real omission is the output encoding of the returned digest, which an agent must guess.
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 does for 'algo' by naming the four permitted values and the sha256 default, which is exactly what the enum requires. 'text' is left unexplained, but it is self-evident from the verb 'Hash text'.
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 ('Hash') plus the exact resource ('text') and enumerates the supported algorithms with their default. Siblings (uuid, slug, csv2json) are visibly different utility functions, so no differentiation is needed and an agent can select this tool unambiguously.
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 itself – if you need a hash of some text, this is the tool. It discloses the default algorithm, but gives no explicit context about when hashing is the right operation (e.g., checksums vs. password storage) and there are no named alternatives to compare against.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
json2csvBInspect
Convert a JSON array of objects to CSV text.
| Name | Required | Description | Default |
|---|---|---|---|
| json | Yes | JSON array (or single object) as a string |
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 input shape (array of objects) and the output type (CSV text), which clarifies the transformation contract. It says nothing about edge cases that materially affect output, such as nested objects, uneven keys across records, whether a header row is emitted, or delimiter/quoting 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?
One sentence, verb-first, with zero filler. The input and output types are front-loaded and nothing needs trimming.
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 pure utility with full schema description coverage and no annotations to compensate for, this is close to sufficient: it names both the input and the returned representation. The only shortfall is the absence of any note on how irregular inputs (nested values, differing keys) are rendered in the CSV.
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 the single parameter schema already documents that a single object is also accepted. The description adds only the framing that the input is an array of objects, which marginally narrows interpretation but adds no new syntax or format detail beyond the schema. Baseline 3 applies when the schema does the heavy lifting.
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 both resources ('Convert a JSON array of objects to CSV text'), so the transformation is unambiguous. However, it never mentions the inverse sibling csv2json, so an agent gets no explicit differentiation from it.
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 the alternative csv2json for the reverse direction. The agent must infer usage entirely from the name and purpose statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
slugCInspect
Turn text into a URL slug.
| 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, but it discloses none of the relevant traits: whether the transform is deterministic, how case/whitespace/unicode are handled, or what happens with empty input. It implies a pure transformation but adds no 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?
A single, front-loaded sentence with zero waste. It is appropriately sized for 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?
For a utility with no output schema and no annotations, the description says nothing about the resulting slug format (lowercasing, hyphenation, length limits, transliteration) or edge cases. An agent can guess but cannot be certain of behavior 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?
The single 'text' parameter has 0% schema description coverage, and the description adds no meaning beyond the parameter name. While 'text' is largely self-explanatory in context, the description does not compensate for the schema gap as required at low coverage.
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-plus-resource transformation ('Turn text into a URL slug'), which is clear and distinct from utility siblings like hash or uuid. It does not explicitly name an alternative, but the operation is 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?
There is no guidance on when to use this versus siblings such as hash or uuid, and no stated prerequisites or exclusions. Usage is only implied by the one-line purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
timeAInspect
Current unix + ISO UTC time.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the disclosure burden; it does clarify the output values (unix + ISO UTC), implying a side-effect-free read. It doesn't explicitly state that the call is stateless/read-only or whether the two formats are in one payload, leaving some inference.
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 short sentence with zero waste, front-loading the return content. Nothing is padded or redundant.
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 job is to say what comes back — and it names both formats. That covers what an agent needs to call and consume this tool; only explicit statement of no side effects 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 is nothing the description needs to disambiguate. It adds no parameter noise, which 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?
The description states the resource and exactly what is returned: a Unix timestamp plus an ISO UTC string. The tool name 'time' plus this phrasing makes it clearly distinct from siblings like uuid, hash, and slug, though it never uses an explicit verb.
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 explicit when-to-use or when-not-to-use guidance is given, but for a zero-parameter clock utility the intended use is essentially implied by the name and return description. Adequate but not instructive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
uuidAInspect
Generate random UUIDv4s (1-100, default 5).
| Name | Required | Description | Default |
|---|---|---|---|
| n | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the load, and it does disclose the meaningful behavior: random UUIDv4 output, batch size bounds, and a default. It does not say what the return looks like (single string vs. list vs. delimited) or whether duplicates are possible, and there is no output schema to cover that 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?
One short sentence, front-loaded with the resource and variant, with the parameter facts parenthesized. Nothing is wasted and nothing essential is 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 single-parameter generator with no annotations and no output schema, the description covers the operation, the variant, the bounds, and the default. The only missing piece is output shape, which matters mainly when n > 1.
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% — the schema names `n` with min/max but no default and no meaning. The description compensates well by supplying both the 1-100 bounds and the default of 5, so the parameter is fully actionable from the description alone.
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 ('Generate random UUIDv4s') and pins the exact variant, which is the key detail an agent needs. Sibling tools (hash, slug, time) are unrelated enough that no explicit differentiation is required, though none is offered.
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 verb 'Generate' — an agent will infer this is the tool for producing identifiers. There is no statement of when to prefer it over alternatives, no prerequisites, and no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wordcountAInspect
Count words, characters and lines of text.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations and no output schema, the description carries full behavioral burden. It discloses the three metrics being counted, which is useful, but does not specify the return format, handling of whitespace, Unicode, or line endings.
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, front-loaded sentence with no wasted words. It is appropriately sized for a simple utility 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 is nearly complete. The only minor gap is the absence of explicit return-shape information, though the listed metrics strongly imply what is returned.
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 implies that the single required parameter is the 'text' to be counted, but adds no further semantics such as whether whitespace or empty input is handled specially.
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 ('Count') and enumerates the exact resources ('words, characters and lines of text'), making the tool's purpose immediately clear without needing sibling comparison.
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 tool name and description, but there is no explicit guidance on when to use this tool versus alternatives, nor any stated preconditions or exclusions.
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.
9 tool updates
- First observed
aitells - First observed
aitells_report - First observed
csv2json - First observed
hash - First observed
json2csv - First observed
slug - First observed
time - First observed
uuid - First observed
wordcount
Related MCP Connectors
92 tools: JSON repair, CSV, hashes, cron, dates, units, validators. 25 free calls.
Utility tools for AI agents: hashing, text stats, validation, DNS, currency, GEO audits.
Small tools for agent builders: AI-writing tells, tools/list token cost, CLAUDE.md lint, and more.
Exact tools for AI assistants: QR codes, word counts, text diff and JSON checks. Free, no account.
Related MCP Servers
- FlicenseAqualityBmaintenanceSwiss-army-knife utility MCP server for AI agents. 18 tools for JSON validation/formatting, base64 encode/decode, hash generation, UUID generation, URL parsing, regex testing, markdown↔HTML conversion, text stats, slug generation, datetime conversion, cron parsing, text diffing, CSV↔JSON conversion, and JWT decoding. Zero API Key required185-
- AlicenseNot gradedqualityCmaintenance72 free, open-source (MIT) developer tools over a stateless, no-key MCP server: JSON/YAML/CSV conversion, PDF and image processing, JWT/hash/UUID utilities, DNS/TLS/HTTP checks, llms.txt and AI SEO checks, and more. Streamable HTTP with JSON responses.MIT
- AlicenseAqualityAmaintenanceBilingual (EN/ES) AI-writing detection that shows the evidence instead of a percentage: named tells with line and column, hidden-character inspection, and citation cross-checking against a document's own bibliography. Seven of its nine tools run entirely locally and never touch the network.1028MIT
- AlicenseNot gradedqualityDmaintenanceOffers 29 free tools for text processing, AI-powered generation, SEO optimization, utilities, cron tasks, file processing, and ideas management, all without requiring an API key.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.