fsext-mcp-server-python
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| fs_list_directoryC | Scan directory, return matched absolute path list. |
| fs_copy_directoryA | Copy full directory tree, overwrite controls existing target cleanup. |
| fs_move_directoryB | Move directory, fail if destination exists. |
| fs_create_fileC | Create text file with initial content. |
| fs_delete_fileA | Delete single regular file, reject directory. |
| fs_copy_fileC | Copy file with metadata, overwrite toggle. |
| fs_move_fileB | Move file, control overwrite behavior. |
| fs_get_file_infoC | Get full file/directory metadata. |
| fs_is_file_existsC | Check filesystem entry existence. |
| fs_read_full_textC | Read full text file. |
| fs_read_text_rangeC | Read sliced text segment, -1 unlimited. |
| fs_read_binary_chunkC | Partial binary read, base64 output, 0 unlimited. |
| fs_write_textC | Write text file, append or overwrite. |
| fs_write_binaryD | Write sliced binary bytes, -1 length uses full remaining buffer. |
| fs_search_files_by_contentC | Search dir, return paths of files containing target text. |
| fs_search_in_files_by_contentC | Search multi-file with line context, return matched blocks. |
| fs_search_in_file_by_contentB | Single file content search with line context. |
| fs_file_replaceC | In-place text replace, return matched line count. |
| fs_image_resizeB | Resize image with ratio lock and padding support. |
| fs_image_cropC | Crop rectangular region from image. |
| fs_image_rotateA | Rotate image clockwise, expand canvas to retain full content. |
| fs_ocr_extract_textB | Extract text from image via Tesseract OCR. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 22 tools
Most tools are clearly distinct, but the three search tools (fs_search_files_by_content, fs_search_in_files_by_content, fs_search_in_file_by_content) have highly overlapping descriptions and could easily be misselected. Additionally, fs_read_full_text and fs_read_text_range are similar, though they differ by range.
The 'fs_' prefix is consistent, and most tools follow a verb_noun pattern (e.g., fs_delete_file, fs_create_file). However, image tools use noun_verb (fs_image_resize, fs_image_crop) and fs_ocr_extract_text deviates, while fs_is_file_exists uses a predicate structure. This mixed convention creates inconsistency.
With 22 tools, the server is slightly heavy but each tool fills a specific niche (files, directories, text, binary, search, images, OCR). The count is on the higher end of reasonable but not excessive for the broad domain.
File operations are well-covered, but directory operations are missing create and delete functionality. There is no fs_create_directory or fs_delete_directory, which forces agents to work around these gaps. This is a significant omission for a filesystem server.