Skip to main content
Glama

MCP Filesystem Server

MIT License
42
  • Apple
  • Linux

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
portNoPort for SSE transport8000
debugNoEnable debug logging
versionNoShow version information
transportNoTransport protocol (stdio or sse)stdio

Schema

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Tools

Functions exposed to the LLM to take actions

NameDescription
read_file

Read the complete contents of a file.

Args: path: Path to the file encoding: File encoding (default: utf-8) ctx: MCP context Returns: File contents as a string
read_multiple_files

Read multiple files at once.

Args: paths: List of file paths to read encoding: File encoding (default: utf-8) ctx: MCP context Returns: Dictionary mapping file paths to contents or error messages
write_file

Create a new file or overwrite an existing file with new content.

Args: path: Path to write to content: Content to write encoding: File encoding (default: utf-8) create_dirs: Whether to create parent directories if they don't exist ctx: MCP context Returns: Success or error message
create_directory

Create a new directory or ensure a directory exists.

Args: path: Path to the directory parents: Create parent directories if they don't exist exist_ok: Don't raise an error if directory already exists ctx: MCP context Returns: Success or error message
list_directory

Get a detailed listing of files and directories in a path.

Args: path: Path to the directory include_hidden: Whether to include hidden files (starting with .) pattern: Optional glob pattern to filter entries format: Output format ('text' or 'json') ctx: MCP context Returns: Formatted directory listing
move_file

Move or rename files and directories.

Args: source: Source path destination: Destination path overwrite: Whether to overwrite existing destination ctx: MCP context Returns: Success or error message
get_file_info

Retrieve detailed metadata about a file or directory.

Args: path: Path to the file or directory format: Output format ('text' or 'json') ctx: MCP context Returns: Formatted file information
list_allowed_directories

Returns the list of directories that this server is allowed to access.

Args: ctx: MCP context Returns: List of allowed directories
edit_file

Make line-based edits to a text file.

Args: path: Path to the file edits: List of {oldText, newText} dictionaries encoding: Text encoding (default: utf-8) dry_run: If True, return diff but don't modify file ctx: MCP context Returns: Git-style diff showing changes
head_file

Read the first N lines of a text file.

Args: path: Path to the file lines: Number of lines to read (default: 10) encoding: Text encoding (default: utf-8) ctx: MCP context Returns: First N lines of the file
tail_file

Read the last N lines of a text file.

Args: path: Path to the file lines: Number of lines to read (default: 10) encoding: Text encoding (default: utf-8) ctx: MCP context Returns: Last N lines of the file
search_files

Recursively search for files and directories matching a pattern.

Args: path: Starting directory pattern: Glob pattern to match against filenames recursive: Whether to search subdirectories exclude_patterns: Optional patterns to exclude content_match: Optional text to search within files max_results: Maximum number of results to return format: Output format ('text' or 'json') ctx: MCP context Returns: Search results
directory_tree

Get a recursive tree view of files and directories.

Args: path: Root directory max_depth: Maximum recursion depth include_files: Whether to include files (not just directories) pattern: Optional glob pattern to filter entries exclude_patterns: Optional patterns to exclude format: Output format ('text' or 'json') ctx: MCP context Returns: Formatted directory tree
calculate_directory_size

Calculate the total size of a directory recursively.

Args: path: Directory path format: Output format ('human', 'bytes', or 'json') ctx: MCP context Returns: Directory size information
find_duplicate_files

Find duplicate files by comparing file sizes and contents.

Args: path: Starting directory recursive: Whether to search subdirectories min_size: Minimum file size to consider (bytes) exclude_patterns: Optional patterns to exclude max_files: Maximum number of files to scan format: Output format ('text' or 'json') ctx: MCP context Returns: Duplicate file information
compare_files

Compare two text files and show differences.

Args: file1: First file path file2: Second file path encoding: Text encoding (default: utf-8) format: Output format ('text' or 'json') ctx: MCP context Returns: Comparison results
find_large_files

Find files larger than the specified size.

Args: path: Starting directory min_size_mb: Minimum file size in megabytes recursive: Whether to search subdirectories max_results: Maximum number of results to return exclude_patterns: Optional patterns to exclude format: Output format ('text' or 'json') ctx: MCP context Returns: Large file information
find_empty_directories

Find empty directories.

Args: path: Starting directory recursive: Whether to search subdirectories exclude_patterns: Optional patterns to exclude format: Output format ('text' or 'json') ctx: MCP context Returns: Empty directory information
grep_files

Search for pattern in files, similar to grep.

Args: path: Starting directory or file path pattern: Text or regex pattern to search for is_regex: Whether to treat pattern as regex case_sensitive: Whether search is case sensitive whole_word: Match whole words only include_patterns: Only include files matching these patterns exclude_patterns: Exclude files matching these patterns context_lines: Number of lines to show before AND after matches (like grep -C) context_before: Number of lines to show BEFORE matches (like grep -B) context_after: Number of lines to show AFTER matches (like grep -A) results_offset: Start at Nth match (0-based, for pagination) results_limit: Return at most this many matches (for pagination) max_results: Maximum total matches to find during search max_file_size_mb: Skip files larger than this size recursive: Whether to search subdirectories max_depth: Maximum directory depth to recurse count_only: Only show match counts per file format: Output format ('text' or 'json') ctx: MCP context Returns: Search results
read_file_lines

Read specific lines from a text file.

Args: path: Path to the file offset: Line offset (0-based, starts at first line) limit: Maximum number of lines to read (None for all remaining) encoding: Text encoding (default: utf-8) ctx: MCP context Returns: File content and metadata
edit_file_at_line

Edit specific lines in a text file.

Args: path: Path to the file line_edits: List of edits to apply. Each edit is a dict with: - line_number: Line number to edit (0-based if relative_line_numbers=True, otherwise 1-based) - action: "replace", "insert_before", "insert_after", "delete" - content: New content for replace/insert operations (optional for delete) - expected_content: (Optional) Expected content of the line being edited for verification offset: Line offset (0-based) to start considering lines limit: Maximum number of lines to consider relative_line_numbers: Whether line numbers in edits are relative to offset abort_on_verification_failure: Whether to abort all edits if any verification fails encoding: Text encoding (default: utf-8) dry_run: If True, returns what would be changed without modifying the file ctx: MCP context Returns: Edit results summary

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/safurrier/mcp-filesystem'

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