Skip to main content
Glama
deerajd

MCP Duplicate File Manager Server

by deerajd

Server Quality Checklist

58%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.1.0

  • Disambiguation5/5

    Each tool has a distinct purpose: list_files for directory exploration, find_duplicates for identifying duplicates, and delete_duplicates for removing them. There is no overlap or ambiguity between the tool functions.

    Naming Consistency5/5

    All tools follow the verb_noun pattern with consistent snake_case and plural nouns (list_files, find_duplicates, delete_duplicates). The naming is uniform and intuitive.

    Tool Count5/5

    With 3 tools, the server is tightly scoped to the core duplicate file management workflow. Each tool is essential and none are redundant, making the count appropriate.

    Completeness5/5

    The tool set covers the full lifecycle: listing files to explore, finding duplicates, and then deleting them with a dry-run option for safety. No critical operations are missing for the stated purpose.

  • Average 4.4/5 across 3 of 3 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 0 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.

    If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.

    MCP servers without a LICENSE cannot be installed.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior3/5

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

    With no annotations provided, the description must disclose behavior on its own. It clearly indicates this is a read-only listing operation and describes the return format (list of dictionaries with name, size, type, path). However, it does not mention edge cases like permission errors, sorting, recursion, or whether paths are absolute/relative.

    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 well-structured with Args, Returns, and Example sections. Every sentence adds value: parameter explanations, return type, and practical usage examples. It is appropriately sized for the tool's complexity without redundant repetition of the schema.

    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 simple, all-optional-parameter listing tool, the description is largely complete. It documents all parameters, return values, and provides two examples. However, it lacks explicit usage guidance or exclusions (e.g., when to prefer find_duplicates), and it does not mention potential errors, which slightly limits completeness.

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

    Parameters5/5

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

    Schema description coverage is 0%, so the description carries the full burden. It explains each parameter with meaningful detail beyond the schema: 'directory' defaults to current directory, 'pattern' shows example glob patterns, and 'include_hidden' controls hidden file visibility. The examples further clarify parameter usage.

    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 is specific: 'List files in a specified directory with optional filtering.' This clearly states the verb (list), resource (files in a directory), and scope (optional filtering). It also distinguishes itself from sibling tools focused on duplicates (find_duplicates, delete_duplicates) by focusing on basic file listing.

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

    Usage Guidelines3/5

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

    The description implies usage through examples like list_files(directory='.', pattern='*.py') and parameter explanations, but it never explicitly states when to choose this tool over alternatives. There is no mention of when not to use it or how it relates to the sibling duplicate-related tools.

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

  • Behavior4/5

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

    With no annotations, the description carries the full burden. It discloses the dry_run behavior, the copy-indicator detection logic, and the return type. However, it does not explicitly state that deletions are permanent or how originals are chosen when no copy indicator exists, which keeps it from a perfect score.

    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 well-structured with a concise overview, a clear Args list, a Returns line, and practical examples. Every sentence adds value without redundancy.

    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 moderately complex tool with no annotations, the description covers purpose, behavior, parameters, return value, and usage examples. The presence of an output schema further reduces the need to detail return values, so the description is complete.

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

    Parameters5/5

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

    The input schema provides no descriptions (0% coverage), but the description thoroughly explains each parameter, including its purpose, default value, and effect (e.g., dry_run prevents actual deletion). This fully compensates for the schema gap.

    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 clearly states the tool deletes duplicate files in a directory while keeping one copy. It distinguishes itself from siblings by specifying the deletion action and the copy-indicator prioritization, making its purpose unambiguous.

    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: it is used to delete duplicate files, with parameters controlling directory, recursion, and dry-run. It includes example calls showing preview and actual deletion, but does not explicitly mention when to use it over sibling tools like find_duplicates.

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

  • Behavior4/5

    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 that duplicates are found via content hash, returns a dictionary, and shows default recursive behavior. While it does not explicitly state it is read-only or cover error handling, the operation's non-destructive nature is implied by 'Find duplicate files' and the described return format.

    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 concise and well-structured into Purpose, Args, Returns, and Example. Every section serves a purpose, with no redundant or extraneous information.

    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 an output schema, the description covers purpose, parameter semantics, return format, and includes examples. No critical information is missing.

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

    Parameters5/5

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

    The schema has no parameter descriptions (0% coverage), but the description thoroughly explains both parameters: 'directory' with default current directory and 'recursive' with default True, plus example usage. This fully compensates for the schema's lack of 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?

    Description states 'Find duplicate files in a directory based on content hash' with a specific verb and resource, and clearly distinguishes from sibling tools 'list_files' and 'delete_duplicates' by focusing on duplicate detection rather than listing or deletion.

    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 on what the tool does and includes parameter defaults and examples. However, it does not explicitly mention when to use this tool instead of the sibling tools, so it lacks explicit alternative guidance.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

DuplicateFileRemover-MCP MCP server

Copy to your README.md:

Score Badge

DuplicateFileRemover-MCP MCP server

Copy to your README.md:

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/deerajd/DuplicateFileRemover-MCP'

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