find_duplicates
Find duplicate or near-duplicate texts using Jaccard similarity. Returns: {duplicates: [{text1_idx, text2_idx, similarity}]}
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| texts | Yes | ||
| threshold | No |
Find duplicate or near-duplicate texts using Jaccard similarity. Returns: {duplicates: [{text1_idx, text2_idx, similarity}]}
| Name | Required | Description | Default |
|---|---|---|---|
| texts | Yes | ||
| threshold | No |
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?
No annotations are provided, so the description carries the full burden. It discloses the algorithm and return structure, but lacks details on input assumptions (e.g., text format), edge cases, or whether the operation is read-only. This is a gap but not misleading.
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 with no wasted words. The operation is front-loaded, and the return format is compactly included. Every sentence adds value.
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 description covers the core purpose and output but omits key context such as input element types, threshold semantics, and any operational safety notes. Given no output schema or annotations, the description is adequate but not fully complete for confident invocation.
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 must compensate. It mentions Jaccard similarity but does not explain the 'threshold' parameter (e.g., range, default effect) or the expected element type in the 'texts' array. The return format hints at indices but not the input structure.
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 clear verb ('Find'), specific resource ('duplicate or near-duplicate texts'), and method ('using Jaccard similarity'). It distinguishes itself from sibling text-analysis tools like analyze_sentiment or extract_keywords by focusing on deduplication.
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 it (when duplicate detection is needed) but gives no explicit usage guidance or alternatives. It does not mention exclusions or compare with sibling tools, leaving the agent to infer context.
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.
Each tool addresses a distinct text analysis task: sentiment, language, keywords, duplicates, and summarization. There is no overlap or ambiguity between them.
Most tools follow a clear verb_noun pattern (analyze_sentiment, detect_language, etc.). 'health_check' is a minor deviation, but it is still recognizable and does not break the overall consistency.
With 6 tools, the server is well-scoped for a text intelligence service. Each tool provides a meaningful, non-redundant capability without overwhelming the user.
The tool set covers the core text analytics needs: sentiment, language, keywords, duplication, and summarization. No obvious missing operations are apparent for the stated purpose.