npm package: @rog0x/mcp-file-tools
Description: MCP server providing file and directory analysis tools for AI agents
Author: rog0x
Latest version: 1.0.1

# @rog0x/mcp-file-tools

MCP server providing file and directory analysis tools for AI agents. Gives Claude (and other MCP-compatible AI) the ability to explore, analyze, and search file systems.

## Tools

| Tool | Description |
|------|-------------|
| `dir_tree` | Generate a visual directory tree structure with configurable depth and ignore patterns |
| `file_stats` | Analyze a directory: total files, size breakdown by extension, largest/newest/oldest files |
| `duplicate_finder` | Find duplicate files by size + MD5 hash, report wasted space |
| `code_counter` | Count lines of code by language: code, comments, and blank lines (like cloc/scc) |
| `file_search` | Search files by name glob, content regex, size range, and date range |

## Installation

```bash
git clone https://github.com/rog0x/mcp-file-tools.git
cd mcp-file-tools
npm install
npm run build
```

## Configuration

### Claude Code

```bash
claude mcp add mcp-file-tools node /absolute/path/to/mcp-file-tools/dist/index.js
```

### Claude Desktop

Add to your `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "mcp-file-tools": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-file-tools/dist/index.js"]
    }
  }
}
```

## Tool Details

### dir_tree

Generate a visual directory tree like the `tree` command.

```
Parameters:
  dir_path (required)     - Absolute path to the directory
  max_depth (optional)    - Max depth to traverse (default: 5, 0 = unlimited)
  ignore_patterns (optional) - Patterns to ignore (default: node_modules, .git, dist, etc.)
```

### file_stats

Get a comprehensive analysis of a directory's contents.

```
Parameters:
  dir_path (required)     - Absolute path to the directory
  max_depth (optional)    - Max depth to traverse (default: 10)
```

Returns: total files, total size, file counts by extension, top 10 largest files, top 10 newest/oldest files.

### duplicate_finder

Find duplicate files using size pre-filtering and MD5 hashing.

```
Parameters:
  dir_path (required)     - Absolute path to the directory
  min_size (optional)     - Minimum file size in bytes (default: 1)
  max_depth (optional)    - Max depth to traverse (default: 10)
```

Returns: duplicate groups with file paths, sizes, and total wasted space.

### code_counter

Count lines of code across 20+ languages with comment detection.

```
Parameters:
  dir_path (required)     - Absolute path to the directory
  max_depth (optional)    - Max depth to traverse (default: 10)
```

Supported languages: TypeScript, JavaScript, Python, Java, C/C++, C#, Go, Rust, Ruby, PHP, Swift, Kotlin, HTML, CSS, JSON, YAML, Markdown, Shell, SQL, Lua.

### file_search

Search for files using multiple criteria simultaneously.

```
Parameters:
  dir_path (required)        - Absolute path to the directory
  name_pattern (optional)    - Glob pattern (e.g. "**/*.ts")
  content_pattern (optional) - Regex to search file contents
  min_size (optional)        - Minimum file size in bytes
  max_size (optional)        - Maximum file size in bytes
  modified_after (optional)  - ISO date string
  modified_before (optional) - ISO date string
  max_results (optional)     - Max results (default: 100)
```

## License

MIT