Skip to main content
Glama

inspect_characters

Read-only

Find hidden characters that suggest AI-rewriting: zero-width spaces, Cyrillic look-alikes, direction controls. Returns exact positions and clustering to separate deliberate insertion from copy-paste.

Instructions

Reports characters present in a text that typing does not produce: invisible/zero-width characters, letters borrowed from another alphabet to impersonate Latin ones (a Cyrillic "а" for an "a"), text direction controls, and hidden tag characters. Tools that rewrite text to defeat AI detectors insert these deliberately. Returns the exact codepoint, line and column of every occurrence, plus whether they are clustered (which ordinary copy-paste from a web page or a PDF produces) or spread through the whole document (which is what a rewriting tool leaves behind). Language-independent and fully offline. This is a checkable fact about a file, NOT proof of dishonesty and NOT a claim about who wrote the text: legitimate documents pick these up from PDFs, web pages and multilingual writing. The correct response to a finding is to ask the writer how the document was produced.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
textYesThe text to inspect, exactly as it arrived — not a cleaned copy.
languageNoLanguage for the wording of the messages: "en" or "es". Default "en".en
Behavior5/5

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

Despite the readOnlyHint annotation already signaling a safe read operation, the description goes far beyond by detailing output specifics (codepoint, line, column, clustering), explaining semantic interpretation (clustered vs. spread), and adding context about legitimate sources. It also clearly states the tool's limitations (not proof of authorship), which is critical behavioral context not conveyed by schemas.

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

Conciseness4/5

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

The description is longer than typical but every section earns its place: it explains what the tool does, what it returns, how to interpret results, and important caveats. The main purpose is front-loaded in the first sentence, and the subsequent content is organized logically. Minor redundancy (e.g., 'exactly as it arrived' is repeated in schema) could be trimmed, but overall it is effectively structured.

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

Completeness5/5

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

Given the tool's complexity and the absence of an output schema, the description is remarkably complete. It covers the tool's scope, return values, interpretation of clustering, language independence, offline capability, and limitation of evidence. There is no gap that would leave an agent unsure about invocation or result interpretation.

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%, with both parameters (text and language) already described adequately in the input schema. The tool description does not add additional parameter-level semantics, staying within the baseline 3 for schema-covered parameters. No extra syntax, format, or edge-case details are provided beyond 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 ('Reports characters') and a precise resource ('text' inspected for non-typing characters), immediately distinguishing it from sibling tools like measure_predictability or check_originality. It lists concrete categories (invisible, Cyrillic impostors, direction controls, hidden tags) and explicitly frames it as a 'checkable fact,' making the tool's unique contribution unmistakable.

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 provides clear context for when to use this tool: detecting deliberately inserted characters by rewriting tools, and it gives explicit interpretive guidance ('NOT proof of dishonesty') and a recommended action ('ask the writer'). However, it does not name sibling alternatives or state when not to use it, which leaves a small gap in usage guidance.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/peopleworks/SignsofAI'

If you have feedback or need assistance with the MCP directory API, please join our Discord server