Skip to main content
Glama
mariusei

Scantool - File Scanner MCP

by mariusei

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool has a clearly distinct purpose: find_divergence for peer drift, list_directories for folder structure, preview_directory for deep analysis, scan_diff for git diffs, scan_directory for overview, scan_file for file skeletons, scan_file_content for remote files, and search_structures for structural search. No overlap in functionality.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern in snake_case (e.g., list_directories, scan_file, search_structures). While verbs vary (find, list, preview, scan, search), each verb clearly indicates the operation type, making the pattern predictable and intuitive.

    Tool Count5/5

    With 8 tools, the set covers a comprehensive range of file scanning and codebase analysis operations—listing, scanning, searching, diffing, and deep analysis—without being bloated. Each tool serves a necessary role in the workflow.

    Completeness5/5

    The tool set covers the full lifecycle of codebase exploration: directory overview, file content scanning, structural search, git diff, divergence detection, and deep architecture analysis. No obvious gaps; all typical tasks are addressed.

  • Average 3.5/5 across 8 of 8 tools scored. Lowest: 2.8/5.

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

    • No community issues in the last 6 months
    • 35 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • This repository is licensed under MIT License.

  • 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?

    The description is moderately transparent, indicating it's a 'cheap overview' implying lightweight execution, and that it provides one-line gists and labels. However, with no annotations, it fails to disclose important behavioral traits such as read-only nature, permission requirements, limits on large directories, or the exact meaning of 'code health and churn'.

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

    Conciseness3/5

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

    The description is concise at two sentences, with no extraneous content. However, it is front-loaded but sacrifices clarity on parameters and output. It is not as structured as it could be, failing to separate purpose from details.

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

    Completeness1/5

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

    Given 9 parameters, no output schema, and no parameter descriptions in the schema, the description is grossly incomplete. It does not explain return value structure (e.g., format of tree, gists, labels) or how parameters affect behavior. The tool is non-trivial, lacking essential context for proper invocation.

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

    Parameters1/5

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

    The input schema has 9 parameters with zero descriptions (0% coverage), and the description does not explain any parameter beyond vague references to directory scanning. An agent cannot infer the meaning or usage of parameters like mode, delta, depth, pattern, max_files, output_format, exclude_patterns, or respect_gitignore from the description alone.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool scans directories producing a file tree with one-line gists and code health/churn labels, and distinguishes itself as a replacement for Glob/ls across all file types. However, it does not explicitly distinguish from siblings like list_directories or scan_file, lacking specificity on output format.

    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 as a 'good first call' and 'replaces Glob/ls', suggesting it's a starting point for directory overviews. However, it does not provide explicit when-to-use or when-not-to-use guidance compared to sibling tools such as scan_file or scan_diff.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden. It states the basic operation but omits behavioral details such as whether hidden folders are included, symlink handling, performance implications, or how respect_gitignore affects output.

    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 extremely concise, using a single sentence plus an emphatic instruction. Every word serves a purpose, and the key distinction (folders only) is front-loaded.

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

    Completeness2/5

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

    Given the complexity of three parameters, no output schema, and no annotations, the description is insufficient. It does not explain the output format (e.g., tree structure as text or object), depth behavior, or gitignore functionality, leaving significant gaps for correct tool invocation.

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

    Parameters1/5

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

    Schema description coverage is 0%, meaning no parameter descriptions. The tool description adds no information about the three parameters (directory, max_depth, respect_gitignore), leaving the agent to infer meaning solely from names and types.

    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 explicitly states 'List directory tree structure (folders only, no files)' with a specific verb and resource, clearly distinguishing from sibling tools like scan_directory which likely include files. The instruction 'USE THIS to see folder hierarchy' reinforces its unique purpose.

    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 provides a clear context ('USE THIS to see folder hierarchy') but lacks explicit guidance on when not to use it or alternatives among the eight sibling tools.

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

  • Behavior2/5

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

    With no annotations, the description carries full burden but only mentions scanning directly without disclosing behavioral details like read-only nature, network requirements, or output format. Missing essential behavioral traits.

    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?

    Single sentence that front-loads the action and immediately adds usage guidance. No superfluous text; every word earns its place.

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

    Completeness2/5

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

    Given 7 parameters, no output schema, and no annotations, the description is incomplete. It omits return values, behavior, and parameter details, leaving the agent underinformed for invoking the tool correctly.

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

    Parameters1/5

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

    Schema coverage is 0%, and the description does not explain any of the 7 parameters (content, filename, output_format, etc.). The agent has no guidance on parameter meaning or usage beyond the schema's structural fields.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool scans file content directly and specifies use cases (remote files, GitHub, APIs). It differentiates from saving to disk first, but doesn't explicitly contrast with siblings like scan_file or scan_directory.

    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?

    Provides explicit guidance to use this tool for remote files, GitHub, APIs instead of saving to disk first, implying an alternative workflow. Lacks explicit when-not-to-use conditions but effectively communicates primary context.

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

  • Behavior2/5

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

    With no annotations, the description carries the full burden. It states the tool produces a structural diff of functions, but lacks details on output format, requirements (e.g., git repository), side effects, or limitations. It is vague about what 'condensed skeletons' entails.

    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: two sentences, front-loading the purpose and adding a direct usage guideline. Every sentence serves a clear role with no redundancy.

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

    Completeness2/5

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

    Given no output schema, no annotations, and 3 parameters (one required, two with defaults), the description is incomplete. It does not explain what 'condensed skeletons' means, how to interpret results, or prerequisites like needing a git repository. The 'budget' parameter is mysterious.

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

    Parameters1/5

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

    The input schema has 0% parameter descriptions, and the description adds no meaning to the three parameters (directory, ref, budget). It does not explain their roles or defaults, leaving the agent to guess or rely on defaults without context.

    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 performs a structural diff against a git ref, identifying new/changed/removed functions with condensed skeletons. It explicitly distinguishes itself from git diff, making its purpose specific and 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 includes an explicit directive to use this tool instead of git diff for review and 'what changed' questions, providing clear context. However, it does not compare with sibling tools like find_divergence, which could be a close alternative.

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

  • Behavior3/5

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

    With no annotations, the description carries full burden. It mentions the output is 'RICH output ~3-5k tokens', indicating potential heaviness, but does not explicitly state that the tool is read-only and non-destructive. This is a minor gap as it is a preview tool, but more clarity on side effects would improve transparency.

    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 a single sentence that efficiently conveys purpose and usage guidance without fluff. However, it could be slightly more structured with clear sections for parameters or usage notes.

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

    Completeness2/5

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

    Given the tool has 5 parameters, no schema descriptions, no output schema, and no annotations, the description is too sparse. It adequately covers purpose and usage but fails to address parameter details and return values, leaving the agent underinformed.

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

    Parameters1/5

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

    Schema description coverage is 0%, and the description does not explain any of the 5 parameters (depth, directory, max_files, max_entries, respect_gitignore). The agent has no guidance on how to use these parameters, which is a critical omission.

    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 specifies the tool's purpose: deep architecture analysis including entry points, hot functions, call graph, and git activity. It explicitly states it is for first-time orientation of an unknown codebase, distinguishing it from sibling tools like search_structures and scan_directory.

    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 provides explicit when-to-use guidance: for first-time orientation of an unknown codebase. It also tells when not to use (for targeted questions) and suggests cheaper alternatives (search_structures, scan_directory).

    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, but description discloses it's a 'REVIEW HINT' not a verified bug list, and 'silent on a consistent codebase'. This gives realistic expectations. However, lacks detail on side effects or read-only nature.

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

    Conciseness3/5

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

    Description is a single paragraph, somewhat long but not excessive. Front-loads purpose but includes explanatory phrases that could be streamlined.

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

    Completeness3/5

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

    For an audit tool with no output schema and low parameter coverage, description covers purpose and use cases but misses parameter details and return format, leaving gaps for agent.

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

    Parameters2/5

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

    Schema description coverage is 0%, and description does not explain parameters like max_findings or respect_gitignore. Only directory is implied. Agent cannot infer parameter meaning from 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 clearly states the tool audits a directory for peer divergence, identifying functions that break call patterns. It distinguishes from sibling 'preview_directory' by emphasizing focus and efficiency.

    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?

    Explicitly describes when to use (hunt drift, dead connectivity) and contrasts with preview_directory. Does not explicitly state when not to use, but context implies alternatives.

    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 burden. It discloses that the tool may append a self-levelling CONNECTIVITY note about dead/orphan/drift code, and that budget controls depth. It does not mention error handling or resource usage, but for a scan tool, these are sufficient.

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

    Conciseness3/5

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

    The description is a single dense paragraph with multiple instructions. While front-loaded with purpose, it could be more structured with bullet points or clearer separation of usage vs. behavior. Every sentence adds value, but the delivery is somewhat cramped.

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

    Completeness3/5

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

    Given 12 parameters, no output schema, and no annotations, the description covers core behavior and key parameters but leaves many details unexplained. It is adequate for a tool meant to be used in a sequence, but not fully comprehensive.

    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 coverage is 0%, so the description must compensate. It adds meaning to budget and focus (e.g., 'budget=1500' and 'focus=name'), but does not explain other parameters like mode, delta, condense, output_format, or show_* flags. This leaves many parameters ambiguous.

    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 what the tool does: scan any file type and produce structured output with condensed code skeletons. It distinguishes itself from 'Read' by being for exploration first, and mentions a special connectivity note feature. The purpose is specific and well-articulated.

    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 explicit guidance: use before reading, budget recommendations (1500 vs 300), and how to use the focus parameter for targeted reading. However, it does not explicitly compare with all sibling tools like scan_diff or scan_directory, missing some differentiation.

    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 bears full responsibility. It explains that content_pattern provides structural context and leads to definitions, and that name/type/decorator find structures. This discloses key behavioral traits, though it omits details like recursion depth or authentication needs. Still, it gives sufficient insight for a search tool.

    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 a single, well-structured sentence that front-loads the core purpose and packs usage guidance, parameter hints, and behavioral notes without redundancy. Every word adds value.

    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?

    Given seven parameters and no annotations or output schema, the description covers the critical aspects—purpose, usage, and main parameters—but lacks explanation for min_complexity and output_format. It is nearly complete but not exhaustive, which is suitable for an agent.

    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 0%, so the description must compensate. It explains content_pattern, name_pattern, type_filter, and has_decorator, adding meaning beyond the empty schema. However, it does not cover directory, output_format, or min_complexity, leaving gaps. This partial coverage earns a mid-range score.

    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 it searches across all file types with structural context, distinguishing itself from Grep. It specifies the verb 'search' and resource 'structures' with concrete details about what it finds (enclosing functions, classes, etc.), making its purpose unmistakable.

    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 explicitly recommends it as the 'BEST FIRST CALL for targeted questions' and advises to 'USE INSTEAD of Grep,' providing clear context on when to use the tool versus an alternative. This helps an agent decide when to invoke it.

    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

file-scanner-mcp MCP server

Copy to your README.md:

Score Badge

file-scanner-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/mariusei/file-scanner-mcp'

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