Skip to main content
Glama

At a Glance

MCP File Forge is a Model Context Protocol (MCP) server that gives AI agents sandboxed, policy-controlled access to the local file system. It ships 17 tools across five categories:

Category

Tools

Description

Reading

read_file, read_directory, read_multiple

Read files and directory listings

Writing

write_file, create_directory, copy_file, move_file, delete_file

Create, modify, copy, move, and delete

Search

glob_search, grep_search, find_by_content

Find files by name pattern or content

Metadata

file_stat, file_exists, get_disk_usage, compare_files

Inspect size, timestamps, existence

Scaffolding

scaffold_project, list_templates

Create projects from templates with variable substitution

Key properties:

  • Sandboxed -- operations are restricted to explicitly allowed directories.

  • Read-only mode -- flip one env var to disable all write tools.

  • Symlink-safe -- symlink following is off by default to prevent sandbox escapes.

  • Windows-first -- designed for Windows paths and conventions, works everywhere.

  • Template engine -- {{var}} / ${var} substitution plus path-level __var__ renaming.


Installation

npm install -g @mcptoolshop/file-forge

Or run directly with npx:

npx @mcptoolshop/file-forge

Claude Desktop Configuration

Add the following to your claude_desktop_config.json:

{
  "mcpServers": {
    "file-forge": {
      "command": "npx",
      "args": ["-y", "@mcptoolshop/file-forge"],
      "env": {
        "MCP_FILE_FORGE_ALLOWED_PATHS": "C:/Projects,C:/Users/you/Documents"
      }
    }
  }
}

If you installed globally you can point directly at the binary:

{
  "mcpServers": {
    "file-forge": {
      "command": "mcp-file-forge",
      "env": {
        "MCP_FILE_FORGE_ALLOWED_PATHS": "C:/Projects"
      }
    }
  }
}

Tool Reference

Reading

Tool

Description

Key Parameters

read_file

Read file contents

path, encoding?, start_line?, end_line?, max_size_kb?

read_directory

List directory entries

path, recursive?, max_depth?, include_hidden?, pattern?

read_multiple

Batch-read multiple files

paths, encoding?, fail_on_error?

Writing

Tool

Description

Key Parameters

write_file

Write or overwrite a file

path, content, encoding?, create_dirs?, overwrite?, backup?

create_directory

Create a directory

path, recursive?

copy_file

Copy a file or directory

source, destination, overwrite?, recursive?

move_file

Move or rename

source, destination, overwrite?

delete_file

Delete a file or directory

path, recursive?, force?

Tool

Description

Key Parameters

glob_search

Find files by glob pattern

pattern, base_path?, max_results?, include_dirs?

grep_search

Search file contents with regex

pattern, path?, glob?, case_sensitive?, max_results?, context_lines?

find_by_content

Literal text search (no regex)

text, path?, file_pattern?, max_results?

Metadata

Tool

Description

Key Parameters

file_stat

File/directory statistics

path

file_exists

Check existence and type

path, type? (file / directory / any)

get_disk_usage

Directory size breakdown

path, max_depth?

compare_files

Compare two paths

path1, path2

Scaffolding

Tool

Description

Key Parameters

scaffold_project

Create project from template

template, destination, variables?, overwrite?

list_templates

List available templates

category?

Full parameter documentation, examples, and error codes are in the HANDBOOK.md.


Environment Variables

Variable

Description

Default

MCP_FILE_FORGE_ALLOWED_PATHS

Comma-separated list of allowed root directories

. (cwd)

MCP_FILE_FORGE_DENIED_PATHS

Comma-separated denied path glob patterns

**/node_modules/**, **/.git/**

MCP_FILE_FORGE_READ_ONLY

Disable all write operations

false

MCP_FILE_FORGE_MAX_FILE_SIZE

Maximum file size in bytes

104857600 (100 MB)

MCP_FILE_FORGE_MAX_DEPTH

Maximum recursion depth

20

MCP_FILE_FORGE_FOLLOW_SYMLINKS

Allow following symlinks outside sandbox

false

MCP_FILE_FORGE_TEMPLATE_PATHS

Comma-separated template directories

./templates

MCP_FILE_FORGE_LOG_LEVEL

Log verbosity (error, warn, info, debug)

info

MCP_FILE_FORGE_LOG_FILE

Path to a log file (in addition to stderr)

none


Config File

Create mcp-file-forge.json (or .mcp-file-forge.json) in or above your working directory:

{
  "sandbox": {
    "allowed_paths": ["C:/Projects", "C:/Users/you/Documents"],
    "denied_paths": ["**/secrets/**", "**/.env"],
    "follow_symlinks": false,
    "max_file_size": 52428800,
    "max_depth": 20
  },
  "templates": {
    "paths": ["./templates", "~/.mcp-file-forge/templates"]
  },
  "logging": {
    "level": "info",
    "file": "./logs/mcp-file-forge.log"
  },
  "read_only": false
}

Configuration priority (highest wins):

  1. Environment variables

  2. Config file

  3. Built-in defaults


Security

MCP File Forge enforces several layers of protection to keep AI agents from reaching outside their designated workspace:

  • Path sandboxing -- every path is resolved to an absolute path and checked against the allowed_paths list before any I/O occurs.

  • Denied paths -- glob patterns that are blocked even within allowed directories (e.g. **/secrets/**).

  • Symlink protection -- symlinks are not followed by default; if a symlink target resolves outside the sandbox, the operation is denied.

  • Path traversal detection -- .. sequences that would escape the sandbox are rejected.

  • Size limits -- files larger than max_file_size are refused to prevent memory exhaustion.

  • Depth limits -- recursive operations are capped at max_depth levels.

  • Read-only mode -- set MCP_FILE_FORGE_READ_ONLY=true to disable write_file, create_directory, copy_file, move_file, delete_file, and scaffold_project.

  • Null-byte rejection -- paths containing \0 are refused.

  • Windows long-path guard -- paths exceeding 32,767 characters are refused.


Documentation

Document

Description

HANDBOOK.md

Deep-dive: security model, tool reference, templates, architecture, FAQ

CHANGELOG.md

Release history (Keep a Changelog format)

docs/PLANNING.md

Internal planning and research notes


Development

# Install dependencies
npm install

# Build
npm run build

# Watch mode
npm run dev

# Run tests
npm test

# Lint
npm run lint

Security & Data Scope

MCP File Forge is an MCP server providing sandboxed file operations for AI agents.

  • Data accessed: Files within explicitly allowed directories only. Config files, template directories

  • Data NOT accessed: No cloud sync. No telemetry. No analytics. No data outside sandbox

  • Network: stdio transport by default — no network listeners, no egress. HTTP mode available via PORT env var for remote deployment

  • No telemetry is collected or sent

Full policy: SECURITY.md


Scorecard

Category

Score

A. Security

10/10

B. Error Handling

10/10

C. Operator Docs

10/10

D. Shipping Hygiene

10/10

E. Identity (soft)

10/10

Overall

50/50


License

MIT


Available Tools

17 tools
compare_filesC

Compare two files or directories

ParametersJSON Schema
NameRequiredDescriptionDefault
path1YesFirst path
path2YesSecond path

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. 'Compare' implies a read-only operation, but it doesn't specify what aspects are compared (content, metadata, structure), the output format, whether it's recursive for directories, error handling for missing files, or performance characteristics. This leaves significant gaps for agent decision-making.

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, efficient sentence with zero wasted words. It's front-loaded with the core functionality and appropriately sized for a simple comparison tool with only two parameters.

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?

For a comparison tool with no annotations and no output schema, the description is inadequate. It doesn't explain what 'compare' means in practice—whether it returns differences, similarity scores, or just boolean equality. With 2 parameters and behavioral uncertainty, more context about the comparison operation and expected outputs is needed.

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 clear parameter descriptions ('First path', 'Second path'), so the schema does the heavy lifting. The description adds no additional parameter semantics beyond what's in the schema, maintaining the baseline score for good schema coverage.

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 verb 'compare' and the resources 'two files or directories', making the purpose immediately understandable. It doesn't explicitly differentiate from sibling tools like 'file_exists' or 'file_stat' that might also involve file examination, but the comparison function is distinct enough for basic understanding.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. With siblings like 'file_exists' (checking existence), 'file_stat' (getting metadata), and 'find_by_content' (searching within files), there's no indication of when comparison is the appropriate choice or what specific comparison scenarios it handles.

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

copy_fileC

Copy a file or directory

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceYesSource path
destinationYesDestination path
overwriteNoOverwrite if exists
recursiveNoCopy directories recursively

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure but offers minimal information. It mentions copying files or directories but doesn't cover critical aspects like permissions needed, whether it preserves metadata, error conditions (e.g., if source doesn't exist), or side effects. This is inadequate for a mutation tool with zero annotation coverage.

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, efficient sentence with zero wasted words. It's front-loaded with the core action and resource, making it easy to parse quickly. Every word earns its place by conveying essential information without 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 the complexity of a file operation (a mutation with potential side effects), no annotations, and no output schema, the description is incomplete. It lacks details on return values, error handling, permissions, or how it interacts with sibling tools, leaving significant gaps for an AI agent to navigate.

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%, so the input schema fully documents all four parameters (source, destination, overwrite, recursive). The description adds no additional parameter semantics beyond what's in the schema, but the baseline score of 3 is appropriate when the schema handles the heavy lifting.

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 'Copy a file or directory' clearly states the verb (copy) and resource (file or directory), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'move_file' or 'write_file' beyond the basic action name, which prevents a perfect score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'move_file' (for moving instead of copying) or 'write_file' (for creating new files). There's no mention of prerequisites, typical use cases, or exclusions, leaving the agent to infer usage from context alone.

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

create_directoryC

Create a directory

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath to create
recursiveNoCreate parent directories

TDQS

C2.3/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. 'Create a directory' implies a write/mutation operation but reveals nothing about permissions required, whether the operation is idempotent, what happens if the directory already exists, error conditions, or side effects. For a mutation tool with zero annotation coverage, this is a significant gap in behavioral transparency.

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 maximally concise with just three words. There's zero waste or unnecessary elaboration. While this conciseness comes at the cost of completeness, as a standalone attribute, the description is perfectly structured and 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?

For a directory creation tool with no annotations and no output schema, the description is inadequate. It doesn't explain what happens on success or failure, doesn't mention permissions or constraints, and provides no context about the filesystem environment. Given the complexity of a write operation and the lack of structured metadata, the description should provide more complete context.

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?

The description adds no parameter information beyond what the schema already provides. However, with 100% schema description coverage where both parameters ('path' and 'recursive') have clear descriptions in the schema, the baseline score of 3 is appropriate. The description doesn't compensate for gaps because there are none, but it also doesn't add value beyond the structured schema.

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

Purpose2/5

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

The description 'Create a directory' is a tautology that essentially restates the tool name. While it includes a verb ('Create') and resource ('directory'), it lacks specificity about what kind of directory or context. It doesn't distinguish this tool from potential sibling operations like creating files or other directory-related operations beyond the obvious name difference.

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

Usage Guidelines1/5

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

The description provides no guidance on when to use this tool versus alternatives. There's no mention of prerequisites, when this operation is appropriate, or how it relates to sibling tools like 'write_file', 'scaffold_project', or 'read_directory'. The agent receives no contextual usage information.

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

delete_fileC

Delete a file or directory

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath to delete
recursiveNoDelete directories recursively
forceNoIgnore errors

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states the basic action. It doesn't disclose critical behavioral traits: whether deletion is permanent or reversible, permission requirements, error handling (beyond the 'force' parameter), or effects on linked resources. For a destructive tool, this is a significant gap.

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, efficient sentence with zero wasted words. It's front-loaded with the core action and resource, making it immediately scannable and appropriately sized for the tool's complexity.

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?

For a destructive tool with no annotations and no output schema, the description is incomplete. It lacks information on return values (e.g., success confirmation or error details), side effects, and safety considerations, which are crucial for an agent to use it correctly.

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%, so parameters are fully documented in the schema. The description adds no semantic context beyond implying 'path' targets the item to delete. It doesn't explain parameter interactions (e.g., 'recursive' for directories) or practical usage, but the schema provides adequate baseline.

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 action ('Delete') and resource ('a file or directory'), making the purpose immediately understandable. It distinguishes from siblings like 'move_file' or 'copy_file' by specifying deletion. However, it doesn't explicitly differentiate from all destructive operations like 'remove' or 'unlink' if they existed.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., file must exist), when not to use it (e.g., for read-only files), or compare with similar tools like 'move_file' for relocation instead of deletion.

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

file_existsC

Check if a file or directory exists

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath to check
typeNoType to check for

TDQS

C2.9/5.0
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 for behavioral disclosure. While 'Check if a file or directory exists' implies a read-only, non-destructive operation, it doesn't explicitly state this or address potential behaviors like error handling (e.g., what happens with invalid paths), performance characteristics, or return format. For a tool with no annotation coverage, this leaves significant gaps in understanding how it behaves beyond its basic purpose.

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, efficient sentence that front-loads the core purpose without any wasted words. It directly answers 'what does this tool do?' in a compact form, making it easy for an agent to parse and understand quickly. Every word earns its place by contributing to clarity.

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 lack of annotations and output schema, the description is incomplete for effective tool use. It doesn't explain what the tool returns (e.g., a boolean, an error message, or structured data), how errors are handled, or any constraints like path format requirements. For a basic utility tool with no structured behavioral hints, this leaves the agent guessing about important operational details.

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 ('path' and 'type') well-documented in the schema itself. The description adds no additional meaning about parameters beyond implying the tool checks existence based on a path and optionally a type. Since the schema already provides clear descriptions and enum values for 'type', the description meets the baseline without compensating further.

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's purpose with a specific verb ('Check') and resource ('file or directory'), making it immediately understandable. However, it doesn't explicitly differentiate this existence check from similar operations like 'file_stat' (which provides detailed metadata) or 'read_file' (which attempts to read content), leaving room for ambiguity about when to choose this simpler check over more comprehensive alternatives.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. With siblings like 'file_stat' (which also reveals existence through metadata) and 'read_file' (which fails if a file doesn't exist), the agent receives no hints about preferring this lightweight existence check for simple validation versus using other tools that might serve dual purposes. No context about prerequisites or exclusions is mentioned.

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

file_statC

Get file or directory statistics

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath to file or directory

TDQS

C2.9/5.0
Behavior2/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 of behavioral disclosure. It states the tool 'gets' statistics, implying a read-only operation, but doesn't specify what statistics are returned (e.g., size, type, permissions), error handling for invalid paths, or performance considerations. This leaves significant gaps for a tool with no annotation coverage.

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 and front-loaded in a single sentence, with zero wasted words. It directly communicates the core functionality without unnecessary elaboration, making it efficient for quick understanding.

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 lack of annotations and output schema, the description is incomplete. It doesn't explain what statistics are returned (e.g., file size, modification time), how errors are handled, or the tool's scope compared to siblings. For a tool that retrieves metadata, more context is needed to guide effective use.

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?

The description adds no parameter semantics beyond what the input schema provides. With 100% schema description coverage, the schema already documents the 'path' parameter adequately. The baseline score of 3 reflects that the schema does the heavy lifting, and the description doesn't compensate with additional context like path format examples or constraints.

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's purpose with a specific verb ('Get') and resource ('file or directory statistics'), making it immediately understandable. However, it doesn't differentiate from sibling tools like 'file_exists' or 'get_disk_usage' that also retrieve file system information, which prevents a perfect score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. With siblings like 'file_exists' (checks existence), 'get_disk_usage' (gets space usage), and 'read_directory' (lists contents), there's no indication of when 'file_stat' is preferred for retrieving metadata such as size, permissions, or timestamps.

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

find_by_contentC

Find files containing specific text

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesText to search for (literal, not regex)
pathNoDirectory to search
file_patternNoFile pattern (e.g., *.ts)
max_resultsNoMaximum results

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool searches for text in files but doesn't mention whether it's case-sensitive, recursive, what happens with large result sets, error conditions, or performance characteristics. For a search tool with zero annotation coverage, this leaves significant behavioral gaps.

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, efficient sentence that states the core functionality without any wasted words. It's appropriately sized for a search tool and front-loads the essential information.

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's complexity (4 parameters, search functionality) and the absence of both annotations and output schema, the description is insufficient. It doesn't explain what the tool returns (file paths? content snippets? match counts?), error handling, or important behavioral constraints needed for effective use.

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?

The description implies text searching but doesn't add meaning beyond what the 100% schema coverage already provides. The schema fully documents all 4 parameters including their purposes and constraints (e.g., 'literal, not regex' for text). The description doesn't explain parameter interactions or provide additional context, meeting the baseline for high schema coverage.

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 'Find files containing specific text' clearly states the tool's purpose with a specific verb ('Find') and resource ('files'), and distinguishes it from siblings like 'grep_search' by focusing on content matching rather than pattern-based search. However, it doesn't explicitly differentiate from all siblings like 'glob_search' which searches by filename pattern.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'grep_search' or 'glob_search'. It doesn't mention prerequisites, exclusions, or comparative advantages, leaving the agent to infer usage from the tool name alone.

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

get_disk_usageC

Get disk usage for a directory

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath to directory
max_depthNoMax depth for breakdown

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure but offers minimal information. It doesn't specify whether this is a read-only operation, what permissions are required, how it handles errors (e.g., invalid paths), or what format the disk usage information is returned in. The description only states what the tool does at the most basic level.

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 at just five words, front-loading the essential information with zero wasted words. Every word earns its place by communicating the core functionality efficiently.

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?

For a tool with no annotations, no output schema, and multiple sibling tools, the description is inadequate. It doesn't explain what information is returned (e.g., total size, breakdown by subdirectory), how errors are handled, or when to choose this over similar tools. The description provides only the most basic functional statement without necessary context.

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?

With 100% schema description coverage, both parameters are already documented in the schema. The description doesn't add any additional meaning about the parameters beyond what's in the schema descriptions ('Path to directory' and 'Max depth for breakdown'), so it meets the baseline but doesn't provide extra value.

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 verb ('Get') and resource ('disk usage for a directory'), making the purpose immediately understandable. However, it doesn't differentiate from potential siblings like 'file_stat' or 'read_directory' that might provide related file system information, preventing a perfect score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. With siblings like 'file_stat' (which might include size info) and 'read_directory' (which could list contents), there's no indication of when this specific disk usage tool is appropriate or what distinguishes it from other file operations.

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

list_templatesC

List available project templates

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoFilter by category

TDQS

C2.9/5.0
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 for behavioral disclosure. It states it's a listing operation, implying read-only behavior, but doesn't specify whether it returns all templates or paginated results, what format the output takes, or any rate limits or authentication requirements. For a tool with zero annotation coverage, this leaves significant gaps in understanding how it behaves.

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, efficient sentence with zero wasted words. It's front-loaded with the core purpose ('List available project templates'), making it immediately clear. Every word earns its place, and there's no unnecessary elaboration.

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 lack of annotations and output schema, the description is incomplete for a listing tool. It doesn't explain what 'available' means (e.g., user-specific vs. system-wide), the return format, or any behavioral traits like pagination. For a tool with no structured output documentation, the description should provide more context about what to expect from the operation.

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?

The input schema has 100% description coverage, with one parameter ('category') documented as 'Filter by category'. The description doesn't add any meaning beyond this—it doesn't explain what categories exist, how filtering works, or provide examples. With high schema coverage, the baseline is 3, and the description doesn't compensate with additional context.

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 'List available project templates' clearly states the verb ('List') and resource ('project templates'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'scaffold_project' or 'glob_search' that might also involve templates, leaving room for ambiguity about when to use this specific listing tool.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. With siblings like 'scaffold_project' (which might use templates) and 'glob_search' (which could search for templates), there's no indication of when listing is preferred over searching or other operations. No prerequisites or exclusions are mentioned.

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

move_fileC

Move or rename a file or directory

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceYesSource path
destinationYesDestination path
overwriteNoOverwrite if exists

TDQS

C2.9/5.0
Behavior2/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 mentions 'move or rename' but doesn't disclose critical behavioral traits like whether it requires write permissions, if it's destructive (overwrites by default or not), error handling for missing sources, or what happens on success/failure. The 'overwrite' parameter hints at potential data loss, but this isn't explicitly warned in the description.

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, efficient sentence with zero wasted words. It's front-loaded with the core action and resource, making it easy to scan and understand quickly.

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?

For a mutation tool with no annotations and no output schema, the description is incomplete. It lacks information on permissions, error conditions, return values (e.g., success confirmation or error details), and how it differs from similar tools like 'copy_file'. Given the complexity of file operations, more context is needed for safe and effective use.

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%, so the schema already documents all parameters (source, destination, overwrite) clearly. The description adds no additional meaning beyond what's in the schema, such as path format examples or rename-specific usage. Baseline 3 is appropriate when the schema handles parameter documentation adequately.

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 action ('move or rename') and the resource ('a file or directory'), making the purpose immediately understandable. It doesn't explicitly differentiate from sibling tools like 'copy_file' or 'rename_file' (if present), but the verb 'move' inherently implies relocation rather than duplication or simple name change.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'copy_file' or 'rename_file' (if applicable), nor does it mention prerequisites such as file existence or permissions. It simply states what the tool does without contextual usage instructions.

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

read_directoryC

List contents of a directory

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath to the directory
recursiveNoInclude subdirectories
max_depthNoMax recursion depth
include_hiddenNoInclude hidden files
patternNoGlob pattern filter

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. 'List contents of a directory' implies a read-only operation but doesn't specify permissions needed, whether it follows symlinks, error conditions (e.g., non-existent directory), or output format. For a tool with 5 parameters and no annotations, this minimal description leaves significant behavioral gaps unaddressed.

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, efficient sentence that gets straight to the point: 'List contents of a directory.' There's no wasted words, no unnecessary elaboration, and the core purpose is immediately clear. This is an excellent example of conciseness.

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 5 parameters, no annotations, and no output schema, the description is insufficiently complete. A directory listing tool with filtering options (recursive, max_depth, include_hidden, pattern) needs more context about how these interact, what the output looks like, and error handling. The minimal description doesn't compensate for the lack of structured metadata.

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%, so all parameters are documented in the schema. The description adds no parameter-specific information beyond what's already in the schema. According to scoring rules, when schema coverage is high (>80%), the baseline is 3 even with no param info in description, which applies here.

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 'List contents of a directory' clearly states the verb ('List') and resource ('contents of a directory'), making the purpose immediately understandable. It distinguishes from siblings like 'file_stat' or 'read_file' by focusing on directory listing rather than file operations. However, it doesn't explicitly differentiate from 'glob_search' which also lists files, so it's not a perfect 5.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. With siblings like 'glob_search' (pattern-based file finding) and 'find_by_content' (content-based searching), there's no indication of when directory listing is preferred over these other listing/search tools. The description simply states what it does without contextual usage information.

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

read_fileC

Read the contents of a file

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath to the file
encodingNoFile encoding (default: utf-8)
start_lineNoStart line (1-indexed)
end_lineNoEnd line (inclusive)
max_size_kbNoMax file size in KB (default: 10240)

TDQS

C2.9/5.0
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 for behavioral disclosure. While 'Read' implies a read-only operation, it doesn't specify permissions needed, error handling for missing files, or output format. It mentions 'contents' but not whether it returns text, binary data, or structured content. For a tool with 5 parameters and no annotations, this is insufficient behavioral context.

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, efficient sentence with zero wasted words. It's front-loaded with the core purpose ('Read the contents of a file') and contains no unnecessary elaboration. Every word earns its place in conveying the essential function.

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 5 parameters, no annotations, and no output schema, the description is incomplete. It doesn't address what the tool returns (text? binary? error formats?), how it handles large files (streaming? memory limits?), or permissions required. For a file I/O tool with multiple configuration options, this minimal description leaves too many operational questions unanswered.

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%, so all parameters are documented in the schema. The description adds no parameter-specific information beyond the basic purpose. It doesn't explain how parameters interact (e.g., that start_line/end_line enable partial reads) or provide examples. With complete schema coverage, baseline 3 is appropriate as the description doesn't add value beyond what's already structured.

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 verb ('Read') and resource ('contents of a file'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'read_multiple' or 'read_directory', which also involve reading operations. The purpose is clear but lacks sibling distinction.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. With siblings like 'read_multiple' (for multiple files), 'read_directory' (for directory contents), and 'file_stat' (for metadata), there's no indication of when this single-file read operation is appropriate versus other reading tools. No exclusions or alternatives are mentioned.

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

read_multipleC

Read multiple files at once

ParametersJSON Schema
NameRequiredDescriptionDefault
pathsYesArray of file paths
encodingNoFile encoding
fail_on_errorNoFail if any file errors

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It states what the tool does but doesn't describe how it behaves: whether it returns concatenated content or structured results, how errors are handled (beyond the 'fail_on_error' parameter), or performance implications of reading multiple files simultaneously. This is inadequate for a tool with mutation potential (reading files).

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, efficient sentence with zero wasted words. It's front-loaded with the core functionality and appropriately sized for a straightforward tool. 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 the complexity of a batch file-reading operation with no annotations and no output schema, the description is insufficient. It doesn't explain what format the results take (array of contents? object with paths as keys?), how encoding applies across multiple files, or what happens when some files succeed and others fail. For a tool with 3 parameters and file system interaction, this leaves significant gaps.

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%, so all parameters are documented in the schema. The description adds no additional parameter semantics beyond what's already in the schema descriptions. This meets the baseline expectation when the schema does the heavy lifting, but provides no extra value.

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 'Read multiple files at once' clearly states the verb ('Read') and resource ('multiple files'), making the purpose immediately understandable. However, it doesn't distinguish this tool from its sibling 'read_file' beyond the 'multiple' aspect, missing an opportunity to clarify the batch operation versus single-file reading.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'read_file' or 'read_directory'. It doesn't mention prerequisites, performance considerations, or error handling scenarios, leaving the agent to infer usage from the tool name alone.

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

scaffold_projectC

Create a project from a template

ParametersJSON Schema
NameRequiredDescriptionDefault
templateYesTemplate name or path
destinationYesDestination directory
variablesNoTemplate variables
overwriteNoOverwrite existing files

TDQS

C2.9/5.0
Behavior2/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 states 'Create a project from a template', which implies a write/mutation operation, but doesn't disclose behavioral traits like permissions needed, whether it's idempotent, error handling, or what happens on failure. The 'overwrite' parameter hints at some behavior, but the description itself doesn't elaborate.

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, efficient sentence with zero waste. It's front-loaded and appropriately sized for the tool's complexity, earning its place by stating the core purpose clearly.

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 4 parameters, no annotations, and no output schema, the description is incomplete. It doesn't cover behavioral aspects, return values, or error conditions. For a mutation tool with this complexity, more context is needed to guide the agent effectively.

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%, so the schema fully documents all parameters. The description adds no additional meaning beyond the schema—it doesn't explain parameter interactions, default values, or examples. Baseline is 3 since the schema does the heavy lifting.

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 verb ('Create') and resource ('project'), specifying it's 'from a template'. It distinguishes from siblings like 'create_directory' by mentioning the template aspect. However, it doesn't explicitly differentiate from all siblings (e.g., 'list_templates' is related but not directly contrasted).

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing templates available), exclusions, or comparisons to sibling tools like 'create_directory' or 'list_templates'. Usage is implied but not explicitly stated.

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

write_fileC

Write content to a file

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath to write to
contentYesContent to write
encodingNoFile encoding (default: utf-8)
create_dirsNoCreate parent directories
overwriteNoOverwrite if exists
backupNoCreate backup before overwrite

TDQS

C2.9/5.0
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. 'Write content to a file' implies a mutation operation but lacks details on permissions, side effects (e.g., overwriting), error handling, or performance. This is inadequate for a tool with potential destructive behavior.

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, efficient sentence with zero wasted words. It's front-loaded and directly communicates the core function without unnecessary elaboration, making it highly concise.

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?

For a mutation tool with no annotations and no output schema, the description is insufficient. It doesn't address behavioral traits like overwriting implications, error cases, or return values, leaving critical gaps for safe and effective use.

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%, so parameters are well-documented in the schema. The description adds no additional semantic context beyond the basic action, meeting the baseline for high schema coverage without compensating value.

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 'Write content to a file' clearly states the verb ('write') and resource ('file'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'copy_file' or 'move_file' that also involve file operations, missing explicit distinction.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. With siblings like 'copy_file', 'move_file', and 'read_file', there's no indication of use cases, prerequisites, or exclusions, leaving the agent to infer usage.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 17 tool updatesv1.0.0
    • First observedcompare_files
    • First observedcopy_file
    • First observedcreate_directory
    • First observeddelete_file
    • First observedfile_exists
    • First observedfile_stat
    • First observedfind_by_content
    • First observedget_disk_usage
    • First observedglob_search
    • First observedgrep_search
    • First observedlist_templates
    • First observedmove_file
    • First observedread_directory
    • First observedread_file
    • First observedread_multiple
    • First observedscaffold_project
    • First observedwrite_file

TDQS

B3.3/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose with no significant overlap. For example, compare_files, copy_file, move_file, and delete_file all handle different file operations, while search tools like find_by_content, glob_search, and grep_search target different search methods. The descriptions reinforce these distinctions, making tool selection unambiguous.

Naming Consistency5/5

All tool names follow a consistent snake_case pattern with clear verb_noun structures, such as read_file, write_file, create_directory, and delete_file. This uniformity makes the toolset predictable and easy to navigate, with no deviations in naming conventions across the 17 tools.

Tool Count4/5

With 17 tools, the count is slightly high but reasonable for a file management server, covering a broad range of operations from basic CRUD to advanced searches and project scaffolding. It avoids being overwhelming while providing comprehensive functionality, though it edges toward the upper limit of typical scoping.

Completeness5/5

The toolset offers complete coverage for file and directory management, including creation, reading, updating, deletion, searching, and templating. It supports both basic operations (e.g., read_file, write_file) and advanced workflows (e.g., scaffold_project, compare_files), with no apparent gaps that would hinder agent performance in this domain.

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

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/mcp-tool-shop-org/mcp-file-forge'

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