Skip to main content
Glama
N3uraX

Tafa MCP Server

by N3uraX

πŸš€ Tafa MCP Server

Tafa (meaning "quick" in several African languages) is a production-ready Model Context Protocol (MCP) server that provides comprehensive file system management capabilities for seamless integration with Claude Desktop.

✨ Features

πŸ—‚οΈ File Operations

  • read_file - Read complete file contents with UTF-8 encoding

  • write_file - Create new files or overwrite existing ones (with backup)

  • append_file - Add content to existing files

  • copy_file - Copy files to new locations

  • move_file - Move/rename files

  • delete_file - Remove files with confirmation and backup

  • get_file_info - Get detailed file metadata (size, dates, permissions, hash)

πŸ“ Directory Operations

  • create_directory - Create directories with parent creation

  • list_directory - List contents with file/directory indicators (recursive option)

  • delete_directory - Remove directories with confirmation and backup

  • get_directory_info - Get directory metadata and statistics

πŸ” Search Operations

  • search_files - Recursive file search with pattern matching

  • search_content - Search within file contents (grep-like functionality)

  • find_duplicates - Find duplicate files by content hash

πŸ”’ Security Features

  • Sandboxed Operations - Only allow operations within specified directories

  • Automatic Backups - Creates backups before destructive operations

  • Path Validation - Prevents directory traversal attacks

  • File Size Limits - Prevents operations on extremely large files

  • Permission Checks - Validates read/write permissions before operations

Related MCP server: Notion MCP Server

πŸ› οΈ Installation

Quick Install (NPM)

npm install -g tafa-mcp

Manual Installation

git clone https://github.com/your-org/tafa-mcp.git cd tafa-mcp npm install npm run install-global

βš™οΈ Configuration

Claude Desktop Configuration

Add to your Claude Desktop configuration file:

macOS/Linux: ~/.config/claude/claude_desktop_config.json Windows: %APPDATA%\claude\claude_desktop_config.json

{ "mcpServers": { "tafa-mcp": { "command": "tafa-mcp", "args": [ "/Users/username/Documents", "/Users/username/Desktop", "/Users/username/Downloads" ] } } }

Docker Configuration

{ "mcpServers": { "tafa-mcp": { "command": "docker", "args": [ "run", "-i", "--rm", "--mount", "type=bind,src=/Users/username/Documents,dst=/workspace/Documents", "--mount", "type=bind,src=/Users/username/Desktop,dst=/workspace/Desktop", "tafa-mcp", "/workspace" ] } } }

πŸš€ Usage

Starting the Server

tafa-mcp /path/to/directory1 /path/to/directory2

Example Usage with Claude

Once configured, you can use Claude to perform file operations:

"Can you read the contents of my README.md file?" "Please create a new file called notes.txt with some sample content" "Search for all JavaScript files in my project directory" "Find duplicate files in my Downloads folder"

πŸ”§ Available Tools

File Operations

  • read_file(path) - Read file contents

  • write_file(path, content, backup=true) - Write file with optional backup

  • append_file(path, content) - Append content to file

  • copy_file(source, destination) - Copy file

  • move_file(source, destination) - Move/rename file

  • delete_file(path, backup=true) - Delete file with optional backup

  • get_file_info(path) - Get file metadata

Directory Operations

  • create_directory(path) - Create directory

  • list_directory(path, recursive=false, showHidden=false) - List directory contents

  • delete_directory(path, backup=true) - Delete directory with backup

Search Operations

  • search_files(directory, pattern, recursive=true) - Search files by name pattern

  • search_content(directory, searchTerm, filePattern="*", recursive=true) - Search file contents

Utility

  • get_server_info() - Get server information and available tools

πŸ” Security

Tafa MCP implements several security measures:

  1. Directory Sandboxing: Operations are restricted to specified directories

  2. Path Validation: Prevents directory traversal attacks

  3. Permission Checks: Validates file system permissions

  4. File Size Limits: Prevents operations on extremely large files (100MB default)

  5. Automatic Backups: Creates backups before destructive operations

πŸ—‚οΈ Project Structure

tafa-mcp/ β”œβ”€β”€ package.json β”œβ”€β”€ README.md β”œβ”€β”€ src/ β”‚ β”œβ”€β”€ index.js # Main server entry point β”‚ └── tools/ β”‚ β”œβ”€β”€ fileOperations.js # File operation handlers β”‚ β”œβ”€β”€ directoryOperations.js # Directory operation handlers β”‚ β”œβ”€β”€ searchOperations.js # Search operation handlers β”‚ └── securityManager.js # Security and validation β”œβ”€β”€ config/ β”‚ └── claude_desktop_config.example.json └── tests/ └── basic-tests.js

πŸ§ͺ Testing

Run basic tests:

npm test

🀝 Contributing

  1. Fork the repository

  2. Create a feature branch

  3. Make your changes

  4. Add tests for new functionality

  5. Submit a pull request

πŸ“„ License

MIT License - see LICENSE file for details.

πŸ†˜ Support

For issues and support:

πŸš€ Roadmap

  • Archive operations (ZIP/TAR)

  • File synchronization

  • Batch operations

  • File organization tools

  • Git integration

  • Extended search capabilities


Tafa MCP - Making file system operations fast and efficient for Claude Desktop! πŸš€

-
security - not tested
A
license - permissive license
-
quality - not tested

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/N3uraX/tafa-mcp'

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