SimplyUtils
Server Details
Developer and text tools: JSON, QR codes, units, passwords, UUIDs, hashes, Base64, regex and more.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- Notysoty/simplyutils-mcp
- GitHub Stars
- 0
- Server Listing
- SimplyUtils MCP Server
TDQS
Scored across 10 tools
Each tool has a clearly distinct purpose: encoding, timestamp conversion, unit conversion, text counting, JSON formatting, password generation, QR generation, UUID generation, hashing, and regex testing. The only slight conceptual overlap is time-related conversion between convert_timestamp and convert_units, but their use cases are clearly separated by description.
Most tool names follow a clear verb_noun pattern such as convert_timestamp, generate_password, and hash_text. The sole exception is base64, which is a noun-only name rather than encode_base64 or decode_base64, but it remains readable and recognizable.
With 10 tools, the server is well-scoped for a general utility toolkit. Each tool covers a distinct common operation and none feels redundant or unnecessary.
The surface covers a broad set of everyday utilities: encoding, time/unit conversion, text metrics, JSON formatting, secure generation, hashing, and regex testing. Minor gaps exist, such as URL encoding/decoding or date arithmetic, but these are not severe for the stated miscellaneous scope.
Available Tools
10 toolsbase64Base64 encode or decodeARead-onlyInspect
Encode UTF-8 text to Base64 (standard or URL-safe) or decode Base64 back to text.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | ||
| text | Yes | ||
| urlSafe | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is handled. The description adds the UTF-8 input assumption, which is genuinely useful, but says nothing about error behavior on malformed Base64 input or whether urlSafe is ignored when decoding.
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 that front-loads the action and covers both directions and both variants with zero filler. Nothing is redundant with the title or 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?
For a three-parameter, stateless, non-destructive utility with no output schema, the description covers enough to invoke it correctly. The remaining gap is mode-dependent parameter behavior (urlSafe on decode) rather than anything structural.
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 carry parameter meaning. It does cover the core semantics of text, mode, and the standard/URL-safe distinction, but it omits that urlSafe defaults to false and, more importantly, that it has no effect in decode mode, which is the most likely source of a wrong call.
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 reversible transform with both directions ('Encode UTF-8 text to Base64 ... or decode Base64 back to text') and names the two encoding variants. It does not explicitly draw the boundary against the nearest sibling, hash_text, which also transforms text input, but no sibling performs Base64 so confusion risk is low.
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 mode enum ('encode or decode'). The description gives no guidance on when to prefer standard vs URL-safe output, and no note on which mode consumes which input form. An agent must infer everything from the parameter names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_timestampConvert a Unix timestamp or dateARead-onlyInspect
Convert a Unix timestamp (seconds or milliseconds) or a date string to Unix seconds, milliseconds, ISO 8601, UTC and a chosen time zone.
| Name | Required | Description | Default |
|---|---|---|---|
| value | Yes | e.g. 1767225600 or 2026-10-27T09:30:00Z | |
| timeZone | No | IANA time zone, e.g. Asia/Kolkata | UTC |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare a pure, non-destructive, closed-world read, so the safety profile is covered. The description adds value by listing what the conversion returns (Unix seconds, milliseconds, ISO 8601, UTC and a chosen time zone), but it does not explain how ambiguous numeric input is interpreted or what structure the response takes.
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 the verb and input forms, with the output list following naturally. No filler or redundant restatement of the title.
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 only two parameters, no output schema, and read-only annotations, the description covers the essential ground: what goes in and which representations come out. A brief note on timeZone behavior and second-vs-millisecond disambiguation 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 100%, so the baseline would be 3; the description earns an extra point by clarifying that the value may be seconds, milliseconds, or a date string, which the schema's single seconds-based example does not convey. It still says nothing new about the timeZone parameter beyond the schema's IANA note.
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 (timestamp/date), and enumerates both the accepted input forms and the emitted representations. It is clearly distinguishable from siblings like convert_units, which handle unrelated quantities.
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 when-to-use guidance, no statement about when another sibling (e.g. convert_units) might be preferred, and no note on the ambiguous case of a bare integer that could be seconds or milliseconds.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_unitsConvert unitsARead-onlyInspect
Convert a value between units of the same category. Units (symbol or name): length: m, km, mi, ft, in, cm, mm, yd, nmi; weight: kg, g, lb, oz, t, mg, st; temperature: °C, °F, K; volume: L, mL, gal, fl oz, cup, tbsp, m³; speed: km/h, mph, m/s, kn, ft/s; area: m², km², mi², ft², ac, ha; data: B, KB, MB, GB, TB, bit, KiB, MiB, GiB, TiB; time: s, min, h, d, wk, mo, yr, ms.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Unit symbol or name, e.g. mi or mile | |
| from | Yes | Unit symbol or name, e.g. km or kilometer | |
| value | Yes | A plain number, e.g. 12.5 | |
| category | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish that this is a safe, read-only, non-destructive operation. The description adds the supported-unit catalog and same-category constraint, but does not disclose rounding, precision, case sensitivity, or error behavior for invalid units.
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 in the first sentence, followed by a dense but useful unit catalog. The list is long but every category and unit mapping earns its place by defining valid inputs.
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 converter, the definition covers purpose, valid categories, and supported units, while annotations cover safety. It is slightly incomplete because it does not state the output format or behavior for unsupported conversions.
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 75%, with descriptions for value, from, and to. The description goes beyond the schema by listing supported units and mapping them to categories, which materially clarifies valid values for from and to.
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: 'Convert a value between units of the same category.' The same-category scope makes it clearly distinct from unrelated utility siblings such as convert_timestamp or hash_text.
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 same-category constraint implies when the tool applies, but there is no explicit guidance on alternatives, exclusions, or edge cases such as incompatible categories. Usage is clear enough to infer but not fully specified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
count_wordsCount words and charactersARead-onlyInspect
Count words, characters, sentences and paragraphs in text, with an estimated reading time.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered structurally. The description still adds value beyond them by disclosing that the result set includes a derived reading-time estimate — output information the agent cannot get from annotations or an output schema (none exists). It stops short of saying how reading time is derived (e.g., words per minute).
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 listing what is measured before the add-on (reading time). Every clause earns its place with zero filler or restatement of the title.
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-only utility with annotations covering safety and no output schema, the description is essentially sufficient — it enumerates every value returned. The only gap is that reading-time estimation basis (words per minute) and text handling edge cases are 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?
There is a single required parameter 'text' with 0% schema description coverage, so the description must carry the burden. It says the counting happens 'in text', which confirms the parameter's role, but adds no detail on encoding, size limits, or how multi-byte/unicode characters are treated.
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 precise verb (count) and enumerates the exact units measured: words, characters, sentences, paragraphs, plus an estimated reading time. No sibling tool overlaps with counting, so there is nothing to disambiguate from — an agent immediately knows what this does.
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: it's a self-evident utility that any agent would call when text metrics are wanted. There are no explicit when/when-not statements, no prerequisites, and no named alternatives (none exist among the siblings), so it lands at minimum-viable rather than strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
format_jsonFormat or minify JSONARead-onlyInspect
Validate JSON and pretty-print or minify it, optionally sorting object keys. Returns the error position for invalid JSON.
| Name | Required | Description | Default |
|---|---|---|---|
| json | Yes | The JSON text | |
| indent | No | 2 | |
| sortKeys | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish that this is read-only, non-destructive, and closed-world. The description adds useful behavior beyond that by stating it validates JSON and returns error position for invalid 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?
Two short sentences front-load the core action and add only relevant behavior. There is no redundant or filler 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?
For a simple utility with no output schema, the description covers the main actions, optional sorting, and invalid-JSON error behavior. It could be slightly more complete by mentioning the indent choices, but annotations and schema cover the safety profile and enum values.
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 low at 33%, so the description should compensate. It does explain pretty-print/minify and optional key sorting, mapping to indent and sortKeys, but it does not explain the indent enum values or defaults, leaving some schema-derived detail implicit.
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 specific verbs and resource: validate JSON, pretty-print, minify, and optionally sort keys. It clearly distinguishes this utility from unrelated siblings such as hash_text or convert_timestamp.
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 clear context for when to use the tool: validating and formatting/minifying JSON, with optional key sorting. No relevant sibling competes for this task, but there are no explicit exclusions or alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_passwordGenerate strong passwordsARead-onlyInspect
Generate random passwords with a cryptographically secure generator. Each chosen character set appears at least once.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | ||
| length | No | ||
| numbers | No | ||
| symbols | No | ||
| lowercase | No | ||
| uppercase | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=false, so safety is covered. The description adds genuinely non-obvious behavior: the generator is cryptographically secure, and every selected character set is guaranteed to appear at least once. It stops short of covering output shape (single string vs. list of `count` passwords).
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 with zero filler; the mechanism and the per-set guarantee are both front-loaded. Nothing repeats the title or 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 6 undocumented parameters, no output schema, and counts up to 20 passwords per call, an agent still cannot tell what the return value looks like or how count/length interact. The description covers the security and composition guarantees but leaves the parameter surface and output shape 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 description coverage is 0% across 6 parameters, so the description must carry the load, but it only implicitly gestures at the character-set booleans ('each chosen character set') and says nothing about count, length, defaults, or their bounds. Two of six parameters are hintable at best; the rest have no semantic help 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 ('Generate random passwords') plus the mechanism ('cryptographically secure generator'), which cleanly separates it from siblings like generate_uuid and hash_text. An agent can identify the tool's job 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 the tool name and the security qualifier, and the sibling set is dissimilar enough that misrouting is unlikely. However, there is no explicit statement of when to prefer this over a sibling or any exclusions, so guidance 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.
generate_qr_codeGenerate a QR codeARead-onlyInspect
Make a static QR code for a link or text (up to 800 bytes). Returns a PNG image and the SVG markup. Static codes never expire.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | Link or text to encode | |
| background | No | Six-digit hex color for the background | #ffffff |
| foreground | No | Six-digit hex color for the modules | #000000 |
| errorCorrection | No | M |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false. The description adds meaningful context beyond annotations: static codes never expire, output is a PNG image and SVG markup, and input is limited to 800 bytes. It does not cover authorization, rate limits, or image dimensions, but the key behavioral traits are disclosed.
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. The primary purpose and input scope are front-loaded, followed by return formats and the static-code lifetime. Every sentence adds useful information without 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?
This is a low-complexity generation tool with no output schema, and the description covers return formats, static-code behavior, and input size. Annotations cover the safety profile. The only minor gap is that the errorCorrection parameter remains unexplained in both schema and description.
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 75%, with text, background, and foreground documented in the schema. The description adds the useful 800-byte constraint for text, but does not explain background, foreground, or the errorCorrection enum. Error correction is the only parameter lacking schema description, and the description does not compensate for that 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: make a static QR code for a link or text. It adds useful scope details such as the 800-byte limit and static nature. Sibling tools are unrelated utility generators, so confusion is unlikely, but it does not explicitly differentiate itself from 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 description implies when to use the tool: for encoding a link or text into a static QR code. It does not state when not to use it, nor does it compare it to dynamic QR codes or other alternatives. Sibling tools are unrelated, so guidance is adequate but minimal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_uuidGenerate UUIDsBRead-onlyInspect
Generate random version 4 UUIDs.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and, notably, idempotentHint=false, which matches the description's 'random' claim. The description confirms randomness and RFC-4122 version 4 format, but says nothing about whether repeated calls differ or how output is shaped — modest added value over annotations.
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 six-word sentence with the key qualifier (version 4) up front and 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?
No output schema exists, so the description should say whether a single UUID string or a list is returned, especially given a count parameter — that gap is real. For a trivial utility the description is otherwise adequate, but it leaves the batch/multi-value behavior 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% and the only parameter, 'count', is never mentioned in the description. An agent cannot learn from the text that batching is supported (up to 50 per call) or what count=1 returns; it must read the schema's min/max/default to infer this.
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 ('Generate'), an exact resource ('UUIDs'), and even the version (v4), so the agent knows precisely what comes back. It does not need to contrast with the sibling generate_password/generate_qr_code tools since the resource noun already disambiguates.
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 intent of a UUID generator is self-evident, so usage is implied rather than stated. There is no explicit when-not guidance (e.g. use generate_password for secrets, use this for identifiers), but for a single-purpose utility the omission is minor.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hash_textHash textARead-onlyInspect
Hash UTF-8 text with MD5, SHA-1, SHA-256, SHA-384 or SHA-512 and return the hex digest. MD5 and SHA-1 are for checksums only, not security.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | ||
| algorithm | No | sha256 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so safety is covered. The description adds value beyond that: it specifies the exact output format (hex digest), the input encoding (UTF-8), and a security caveat warning that MD5/SHA-1 are unsuitable for security purposes.
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 filler, with the core action and supported algorithms front-loaded and the caveat trailing as a short qualifier. 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 two-parameter, non-destructive utility with no output schema, the description states the input handling, available algorithms, output format, and the one meaningful caveat. There is nothing material an agent needs in order to call this correctly that 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 coverage is 0%, so the description has to carry parameter meaning. It does add that the input is treated as UTF-8 and enumerates the acceptable algorithm values, but that list merely restates the schema enum, and it never explains the sha256 default or what happens if algorithm 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?
The description pairs a specific verb ("Hash") with a specific resource ("UTF-8 text") and names the five supported algorithms plus the output form (hex digest). It clearly distinguishes hashing from the nearby encoding/ID-generating siblings such as base64 and generate_uuid.
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 line "MD5 and SHA-1 are for checksums only, not security" gives useful algorithm-selection guidance, which is real usage advice. However, it never states when to pick this tool over a sibling like base64 (encoding) or generate_password, and it doesn't mention the default algorithm or when omitting it is fine. Usage is implied rather than explicitly framed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
test_regexTest a regular expressionARead-onlyInspect
Run a JavaScript regular expression against text and list every match with its position and capture groups (up to 200 matches, 0.5 s limit).
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | ||
| flags | No | JavaScript flags such as gi | g |
| pattern | Yes | Pattern without slashes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuinely non-obvious operational context: a 200-match cap and a 0.5 s execution limit, which tell the agent results may be truncated and that catastrophic backtracking will time out.
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, zero waste, with the action and result front-loaded before the limiting constants. Everything stated 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 description carries the return-value burden and does so well by naming matches, positions and capture groups, plus truncation and time limits. The only gap is unspecified behavior on invalid patterns or zero matches, which is minor for a 3-parameter utility.
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 67%, with pattern and flags already documented ("Pattern without slashes", default "g", "JavaScript flags such as gi"). The description reinforces the JavaScript dialect, which matters for flag and syntax expectations, but says nothing beyond the schema about text handling. Baseline 3 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 (Run) plus resource (JavaScript regular expression against text) and describes the exact output (every match with position and capture groups). No sibling tool does regex testing, and the JS-regex dialect qualifier separates it from generic text utilities like count_words.
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 phrase "against text and list every match," so an agent can infer the testing/scanning scenario. However, there is no explicit when-to-use guidance, no note on invalid-pattern behavior, and no mention of when another sibling (e.g. count_words, hash_text) would be preferable.
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.
10 tool updates
- First observed
base64 - First observed
convert_timestamp - First observed
convert_units - First observed
count_words - First observed
format_json - First observed
generate_password - First observed
generate_qr_code - First observed
generate_uuid - First observed
hash_text - First observed
test_regex
Related MCP Connectors
Developer toolkit: UUID, timestamp, unit conversion, JSON tools, and QR code (SVG). Free.
QR codes, JSON diff/format, hashes, JWT, cron, timestamps, placeholders, flowcharts, forms, regex.
22 developer utilities: base64, hashes, JWT, JSON tools, unit conversion. Free, keyless.
238+ dev tools via MCP: JSON, QR, PDF, DNS, hash, UUID, code review, JWT, SSL, WHOIS, and more
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides 12 local developer tools (JSON format, Base64, JWT decode, regex test, hash, UUID, etc.) for AI assistants like Claude Desktop and Cursor.4 npmMIT
- AlicenseAqualityCmaintenanceProvides deterministic developer utilities as MCP tools, including UUID/password generation, hashing, encoding, JWT decoding, cron scheduling, regex execution, and text analysis. Runs entirely locally with no network calls, telemetry, or API keys.2021 npmMIT
- AlicenseNot gradedqualityCmaintenanceProvides offline developer utilities for generating UUIDs, converting timestamps and units, formatting or validating JSON, and creating QR codes via MCP tools.MIT
- AlicenseBqualityDmaintenanceProvides 45 developer utilities (UUID generation, hashing, JWT decoding, etc.) for AI assistants like Claude Desktop, Cursor, and Windsurf. Includes 16 free tools and 29 pro tools with trial usage.4610 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.