Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
read_fileA

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_imageA

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_filesA

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_fileA

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: -, , , , , , , , ,

  • CSS styling: colors, fonts, alignment, borders, margins, padding

  • Example: 'TitleContent'

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

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_filesA

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_directoryA

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_directoryA

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_fileA

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_infoA

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_directoryA

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_directoriesA

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_operationsA

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.

delete_filesA

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_filesA

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_filesA

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_shellA

Execute shell commands on the host system with security controls. Commands are executed as 'bash -c ' 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.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/n0zer0d4y/vulcan-file-ops'

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