Skip to main content
Glama

MCP File Operations Server

by prithvi-seri

MCP File Operations Server

A Python MCP (Model Context Protocol) server that provides read and write access to files in the documents subfolder for use with Claude Desktop.

Features

  • Read files: Read the contents of any file in the documents folder
  • Write files: Create or overwrite files in the documents folder
  • List files: Browse files and directories in the documents folder with search capabilities
  • Delete files/directories: Remove files or directories from the documents folder
  • Create directories: Create new directories within the documents folder
  • Security: Path validation to prevent access outside the documents folder
  • All file types: Supports all file types without restrictions
  • Search functionality: Find files using patterns and recursive search

Installation

  1. Install Poetry if you haven't already:
    curl -sSL https://install.python-poetry.org | python3 -
  2. Install dependencies:
    poetry install
  3. Activate the virtual environment:
    poetry shell

Using pip

  1. Install the required dependencies:
    pip install -r requirements.txt
  2. Ensure the documents folder exists in your project directory.

Usage with Claude Desktop

1. Add the server to Claude Desktop

  1. Open Claude Desktop
  2. Go to Settings → MCP Servers
  3. Click "Add Server"
  4. Configure the server:
    • Name: File Operations
    • Command: poetry (if using Poetry) or python
    • Arguments: run run_server.py (if using Poetry) or run_server.py (if using pip)
    • Working Directory: Path to your project folder

2. Available Tools

Once connected, Claude will have access to these tools:

read_file

Read the contents of a file from the documents folder.

Parameters:

  • file_path (required): Path to the file relative to the documents folder

Example:

Read the file "notes.txt" from the documents folder
write_file

Write content to a file in the documents folder.

Parameters:

  • file_path (required): Path to the file relative to the documents folder
  • content (required): Content to write to the file
  • mode (optional): Write mode - "w" for overwrite (default), "a" for append

Example:

Write "Hello World" to a file called "greeting.txt"
list_files

List all files and directories in the documents folder with search capabilities.

Parameters:

  • subdirectory (optional): Specific subdirectory to list files from
  • search_pattern (optional): Search pattern to filter files (supports wildcards like *.txt, *.py, etc.)
  • recursive (optional): Whether to search recursively in subdirectories (default: false)

Examples:

List all files in the documents folder List all Python files recursively List all files in the "projects" subdirectory Search for files matching "*.md" pattern
delete_file

Delete a file or directory from the documents folder.

Parameters:

  • file_path (required): Path to the file or directory relative to the documents folder
  • recursive (optional): Whether to delete directories recursively (default: false)

Examples:

Delete the file "old_notes.txt" Delete the directory "temp_folder" recursively
create_directory

Create a new directory in the documents folder.

Parameters:

  • dir_path (required): Path to the directory relative to the documents folder

Example:

Create a directory called "projects"

Security Features

  • Path validation: All file operations are restricted to the documents folder
  • Directory traversal protection: Prevents access to parent directories
  • All file types supported: No restrictions on file extensions
  • Error handling: Comprehensive error messages for debugging

Supported File Types

The server supports all file types without any restrictions. You can read, write, and manage any file format including:

  • Text files (.txt, .md, .py, .js, .html, .css, etc.)
  • Data files (.json, .csv, .xml, .yaml, etc.)
  • Binary files (.pdf, .doc, .xls, .zip, etc.)
  • Images (.jpg, .png, .gif, etc.)
  • And any other file type

Testing the Server

Using Poetry

You can test the server using Poetry:

# Run the server directly poetry run python run_server.py # Run tests poetry run pytest # Run tests with coverage poetry run pytest --cov=mcp_file_server

Using pip

You can test the server manually by running:

python run_server.py

The server will start and wait for MCP protocol messages on stdin/stdout.

Troubleshooting

Common Issues

  1. Import errors: Make sure you've installed the requirements:
    # Using Poetry poetry install # Using pip pip install -r requirements.txt
  2. Permission errors: Ensure the documents folder has write permissions
  3. Path issues: The server automatically creates the documents folder if it doesn't exist
  4. Claude Desktop connection: Make sure the working directory in Claude Desktop settings points to your project folder
  5. Poetry not found: Install Poetry using the official installer:
    curl -sSL https://install.python-poetry.org | python3 -

Logging

The server includes logging to help debug issues. Check the console output for error messages.

Development

Using Poetry

To modify the server:

  1. Edit mcp_file_server/server.py to add new tools or modify existing ones
  2. Modify the DOCUMENTS_DIR constant to change the base directory
  3. All file types are supported by default - no need to modify file type restrictions
  4. Run tests: poetry run pytest
  5. Format code: poetry run black .
  6. Sort imports: poetry run isort .

Using pip

To modify the server:

  1. Edit mcp_file_server/server.py to add new tools or modify existing ones
  2. Modify the DOCUMENTS_DIR constant to change the base directory
  3. All file types are supported by default - no need to modify file type restrictions

License

This project is open source and available under the MIT License.

-
security - not tested
F
license - not found
-
quality - not tested

local-only server

The server can only run on the client's local machine because it depends on local resources.

Enables secure file management operations within a documents folder, including reading, writing, listing, deleting files and creating directories. Supports all file types with path validation to prevent access outside the designated documents directory.

  1. Features
    1. Installation
      1. Using Poetry (Recommended)
      2. Using pip
    2. Usage with Claude Desktop
      1. 1. Add the server to Claude Desktop
      2. 2. Available Tools
    3. Security Features
      1. Supported File Types
        1. Testing the Server
          1. Using Poetry
          2. Using pip
        2. Troubleshooting
          1. Common Issues
          2. Logging
        3. Development
          1. Using Poetry
          2. Using pip
        4. License

          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/prithvi-seri/mcp-server'

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