Skip to main content
Glama

Razi Dev Utilities

Server Details

Developer utilities over MCP: Base64 encode and decode, decode JWTs, format JSON, do percentages.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

TDQS

A4.4/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: percentage math, Base64 decoding/encoding, JWT decoding, and JSON formatting. The decode_base64 and decode_jwt descriptions explicitly call out when each should be used, preventing confusion.

Naming Consistency5/5

All tool names follow a consistent verb_noun snake_case pattern: calculate_, decode_, encode_, format_. The two decode tools are similarly prefixed, and encode/decode form a natural inverse pair.

Tool Count5/5

Five tools is a well-scoped set for a small developer utilities server. Each tool provides a distinct, useful capability without redundant entries or excessive surface area.

Completeness3/5

The core Base64 pair, JWT decoding, JSON formatting, and percentage calculations are covered, but the descriptions reference encode_url and decode_url tools that are not present in the tool list, creating dead ends for agents. There is no URL encoding/decoding tool despite those explicit references.

Available Tools

5 tools
calculate_percentageAInspect

Run one of four percentage calculations on two numbers. Returns JSON { operation, result } (plus unit: 'percent' for the 'change' operation). The meaning of value1 and value2 depends on the operation, so read their descriptions before calling. Exact arithmetic, no model involved, no rounding applied. Ratios and general expressions are not supported.

ParametersJSON Schema
NameRequiredDescriptionDefault
value1YesFor 'of', the percentage itself (25 means 25%). For 'increase' and 'decrease', the base amount being adjusted. For 'change', the original value. Must be a finite number.
value2YesFor 'of', the amount the percentage is taken from. For 'increase' and 'decrease', the percentage to apply (10 means 10%). For 'change', the new value. Must be a finite number.
operationYesWhich calculation to run. 'of' = value1 percent OF value2. 'increase' = value1 raised BY value2 percent. 'decrease' = value1 reduced BY value2 percent. 'change' = the percentage change going FROM value1 TO value2, which errors when value1 is 0. Required; any other value is rejected.

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly states the return format (JSON { operation, result }), the extra 'unit' field for 'change', that arithmetic is exact with no rounding, and that it involves no model. It also mentions the limitation on ratios. While it does not discuss error handling beyond the schema's note on 'change' when value1=0, the key behavioral traits are transparently disclosed.

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

Conciseness5/5

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

The description is three sentences with zero fluff. The primary purpose is front-loaded, the return format is given immediately, and the operational nuances are compressed into two final sentences. Every sentence earns its place, making it highly efficient for an agent to parse.

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

Completeness4/5

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

For a tool with four operations and no output schema, the description covers the essential context: it states the return structure, the special 'unit' for 'change', the exactness of arithmetic, and the limitation on ratios. It also points to the schema for parameter semantics. The only minor gap is that it doesn't mention potential edge cases (e.g., division by zero in 'of' when value2=0), but the schema covers the 'change' error case, so overall it is reasonably complete.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds a valuable hint that value1/value2 semantics depend on the operation and advises reading their descriptions, but it does not add substantive meaning beyond the schema. The schema already provides per-operation explanations for each parameter, so the description's contribution is minimal but helpful.

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 exactly what the tool does: 'Run one of four percentage calculations on two numbers.' It names the resource (percentage calculations), the verb (run), and the scope (four operations). It also distinguishes from siblings, which are all encoding/decoding/formatting tools, so there is no ambiguity. The return format is mentioned upfront, making the purpose even clearer.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

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

The description gives practical usage guidance: it notes that value1/value2 meanings depend on the operation and instructs the agent to read their descriptions before calling. It also explicitly states what is NOT supported ('Ratios and general expressions are not supported'), which helps avoid misuse. Since no sibling tool does similar work, explicit alternatives are not needed, but a more direct 'use this when you need percentage calculations' would strengthen the guidance.

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

decode_base64AInspect

Decode a Base64 string back to UTF-8 text. Returns JSON { decoded }. Input is verified by re-encoding, so anything that is not genuine Base64 is rejected with an error instead of returning plausible garbage; binary payloads that are not valid UTF-8 will also fail. For %20-style escapes use decode_url, and for a JWT use decode_jwt, which splits the three segments for you.

ParametersJSON Schema
NameRequiredDescriptionDefault
encodedYesStandard Base64 text. Surrounding whitespace and missing '=' padding are tolerated; the URL-safe alphabet (- and _) is not.

TDQS

A4.9/5.0
Behavior5/5

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

There are no annotations, so the description carries full behavioral burden, and it delivers: it discloses the re-encoding verification, the rejection of invalid Base64 instead of returning garbage, and the failure on non-UTF-8 binary payloads. It also notes accepted tolerance for whitespace and missing padding while URL-safe alphabet is rejected, going beyond the basic operation.

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

Conciseness5/5

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

Three focused sentences front-load the core action, then give return/error behavior, then alternatives. There is no filler and each sentence contributes operational guidance.

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?

For a one-parameter utility with no output schema and no annotations, the description is complete: it states the return shape, failure modes, and when to use sibling tools. 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.

Parameters4/5

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

The schema already covers the single parameter at 100%, so baseline is 3. The description adds extra meaning by clarifying that the encoded value must be genuine Base64 that decodes to valid UTF-8, and that invalid values produce errors. This is useful beyond the schema's format description.

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 opens with a specific verb and resource: 'Decode a Base64 string back to UTF-8 text,' making the operation immediately clear. It also differentiates from siblings by naming decode_jwt and decode_url, and the return format is specified as JSON { decoded }.

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 states when to choose alternatives: use decode_url for %20-style escapes and decode_jwt for JWTs. This gives an agent concrete routing conditions rather than leaving the choice to inference.

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

decode_jwtAInspect

Decode a JWT's header and payload for inspection. Returns JSON { header, payload, signatureVerified, note, expiresAt, isExpired } — structured objects, not a rendered table. The signature is NEVER verified: that needs the issuer's key, which this service does not have, so signatureVerified is always false and the claims must be treated as untrusted, attacker-controllable input. Expiry is computed from the exp claim and is null when the token has none. Use decode_base64 for a bare Base64 string; this tool additionally splits the three segments and handles base64url padding.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYesThe full JWT: three base64url segments separated by dots (header.payload.signature). Surrounding whitespace is trimmed; a 'Bearer ' prefix is not stripped and will fail. Anything without exactly three segments is rejected.

TDQS

A4.9/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden and delivers: it discloses that signatures are NEVER verified, signatureVerified is always false, claims must be treated as untrusted attacker-controlled input, expiry is derived from exp and null when absent, and output is structured JSON objects rather than a table. This goes well 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.

Conciseness5/5

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

The description is front-loaded with the core purpose and return shape, then covers critical security caveats and alternatives. Every sentence adds necessary information; no fluff or repetition of schema content.

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?

Despite having no output schema, the description fully documents the return object fields and their semantics. It also covers failure-prone edge cases (Bearer prefix, segment count), security implications, and the sibling tool route, making it complete for an agent to invoke correctly.

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% and already describes the token format well. The description adds extra meaning by explaining that it handles base64url padding, splits segments, and contrasting with decode_base64, providing context the schema alone does not convey. Slight deduction because most parameter-level detail is already in the schema.

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 opens with a specific verb and resource: 'Decode a JWT's header and payload for inspection.' It clearly differentiates itself from decode_base64 by noting it splits the three segments and handles base64url padding, so an agent can distinguish it from its sibling without ambiguity.

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?

Explicitly names the alternative tool decode_base64 and states the condition for choosing it ('for a bare Base64 string'), contrasting with this tool's additional JWT-specific behavior. It also gives practical usage constraints such as the Bearer prefix not being stripped and the three-segment requirement.

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

encode_base64AInspect

Encode UTF-8 text as standard Base64 (padded, A-Z a-z 0-9 + /), for embedding binary-unsafe content in JSON, data URIs, HTTP headers or Basic auth. Returns JSON { encoded }. This is not URL-safe and is not escaping: for query strings and path segments use encode_url instead. It is an encoding, not encryption — anyone can reverse it with decode_base64. Runs locally, no size limit beyond the request body.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesThe plain text to encode, interpreted as UTF-8. Must be a string; raw binary cannot be passed through this parameter.

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations present, the description carries the full burden of behavioral disclosure. It reveals the return shape (JSON { encoded }), the non-cryptographic nature, reversibility, local execution, and the absence of size limits beyond the request body. This gives an agent a solid mental model of the operation's side effects and limitations.

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

Conciseness5/5

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

Three sentences carry all essential information with zero filler: core function, return format, key caveats, and alternatives. The most critical usage constraint (not URL-safe) is placed prominently, and every sentence earns its place.

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?

For a single-parameter encoding tool with no output schema, the description is complete. It covers what the tool does, when to use it, what not to use it for, what the response looks like, and operational characteristics. An agent should be able to decide to call it and interpret its output correctly without further clarification.

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

Parameters3/5

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

The input schema already documents the 'text' parameter thoroughly, describing it as plain text, interpreted as UTF-8, and requiring a string. The description reinforces that the input is UTF-8 and raw binary cannot be passed, but it does not add significant new semantic meaning beyond the schema. Baseline 3 applies because schema coverage is 100%.

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 ('Encode'), a clear resource ('UTF-8 text'), and a precise output format ('standard Base64, padded, A-Z a-z 0-9 + /'). It distinguishes itself from sibling 'decode_base64' and the non-sibling 'encode_url' by describing the exact transformation and its intended use cases.

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?

The description gives explicit use cases (embedding in JSON, data URIs, HTTP headers, Basic auth) and explicit exclusions ('not URL-safe', 'not escaping', 'for query strings and path segments use encode_url instead'). It also warns against a common misuse by clarifying the encoding is reversible and not encryption, routing the agent to use decode_base64 when needed.

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

format_jsonAInspect

Validate and re-print a JSON string. Returns JSON { valid, formatted, minified } — the indented form and the whitespace-free form as plain strings, with no syntax highlighting or colour. Invalid JSON is rejected with the parser's own error message rather than returned as valid:false, so a successful call is proof the input parses. Round-tripping through the parser normalises the document: key order is kept but comments, trailing commas and duplicate keys are lost, and large integers lose precision.

ParametersJSON Schema
NameRequiredDescriptionDefault
jsonYesThe JSON document as a string. Must be strict JSON — comments and trailing commas are parse errors.
indentNoSpaces per indent level in `formatted`, 0 to 10. Default 2; a value outside that range or a non-number silently falls back to 2. Use 0 for newlines with no indentation, or read `minified` for no whitespace at all.

TDQS

A4.5/5.0
Behavior5/5

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 thoroughly. It discloses the exact return shape, that invalid JSON is rejected with a parser error rather than returning valid:false, and that round-tripping normalizes the document (losing comments, trailing commas, duplicate keys, and precision on large integers). This is exceptional behavioral transparency.

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

Conciseness5/5

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

The description is front-loaded with the purpose, then efficiently covers output format, error handling, and normalization in three concise sentences. Every clause adds value; there is no redundancy or fluff.

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?

For a simple two-parameter tool with no output schema, the description fully explains the return object, error behavior, and side effects (normalization). Nothing an agent needs to correctly call and interpret the tool is missing.

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

Parameters3/5

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

Schema description coverage is 100% for both parameters, so the schema already documents their meaning. The description adds no new parameter-specific detail; it focuses on output and behavior. Baseline of 3 is appropriate when schema covers everything.

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?

States a specific verb ('Validate and re-print') and resource ('a JSON string'), and specifies the output structure. It clearly distinguishes itself from the sibling tools (calculate_percentage, decode_base64, etc.) by focusing on JSON formatting and validation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

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

The description clearly implies the tool is for validating and formatting JSON strings, and the mention of normalization and error behavior sets expectations. However, it doesn't explicitly name alternative tools or state when not to use it; given the siblings are unrelated, this is a minor gap.

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. Dates show when Glama detected each change.

  1. 5 tool updates
    • First observedcalculate_percentage
    • First observeddecode_base64
    • First observeddecode_jwt
    • First observedencode_base64
    • First observedformat_json

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables AI clients to use developer utilities like JSON formatting, JWT decoding, UUID generation, and more via MCP.
    12
    94
    2
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    A unified developer toolbox MCP server providing utilities for base64, JWT, timestamps, UUID, JSON formatting, hashing, URL handling, case conversion, color conversion, number bases, string operations, and regex.
    15
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides various developer utilities such as UUID generation, timestamp conversion, Base64 encoding, color conversion, password generation, hash generation, and JSON formatting via MCP.
    9
    1
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources