# io.github.n0zer0d4y/vulcan-file-ops (npm · @n0zer0d4y/vulcan-file-ops)

MCP server for AI assistants: read, write, edit, and manage files securely on local filesystem.

- Trust score: 59/100 (low)
- Change this week: +59
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-07

## Components

- npm · `@n0zer0d4y/vulcan-file-ops`: 59/100 (this document), [markdown](https://verifymcp.io/servers/n0zer0d4y-vulcan-file-ops/n0zer0d4y-vulcan-file-ops.md), [page](https://verifymcp.io/servers/n0zer0d4y-vulcan-file-ops/n0zer0d4y-vulcan-file-ops)

## Channel facts

- Registry: `npm`
- Package: `@n0zer0d4y/vulcan-file-ops`
- Version: `1.1.4`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-07.

- **Supply Chain Security**: 89/100
  - No malware found by supply-chain analysis.
  - CVE check failed: a known high-severity CVE affects pdfjs-dist 5.7.284, reached via officeparser > pdfjs-dist. A fixed version is available.
  - No install/post-install scripts declared.
  - 115 of 327 dependencies flagged as unhealthy (3 deprecated).
- **Provenance & Transparency**: 19/100
  - Repository check failed: no source repository is declared.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 81 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 69/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 1957 tokens (~115/item across 17 items; 17 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

**Unverified: 1 category.** A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

## Install

### Claude

```bash
claude mcp add n0zer0d4y-vulcan-file-ops -- npx -y @n0zer0d4y/vulcan-file-ops
```

### Codex

```bash
codex mcp add n0zer0d4y-vulcan-file-ops -- npx -y @n0zer0d4y/vulcan-file-ops
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "n0zer0d4y-vulcan-file-ops": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@n0zer0d4y/vulcan-file-ops"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add n0zer0d4y-vulcan-file-ops --command npx --arg -y --arg @n0zer0d4y/vulcan-file-ops
```

### Hermes

```yaml
mcp_servers:
  n0zer0d4y-vulcan-file-ops:
    command: "npx"
    args: ["-y", "@n0zer0d4y/vulcan-file-ops"]
```

### Other

```json
{
  "mcpServers": {
    "n0zer0d4y-vulcan-file-ops": {
      "command": "npx",
      "args": [
        "-y",
        "@n0zer0d4y/vulcan-file-ops"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-07 (score 59, +1)

- [security regression] CVE-2026-16633 affects this package: high
- [functional] Dependency health: partial → 0.84

### 2026-08-06 (score 58, +29)

- [security] Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window).
- [functional improvement] Tool coverage: unverified → 100
- [functional improvement] MCP protocol: unverified → pass
- [functional] First check of Schema quality: fail
- [functional] First check of Schema quality: fail
- [functional] First check of Tool coverage: 100
- [functional] First check of Schema quality: good

### 2026-08-02 (score 29, +29)

- [security regression] CVE-2026-31808 affects this package: medium
- [security regression] Provenance: unverified → fail
- [security regression] Known CVEs: unverified → fail
- [security improvement] Install scripts: unverified → pass
- [security improvement] Malware scan: unverified → pass
- [functional regression] Security disclosure: unverified → fail
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] License: unverified → pass
- [functional improvement] Dependency health: unverified → partial
- [functional] Licence: MIT

### 2026-07-31 (score 0, −18)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 18, 0)

- [functional] Tool coverage: Tool coverage not yet verified: our sandbox run of this package did not complete, so we have no tool definitions to assess.
- [functional] Schema quality: Schema quality not yet verified: our sandbox run of this package did not complete, so we have no schema to assess.

### 2026-07-27 (score 18)

First indexed and scored.

## MCP tools (17)

### `read_file` (~107 tokens)

Read files with flexible modes. Supports text and documents (PDF, DOCX, PPTX, XLSX, ODT, ODP, ODS). PDF: Extracts with format metadata (fonts, colors, layout). Modes: full (entire file), head (first N lines), tail (last N lines), range (lines from startLine to endLine, inclusive, 1-indexed). Document files ignore mode parameters and always return full content. Only works within allowed directories.

### `attach_image` (~99 tokens)

Attach an image file for AI vision analysis. The image will be presented to the AI model as if uploaded directly by the user, enabling the AI to see and describe visual content, read text in images, analyze diagrams, etc. Supports attaching a single image or multiple images at once. Supports PNG, JPEG, GIF, WebP, BMP, and SVG formats. Note: This requires the MCP client to support vision capabilities. Only works within allowed directories.

### `read_multiple_files` (~105 tokens)

Batch read multiple files concurrently with per-file mode control. Supports text and documents (PDF, DOCX, PPTX, XLSX, ODT, ODP, ODS). Each file can specify its own read mode: full, head (first N lines), tail (last N lines), or range (arbitrary line range). Document files ignore mode parameters and return full content. Processes files concurrently for performance. Maximum 50 files per operation. Only works within allowed directories.

### `write_file` (~256 tokens)

Create/replace files. Supports text (UTF-8), PDF, and DOCX with HTML formatting. 

\**PDF/DOCX with HTML Formatting:**
\- Provide HTML content for rich formatting (headings, bold, italic, colors, tables, lists)
\- Supports: <h1>-<h6>, <p>, <div>, <span>, <strong>, <em>, <u>, <table>, <ul>, <ol>
\- CSS styling: colors, fonts, alignment, borders, margins, padding
\- Example: '<html><body><h1 style="color: #2c3e50;">Title</h1><p>Content</p></body></html>'
\- Plain text fallback: If content is not HTML, creates simple formatted document

\**Text files:** UTF-8 encoding. **Overwrites without confirmation.**

IMPORTANT - Multi-line Content:
\- Use actual newline characters in the content string, NOT escape sequences like \n
\- MCP/JSON will handle the encoding automatically
\- Incorrect: {"content": "line1\nline2"} - this writes literal \n characters
\- Correct: Use actual line breaks in your JSON string value

Only works within allowed directories.

### `edit_file` (~332 tokens)

Apply precise modifications to text and code files with intelligent matching.

\**Single File Editing (mode: 'single'):**
Edit one file with multiple sequential edits using exact, flexible, or fuzzy matching strategies.

\**Multi-File Editing (mode: 'multiple'):**
Edit multiple files concurrently in a single operation. Each file can have its own edit configuration.

\**Matching Strategies:**
1\. Exact: Character-for-character match (fastest, safest)
2\. Flexible: Whitespace-insensitive, preserves original indentation
3\. Fuzzy: Token-based regex matching for maximum compatibility

\**Features:**
\- Concurrent processing for multi-file operations
\- Per-file matching strategy control
\- Dry-run preview mode
\- Detailed diff output with statistics
\- Atomic operations with rollback capability
\- Cross-platform line ending preservation

\**Maximum:** 50 files per multi-file operation

\**Best Practices:**
\- Include 3-5 lines of context before and after the change for reliability
\- Add 'instruction' field to describe the purpose of each edit
\- Use 'dryRun: true' to preview changes before applying
\- For multiple related changes, use array of edits (applied sequentially)
\- Set 'expectedOccurrences' to validate replacement count
\- Use 'matchingStrategy' to control matching behavior (defaults to 'auto')

\**CRITICAL - Multi-line Content:**
\- Use actual newline characters in oldText/newText strings, NOT \n escape sequences
\- The MCP/JSON layer handles encoding automatically
\- Using \n literally will search for/write backslash+n characters (wrong!)

Only works within allowed directories.

### `write_multiple_files` (~121 tokens)

Write multiple files concurrently. Supports text, PDF, and DOCX with HTML formatting. File type auto-detected by extension. Failed writes for individual files won't stop others. Returns detailed results for each file. 

\**PDF/DOCX with HTML:** Provide HTML content for rich formatting. Automatically detects HTML and applies formatting. Plain text creates simple documents.

IMPORTANT - Multi-line Content:
\- Use actual newline characters in content strings, NOT \n escape sequences
\- Each file's content will be written exactly as provided in the string

Only works within allowed directories.

### `make_directory` (~41 tokens)

Create single or multiple directories with recursive parent creation (like Unix 'mkdir -p'). Idempotent - won't error if directories exist. Only works within allowed directories.

### `list_directory` (~66 tokens)

List directory contents with flexible output formats. Replaces the previous list_directory, list_directory_with_sizes, and directory_tree tools. Supports simple listings, detailed views with sizes/timestamps, hierarchical tree display, and structured JSON output. Automatically filters globally configured ignored folders. Only works within allowed directories.

### `move_file` (~66 tokens)

Relocate or rename files and directories in a single atomic operation. Supports cross-directory moves with simultaneous renaming when needed. Fails safely if the destination path already exists to prevent accidental overwrites. Can also perform simple same-directory renames. Both source and destination must be within allowed directories.

### `get_file_info` (~57 tokens)

Extract comprehensive metadata and statistics for files or directories. Provides detailed information including size, timestamps (creation and last modification), permissions, and entry type. Perfect for inspecting file properties and attributes without accessing the actual content. Only works within allowed directories.

### `register_directory` (~65 tokens)

Register a directory for access. This allows the AI to dynamically gain access to directories specified by the human user during conversation. The directory and all its subdirectories will become accessible for all filesystem operations.

CURRENTLY ACCESSIBLE DIRECTORIES: None. Use this tool to register directories for access.

### `list_allowed_directories` (~66 tokens)

Display all directories currently accessible to the server. Note that subdirectories within listed paths are implicitly accessible as well. Use this to determine available filesystem scope and plan operations accordingly before attempting file access.

CURRENTLY ACCESSIBLE DIRECTORIES: None. Use this tool to register directories for access.

### `file_operations` (~95 tokens)

Perform bulk file operations (move, copy, rename) on single or multiple files and directories concurrently. All operations are validated for security before execution. Supports conflict resolution strategies for existing destinations. Maximum 100 files per operation for performance.

Input parameters:

- `files` (array, required): Array of source-destination file pairs
- `onConflict` (string): How to handle destination conflicts
- `operation` (string, required): The type of file operation to perform

### `delete_files` (~53 tokens)

Delete single or multiple files and directories securely. Supports recursive directory deletion with safety controls. All paths are validated before deletion begins. Operations are processed concurrently for performance. Maximum 100 paths per operation. Only works within allowed directories.

### `glob_files` (~78 tokens)

Perform recursive pattern-based searches for files and directories. Accepts glob-style patterns matching paths relative to the search root. Use simple patterns like '*.ext' for current directory matches, or '**/*.ext' for deep subdirectory searches. Returns absolute paths to all discovered items. Excellent for locating files when exact paths are unknown. Only searches within allowed directories.

### `grep_files` (~114 tokens)

Search text patterns within file contents using regex. Returns matching line numbers and context - use with read_file/read_multiple_files to retrieve actual content. Supports: regex patterns, case-insensitive (-i), context lines (-A/-B/-C), file type filters (type: js/py/ts/etc), glob patterns, multiline mode. Output modes: content (lines+context), files_with_matches (paths only), count (match counts). Respects ignored folders. Use head_limit to cap results. Only searches within allowed directories.

### `execute_shell` (~173 tokens)

Execute shell commands on the host system with security controls. Commands are executed as 'bash -c <command>' on Unix/Mac. 

The tool captures stdout, stderr, exit codes, and signals. Commands exceeding the timeout will be automatically terminated. 

⚠️  SECURITY REQUIREMENTS:
\- At least ONE approved directory must be configured before executing any shell commands
\- Working directory (workdir parameter or process.cwd()) MUST be within allowed directories
\- All file/directory paths in command arguments are validated against allowed directories
\- Command substitution and dangerous patterns may be restricted

If no workdir is specified, the server's current working directory will be used and validated.

No pre-approved commands. All commands require user approval before execution.

IMPORTANT: Always provide a clear description of what the command does and why it's needed.

## Diagnostics

Captured diagnostic sections: Provenance, Vulnerabilities, Dependencies. The full working is on the page: https://verifymcp.io/servers/n0zer0d4y-vulcan-file-ops/n0zer0d4y-vulcan-file-ops#diagnostics

## Score history

- 2026-08-07: 59
- 2026-08-06: 58
- 2026-08-05: 29
- 2026-08-04: 29
- 2026-08-03: 29
- 2026-08-02: 29
- 2026-08-01: 0
- 2026-07-31: 0
- 2026-07-30: 18
- 2026-07-28: 18
- 2026-07-27: 18

## Links

- npm package: https://www.npmjs.com/package/@n0zer0d4y/vulcan-file-ops
- Socket report: https://socket.dev/npm/package/@n0zer0d4y/vulcan-file-ops
- Changelog RSS feed: https://verifymcp.io/servers/n0zer0d4y-vulcan-file-ops/n0zer0d4y-vulcan-file-ops.xml
- Changelog JSON feed: https://verifymcp.io/servers/n0zer0d4y-vulcan-file-ops/n0zer0d4y-vulcan-file-ops.json
- HTML version of this page: https://verifymcp.io/servers/n0zer0d4y-vulcan-file-ops/n0zer0d4y-vulcan-file-ops
