{"name":"io.github.ellmos-ai/ellmos-filecommander-mcp","slug":"ellmos-ai-ellmos-filecommander-mcp","title":"ellmos FileCommander","description":"Filesystem MCP server: files, processes, sessions, async search, OCR, archives, safe delete.","url":"https://mcp.market/server/ellmos-ai-ellmos-filecommander-mcp","rating":null,"grade":"B","score":72,"certified":false,"status":"active","category":"search","tags":["search"],"presence":{"score":37,"stars":4,"forks":0,"downloads_week":274,"last_push_at":"2026-09-23T15:05:40.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/ellmos-ai/ellmos-filecommander-mcp","website":"https://github.com/ellmos-ai/ellmos-filecommander-mcp","version":"1.9.3","remotes":[],"packages":[{"registryType":"npm","identifier":"ellmos-filecommander-mcp","version":"1.9.3","runtimeHint":"npx","transport":{"type":"stdio"}}],"tools":[{"name":"fc_archive","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"fc_batch_rename","description":"Renames files by pattern: remove prefix/suffix, replace, or auto-detect. Args: - directory (string): Directory with the files - mode (string): \"remove_prefix\" | \"remove_suffix\" | \"replace\" | \"auto_detect\" - pattern (string, optional): Text to remove/replace - replacement (string, optional): Replacement text (for replace mode) - extensions (string, optional): Filter by extensions - dry_run (boolean","write_action":false,"price_micros":0,"input_schema":null},{"name":"fc_check_cloud_lock","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"fc_checksum","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"fc_cleanup_file","description":"Cleans up one or more files from common problems. Args: - path (string): Path to file or directory - recursive (boolean, optional): Recursive for directories - extensions (string, optional): Filter file extensions (e.g. \".txt,.json,.py\") - remove_bom (boolean): Remove UTF-8 BOM - remove_trailing_whitespace (boolean): Remove trailing whitespace - normalize_line_endings (string, optional): \"lf\" | \"c","write_action":false,"price_micros":0,"input_schema":null},{"name":"fc_clear_search","description":"Removes a completed search from the list and frees memory. Args: - search_id (string): Search ID (or \"all\" for all completed)","write_action":true,"price_micros":0,"input_schema":null},{"name":"fc_close_session","description":"Terminates a running session and removes it from the list. Args: - session_id (string): Session ID - force (boolean, optional): Force termination","write_action":false,"price_micros":0,"input_schema":null},{"name":"fc_convert_format","description":"Converts files between different formats. Args: - input_path (string): Path to source file - output_path (string): Path to target file - input_format (string): \"json\" | \"csv\" | \"ini\" | \"yaml\" | \"toml\" | \"xml\" | \"toon\" - output_format (string): \"json\" | \"csv\" | \"ini\" | \"yaml\" | \"toml\" | \"xml\" | \"toon\" - json_indent (number, optional): JSON indentation (default: 2) Supported conversions: - JSON <-> ","write_action":false,"price_micros":0,"input_schema":null},{"name":"fc_copy","description":"Copies a file or directory. Args: - source (string): Source path - destination (string): Destination path - recursive (boolean): Copy directories recursively","write_action":false,"price_micros":0,"input_schema":null},{"name":"fc_create_directory","description":"Creates a new directory (including parent directories). Args: - path (string): Path to the new directory Returns: - Confirmation of creation","write_action":true,"price_micros":0,"input_schema":null},{"name":"fc_delete_directory","description":"Deletes a directory. Args: - path (string): Path to the directory - recursive (boolean): Delete non-empty directories too Warning: With recursive=true ALL contents are irreversibly deleted!","write_action":true,"price_micros":0,"input_schema":null},{"name":"fc_delete_file","description":"Deletes a file. Args: - path (string): Path to the file Warning: Irreversible! No recycle bin.","write_action":true,"price_micros":0,"input_schema":null},{"name":"fc_detect_duplicates","description":"Finds file duplicates in a directory using SHA-256 hashes. Args: - directory (string): Directory to scan - recursive (boolean): Search recursively - extensions (string, optional): Filter by extensions - min_size (number, optional): Minimum size in bytes (default: 1) - max_size (number, optional): Maximum size in bytes Returns: - Groups of duplicates with paths and sizes","write_action":false,"price_micros":0,"input_schema":null},{"name":"fc_edit_file","description":"Edits a file line-based: replace, insert, or delete. Args: - path (string): Path to the file - operation (string): \"replace\" | \"insert\" | \"delete\" - start_line (number): Start line (1-based) - end_line (number, optional): End line for replace/delete - content (string, optional): New content for replace/insert Examples: - Replace lines 5-10: operation=\"replace\", start_line=5, end_line=10, content=\"","write_action":false,"price_micros":0,"input_schema":null},{"name":"fc_execute_command","description":"Executes a shell command and returns the output. Args: - command (string): Command to execute - cwd (string, optional): Working directory - timeout (number, optional): Timeout in milliseconds (default: 30000) Warning: Commands are executed with user privileges! Examples: - command: \"dir\" (Windows) - command: \"ls -la\" (Unix) - command: \"python --version\"","write_action":true,"price_micros":0,"input_schema":null},{"name":"fc_file_info","description":"Shows detailed information about a file/directory. Args: - path (string): Path to the file/directory Returns: - Size, type, creation/modification date, permissions","write_action":false,"price_micros":0,"input_schema":null},{"name":"fc_fix_encoding","description":"Detects and repairs encoding errors (mojibake, double UTF-8). Args: - path (string): Path to the file - dry_run (boolean): Only show problems - create_backup (boolean): Create backup Repairs common mojibake patterns like: - Ã¤ -> ae, Ã¶ -> oe, Ã¼ -> ue (German umlauts) - ÃŸ -> ss, â‚¬ -> EUR","write_action":false,"price_micros":0,"input_schema":null},{"name":"fc_fix_json","description":"Automatically repairs common JSON errors. Args: - path (string): Path to the JSON file - dry_run (boolean, optional): Only show problems, do not repair - create_backup (boolean, optional): Create backup before repair Repairs: BOM, trailing commas, single quotes, comments, NUL bytes","write_action":false,"price_micros":0,"input_schema":null},{"name":"fc_folder_diff","description":"Compares the current state of a directory with a saved snapshot. Args: - path (string): Path to the directory - save_snapshot (boolean): Save current state as new snapshot - extensions (string, optional): Filter file extensions Detects: New files, modified files, deleted files Snapshots are saved in %TEMP%/.fc_snapshots/","write_action":false,"price_micros":0,"input_schema":null},{"name":"fc_get_search_results","description":"Retrieves results of a running or completed search. Args: - search_id (string): Search ID from fc_start_search - offset (number, optional): Start offset for pagination - limit (number, optional): Maximum number of results (default: 50) Returns: - Search status and found files","write_action":false,"price_micros":0,"input_schema":null},{"name":"fc_get_time","description":"Returns the current system time. Returns: - Date, time, weekday, timezone","write_action":false,"price_micros":0,"input_schema":null},{"name":"fc_kill_process","description":"Terminates a process by PID or name. Args: - pid (number, optional): Process ID - name (string, optional): Process name - force (boolean): Force termination Warning: May cause data loss!","write_action":true,"price_micros":0,"input_schema":null},{"name":"fc_list_directory","description":"Lists files and subdirectories. Args: - path (string): Path to the directory - depth (number, optional): Maximum depth for recursive listing (default: 1) - show_hidden (boolean, optional): Show hidden files Returns: - Formatted list of all entries with icons","write_action":false,"price_micros":0,"input_schema":null},{"name":"fc_list_processes","description":"Lists running system processes. Args: - filter (string, optional): Filter by process name Returns: - List of processes with PID, name, memory Note: Uses 'tasklist' (Windows) or 'ps' (Unix)","write_action":false,"price_micros":0,"input_schema":null},{"name":"fc_list_searches","description":"Lists all active and completed background searches.","write_action":false,"price_micros":0,"input_schema":null},{"name":"fc_list_sessions","description":"Lists all active and ended sessions. Returns: - Table of all sessions with status","write_action":false,"price_micros":0,"input_schema":null},{"name":"fc_md_to_html","description":"Converts Markdown to formatted HTML (printable as PDF). Args: - input_path (string): Path to Markdown file - output_path (string): Path to HTML output - title (string, optional): Document title Generates standalone HTML with CSS styling, printable as PDF via browser.","write_action":false,"price_micros":0,"input_schema":null},{"name":"fc_md_to_pdf","description":"Converts Markdown to PDF using a headless browser (Edge/Chrome). Args: - input_path (string): Path to the Markdown file - output_path (string): Path to the PDF output - title (string, optional): Document title Uses the same Markdown parser as fc_md_to_html. Requires Edge or Chrome. Falls back to HTML if no browser is found.","write_action":false,"price_micros":0,"input_schema":null},{"name":"fc_move","description":"Moves or renames a file/directory. Args: - source (string): Source path - destination (string): Destination path Examples: - Rename: source=\"test.txt\", destination=\"test_new.txt\" - Move: source=\"C:\\a\\test.txt\", destination=\"C:\\b\\test.txt\"","write_action":false,"price_micros":0,"input_schema":null},{"name":"fc_ocr","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"fc_read_file","description":"Reads the content of a file. Args: - path (string): Full path to the file - encoding (string, optional): Character encoding (default: utf-8) - max_lines (number, optional): Maximum number of lines (0 = all) Returns: - File content as text - For binary files: Base64-encoded content Examples: - path: \"C:\\Users\\User\\test.txt\" - path: \"/home/user/config.json\"","write_action":false,"price_micros":0,"input_schema":null},{"name":"fc_read_multiple_files","description":"Reads multiple files at once and returns their contents. Args: - paths (array): Array of file paths - max_lines_per_file (number, optional): Max lines per file (0 = all) Returns: - Contents of all files with separators Example: paths: [\"C:\\config.json\", \"C:\\readme.md\"]","write_action":false,"price_micros":0,"input_schema":null},{"name":"fc_read_output","description":"Reads the output of a running session. Args: - session_id (string): Session ID from fc_start_session - clear (boolean, optional): Clear output after reading Returns: - Collected output since start/last clear","write_action":false,"price_micros":0,"input_schema":null},{"name":"fc_safe_delete","description":"Moves files/directories to recycle bin instead of deleting them. Args: - path (string): Path to the file/directory SAFE: Can be restored from the recycle bin! Note: Uses Windows recycle bin or creates backup on other systems.","write_action":true,"price_micros":0,"input_schema":null},{"name":"fc_search_files","description":"Searches files by name/pattern in a directory. Args: - directory (string): Start directory for the search - pattern (string): Search pattern (supports * and ? wildcards) - max_results (number, optional): Maximum results (default: 50) Examples: - pattern: \"*.txt\" - All text files - pattern: \"test*\" - Files starting with \"test\" - pattern: \"*.py\" - All Python files","write_action":false,"price_micros":0,"input_schema":null},{"name":"fc_send_input","description":"Sends input to a running session. Args: - session_id (string): Session ID - input (string): Input to send - newline (boolean, optional): Append newline (default: true) Examples: - Python: input=\"print('Hello')\" - Shell: input=\"ls -la\"","write_action":true,"price_micros":0,"input_schema":null},{"name":"fc_set_language","description":"Set the output language for FileCommander tools","write_action":false,"price_micros":0,"input_schema":null},{"name":"fc_set_safe_mode","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"fc_start_process","description":"Starts a process in the background (non-blocking). Args: - program (string): Program/Executable - args (array, optional): Arguments as array - cwd (string, optional): Working directory Examples: - program: \"notepad.exe\", args: [\"test.txt\"] - program: \"python\", args: [\"script.py\"] - program: \"code\", args: [\".\"] (open VS Code)","write_action":false,"price_micros":0,"input_schema":null},{"name":"fc_start_search","description":"Starts a background search. Claude can perform other tasks in the meantime. Args: - directory (string): Start directory - pattern (string): Search pattern (wildcards: * and ?) Returns: - Search ID for fc_get_search_results, fc_stop_search Example: Start search: fc_start_search(\"C:\\Users\", \"*.pdf\") Get results later: fc_get_search_results(search_id)","write_action":false,"price_micros":0,"input_schema":null},{"name":"fc_start_session","description":"Starts an interactive process as a session (for fc_read_output and fc_send_input). Args: - command (string): Command/Program - args (array, optional): Arguments - cwd (string, optional): Working directory Returns: - Session ID for further interaction Examples: - Python REPL: command=\"python\" - Node REPL: command=\"node\" - PowerShell: command=\"powershell\"","write_action":false,"price_micros":0,"input_schema":null},{"name":"fc_stop_search","description":"Stops a running background search. Args: - search_id (string): Search ID","write_action":false,"price_micros":0,"input_schema":null},{"name":"fc_str_replace","description":"Replaces a unique string in a file with another. Args: - path (string): Path to the file - old_str (string): String to replace (must occur exactly once) - new_str (string): New string (empty = delete) Returns: - Confirmation with context IMPORTANT: old_str must occur EXACTLY once in the file! An error is returned for 0 or >1 occurrences. Examples: - Rename function: old_str=\"def old_name\", new_str","write_action":false,"price_micros":0,"input_schema":null},{"name":"fc_validate_json","description":"Validates a JSON file and shows detailed error information. Args: - path (string): Path to the JSON file Returns: - Validation status with line/column on errors","write_action":false,"price_micros":0,"input_schema":null},{"name":"fc_web_fetch","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"fc_write_file","description":"Writes content to a file. Creates the file if it does not exist. Args: - path (string): Full path to the file - content (string): Content to write - append (boolean, optional): Append to file instead of overwriting - create_dirs (boolean, optional): Create missing directories Returns: - Confirmation with file size Warning: Overwrites existing files without warning when append=false!","write_action":true,"price_micros":0,"input_schema":null}],"scan":{"score":72,"grade":"B","scanned_at":"2026-09-25T12:08:36.292Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-25T12:08:36.244Z","components":{"code":{"score":13,"max":25,"notes":["20 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":15,"max":15,"notes":["last push 2 days ago"]},"identity":{"score":7,"max":10,"notes":["registry namespace matches repository owner"]}},"findings":[{"id":"exec.shell-concat","severity":"high","component":"code","title":"Shell command built from a string (injection risk)","evidence":"dist/index.js: … try { const result = execSync(`which ${cmd}`, { encoding: 'utf-8' }).trim(); …"}],"inputs":{"packages":[{"registryType":"npm","identifier":"ellmos-filecommander-mcp","version":"1.9.3","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":8,"publishedAt":"2026-07-23T23:44:51.890Z","repositoryUrl":"git+https://github.com/ellmos-ai/ellmos-filecommander-mcp.git","weeklyDownloads":274}],"repo":{"found":true,"owner":"ellmos-ai","repo":"ellmos-filecommander-mcp","archived":false,"pushedAt":"2026-09-23T15:05:40Z","stars":4,"forks":0,"openIssues":0,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/266164959?v=4","ownerCreatedAt":"2026-03-06T20:49:44Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/266164959?v=4&s=128","source":"github"},"presence":{"stars":4,"forks":0,"downloadsWeek":274,"license":"MIT","lastPushAt":"2026-09-23T15:05:40.000Z","score":37}}}},"grade_history":[],"reviews":[]}