Provides containerized deployment for portability and isolation, with filesystem mounting capabilities for local access
Complete Git integration for performing standard Git operations like clone, commit, push, pull, and advanced repository analysis
Secure authentication with GitHub using personal access tokens to enable access to private repositories and authenticated operations
Utilizes Mermaid diagrams to visualize system architecture, workflows, and component relationships throughout the documentation
Incorporates Shields.io badges to display version information, license details, and Docker readiness status
FastFS-MCP
A high-speed MCP (Model Context Protocol) server for filesystem operations, Git integration, and interactive prompting capabilities, designed to work seamlessly with Claude and AI-native tooling.
🚀 Overview
FastFS-MCP enables AI assistants like Claude to interact with your local filesystem, manage Git repositories, and provide interactive experiences through a standardized JSON-based protocol. Whether you're building AI-assisted development workflows, creating content with Claude, or automating file management tasks, FastFS-MCP provides the bridge between your AI assistant and your local environment.
✨ Key Features
- Ultra-fast filesystem operations: Access, modify, and manage files with minimal latency
- Complete Git integration: Perform all standard Git operations and advanced repository analysis
- Interactive prompting: Enable Claude to engage users through structured prompts and forms
- GitHub authentication: Securely authenticate with GitHub using personal access tokens or GitHub Apps
- JSON protocol: Communicate with Claude Desktop, VSCode, and other AI-native tools using a standard interface
🛠️ Core Components Architecture
💻 Installation & Quick Start
Docker Quick Start
On Unix/macOS: replace with
-v $HOME:/mnt/workspace
With GitHub Authentication
Using Personal Access Token
Using GitHub App (Option 1: Private Key as Environment Variable)
Using GitHub App (Option 2: Private Key from File in Workspace)
🤖 Claude Desktop Configuration
With GitHub Authentication
Using Personal Access Token
Using GitHub App with Private Key as Environment Variable
Using GitHub App with Private Key from File
📋 Tool Categories
FastFS-MCP provides a comprehensive set of tools organized into logical categories:
🗂️ Filesystem Operations
Basic Operations
Method | Description |
---|---|
ls | List files in a directory |
cd | Change the current working directory |
pwd | Print the current working directory |
read | Read file contents |
write | Create or overwrite file content |
grep | Fast file searching via ripgrep |
which | Locate executables in PATH |
Advanced Operations
Method | Description |
---|---|
tree | Display directory structure |
find | Find files by pattern |
cp | Copy files or directories |
mv | Move or rename files |
rm | Remove files or directories |
mkdir | Create directories |
stat | Display file metadata |
chmod | Change file permissions |
du | Show disk usage |
df | Show disk space |
touch | Create a new empty file or update timestamp |
Text & File Processing
Method | Description |
---|---|
sed | Stream editor for text transformation |
gawk | Text processing with AWK |
head | Show first lines of a file |
tail | Show last lines of a file |
wc | Count lines, words, and bytes |
cut | Select columns from file |
sort | Sort lines of text files |
uniq | Report or filter repeated lines |
nl | Number lines in a file |
split | Split a file into smaller parts |
readlink | Print the resolved path of a symbolic link |
realpath | Print the resolved absolute path |
Archive & Compression
Method | Description |
---|---|
tar | Create/extract tar archives |
gzip | Compress/decompress files |
zip | Create/extract zip archives |
🌿 Git Operations
Basic Git Operations
Method | Description |
---|---|
clone | Clone a Git repository |
init | Initialize a new Git repository |
add | Add file(s) to staging area |
commit | Commit changes to repository |
status | Show working tree status |
push | Push changes to remote repository |
pull | Pull changes from remote repository |
log | Show commit logs |
checkout | Switch branches or restore files |
branch | List, create, or delete branches |
merge | Join development histories together |
show | Show Git objects |
diff | Show changes between commits/working tree |
remote | Manage remote repositories |
stash | Stash changes in working directory |
tag | Manage Git tags |
config | Get or set repository or global options |
fetch | Download objects and refs from another repository |
blame | Show what revision and author last modified each line of a file |
git_grep | Print lines matching a pattern in tracked files |
head | Show the current HEAD commit information |
Advanced Git Analysis
Method | Description |
---|---|
context | Get comprehensive repo context |
repo_info | Get detailed repository information |
validate | Check repository for common issues |
summarize_log | Generate commit log statistics |
suggest_commit | Auto-suggest commit messages |
audit_history | Audit repository for security issues |
🤝 Interactive Prompts
Prompt Templates
Template | Description |
---|---|
confirm_file_overwrite | Ask user to confirm before overwriting an existing file |
confirm_directory_delete | Warn user before deleting a directory |
file_not_found_options | Provide options when a file is not found |
enter_file_content | Get content for a file from the user |
enter_search_pattern | Ask user for a search pattern |
project_initialization | Collect information to initialize a new project |
coding_task | Define parameters of a coding task |
select_file_from_list | Let user select a file from a list |
custom | Create a completely custom prompt message |
Interactive Functions
Function | Description |
---|---|
prompt | Send an interactive prompt to the user |
get_prompt_types | List available prompt templates |
interactive_write | Write file with user-provided content |
confirm_overwrite | Ask before overwriting files |
select_file | Let user choose from file list |
get_file_content | Get content for file from user |
init_project | Initialize project with guided setup |
📝 Protocol Usage
FastFS-MCP uses a simple JSON-based protocol to communicate with Claude and other AI tools.
Request Format
Response Format
Examples
Basic File Operation
Git Repository Context
Interactive Prompt Flow
🔧 GitHub Authentication
FastFS-MCP supports two methods of GitHub authentication to enable secure Git operations with GitHub repositories:
Personal Access Token (PAT) Authentication
When a GitHub PAT is provided via the GITHUB_PERSONAL_ACCESS_TOKEN
environment variable, Git operations that interact with GitHub (clone, push, pull, fetch) will automatically use the token for authentication, enabling:
- Access to private repositories
- Operations that require authentication (push, create repo, etc.)
- Avoiding rate limits on API calls
GitHub App Authentication
GitHub App authentication provides more granular permissions and better security compared to Personal Access Tokens:
- Fine-grained permissions: GitHub Apps can be configured with specific permissions
- Repository-specific access: GitHub Apps can be installed on specific repositories
- Organization-level control: Organization admins can control which apps are installed
- Automatic token refresh: Installation tokens expire after 1 hour and are automatically refreshed
To use GitHub App authentication, provide the following environment variables:
GITHUB_APP_ID
: Your GitHub App's ID
And one of these options for the private key:
GITHUB_APP_PRIVATE_KEY
: The private key content for your GitHub App (PEM format) as an environment variableGITHUB_APP_PRIVATE_KEY_PATH
: Path to a file containing the private key (PEM format)
Optionally:
GITHUB_APP_INSTALLATION_ID
: The specific installation ID to use (if not provided, FastFS-MCP will attempt to use the first installation)
Security Considerations for Private Keys
When using GitHub App authentication, consider these security practices for managing private keys:
- File-based private key (recommended):
- Store your private key in your workspace and use
GITHUB_APP_PRIVATE_KEY_PATH
- Ensure proper file permissions (chmod 600) on the private key file
- This approach avoids having the key in process environment variables or shell history
- Store your private key in your workspace and use
- Environment variable private key:
- Use this for development or when you can't mount a file
- Be aware that environment variables can be visible in process lists on some systems
🐳 Docker Environment
FastFS-MCP runs in a Docker container for portability and isolation, with the following tools installed:
ripgrep
for high-performance file searchingjq
for JSON parsing and manipulationsed
andgawk
for text processingtree
for directory visualizationfd-find
for alternative file findingcoreutils
for standard Unix toolszip/unzip
,gzip
, andxz-utils
for compressiongit
for repository operations
🚀 Use Cases
- AI-assisted development: Let Claude help you code, manage files, and use Git all within the same conversation
- Content creation workflows: Enable Claude to read, write, and organize files for writing projects
- Repository management: Get insights into Git repositories and automate common Git operations
- Interactive project setup: Guide users through structured project initialization with interactive prompts
- System administration: Perform file system operations and maintenance tasks with AI assistance
🔒 Security Considerations
FastFS-MCP provides direct access to your filesystem and Git repositories. Consider the following security practices:
- Only run FastFS-MCP with appropriate file system permissions
- Mount only the directories you need to expose to Claude
- Use separate GitHub PATs with limited scope for authentication, or prefer GitHub Apps for better security
- Regularly review the logs and commands executed by the server
- For GitHub Apps, store the private key securely and use installation-specific tokens
- When using GitHub App authentication, prefer file-based private keys over environment variables when possible
📄 License
FastFS-MCP is released under the MIT License. See the LICENSE file for details.
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
📚 Further Documentation
- Prompt Guide - Detailed documentation on interactive prompts
- Claude Prompt Examples - Examples of how Claude can use FastFS-MCP
- Claude Prompt Guide - Guide for Claude on working with FastFS-MCP
Built for AI-enhanced CLI and developer workflows with speed, structure, and simplicity.
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
A high-speed MCP server that enables AI assistants like Claude to interact with local filesystems, manage Git repositories, and provide interactive experiences through a standardized JSON-based protocol.
- 🚀 Overview
- ✨ Key Features
- 🛠️ Core Components Architecture
- 💻 Installation & Quick Start
- 🤖 Claude Desktop Configuration
- 📋 Tool Categories
- 🗂️ Filesystem Operations
- 🌿 Git Operations
- 🤝 Interactive Prompts
- 📝 Protocol Usage
- 🔧 GitHub Authentication
- 🐳 Docker Environment
- 🚀 Use Cases
- 🔒 Security Considerations
- 📄 License
- 🤝 Contributing
- 📚 Further Documentation
Related MCP Servers
- -securityFlicense-qualityAn MCP server that allows Claude AI to perform filesystem operations including reading, writing, listing, moving files, and searching directories within specified allowed paths.Last updated -51JavaScript
- -securityAlicense-qualityAn MCP server that implements Claude Code-like functionality, allowing the AI to analyze codebases, modify files, execute commands, and manage projects through direct file system interactions.Last updated -179PythonMIT License
- -securityFlicense-qualityAn MCP server that allows AI assistants like Claude to execute terminal commands on the user's computer and return the output, functioning like a terminal through AI.Last updated -7Python
- -securityAlicense-qualityA comprehensive MCP (Model Context Protocol) server for file system operations, providing Claude and other AI assistants with access to local files and directories.Last updated -PythonMIT License