PII Detect
security_pii_detectDetect personally identifiable information (emails, phones, SSNs) in text.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | The text to scan for PII |
security_pii_detectDetect personally identifiable information (emails, phones, SSNs) in text.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | The text to scan for PII |
Changes observed during successful MCP inspections. Dates show when Glama detected each change.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, and the description adds the types of PII detected (emails, phones, SSNs). However, it does not disclose output format, confidence, false-positive behavior, or any side effects. The bar is lowered due to annotations, but the description still leaves uncertainty about what the result looks like.
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 sentence, front-loaded with the core action, and contains no fluff. It efficiently communicates the tool's purpose and example PII types.
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?
The tool has no output schema, and the description does not explain what the return value looks like (e.g., list of matches, positions, types). It also omits any limitations or edge cases. While the input parameter is well covered, the user is left without clarity on how to interpret results.
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 100% for the single 'text' parameter, which already states it is the text to scan. The description in the tool adds no additional parameter meaning beyond what the schema provides. Baseline for high coverage is 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 uses the specific verb 'detect' with the resource 'personally identifiable information (emails, phones, SSNs) in text.' This clearly distinguishes it from sibling tools like lookup_email or lookup_phone, which are lookups by known values rather than detection within 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 description implies when to use the tool—when you need to detect PII in text—but it does not explicitly state alternatives or exclusions. No mention of when not to use it or comparisons to other tools. The context is inferred from the tool's name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
The tools are grouped into clear categories (dev, lookup, security, text, transform), which helps with disambiguation, but within categories there is some overlap. For example, lookup_ssl and lookup_ssl_cert_expiry both handle SSL certificates, and dev_url_encode/dev_url_decode are closely related but distinct. Most tools have unique purposes, but a few could be confused without careful reading of descriptions.
The naming follows a consistent snake_case pattern with a clear prefix structure (dev_, lookup_, security_, text_, transform_), which aids in organization. However, there are minor deviations like dev_cron_describe using 'describe' while others use verbs like 'generate' or 'convert', and some tools have longer names that break the verb_noun pattern slightly. Overall, the naming is predictable and readable.
With 49 tools, the count is excessive for a utility server, making it overwhelming and likely to cause confusion or inefficiency. While the tools cover many use cases, a more focused set of 15-25 tools would be more manageable and better scoped. The high number suggests feature bloat rather than a coherent, minimal surface.
The tool set is highly complete for its utility and development support domain, covering a wide range of operations from data transformation and security to lookups and text processing. There are no obvious gaps; each category provides comprehensive coverage, such as full text encoding/decoding, security functions, and various lookup capabilities, ensuring agents can handle diverse tasks without dead ends.