Filesystem MCP Server
Provides file system access and operations, enabling AI assistants to read, write, list, search, and manage files and directories through a standardized interface.
README
Filesystem MCP Server
A Model Context Protocol (MCP) server that provides comprehensive file system access and operations. This server allows AI assistants to interact with your file system through a standardized interface.
Features
Resources (Read-only access)
- file://{path} - Read file contents
- directory://{path} - List directory contents with metadata
Tools (File Operations)
- read_file_tool - Read file contents with encoding support
- write_file_tool - Create or overwrite files
- list_directory_tool - List directory contents (recursive option)
- create_directory_tool - Create directories with parent creation
- delete_file_tool - Delete files
- delete_directory_tool - Delete directories (recursive option)
- move_file_tool - Move or rename files/directories
- copy_file_tool - Copy files or directories
- search_files_tool - Search for files by pattern (supports wildcards)
- get_file_info_tool - Get detailed file/directory metadata
Prompts
- analyze_directory_prompt - Template for directory analysis
- find_and_read_prompt - Template for finding and reading files
Security
By default, the server restricts access to your home directory. You can modify the ALLOWED_PATHS list in server.py to change this.
ALLOWED_PATHS = [str(Path.home())] # Modify this to add more paths
- Access is limited to a configured root directory
- No access to system paths
- User must explicitly grant permissions
Server Versions
server.py - Pure MCP SDK implementation (currently active)
- Uses
mcp.server.Serverdirectly - Better compatibility with Claude Desktop
- Lower-level control
Using with Claude Desktop
To use this server with Claude Desktop, add it to your Claude configuration file.
-
Open your Claude Desktop config file:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- Windows:
-
Add the server configuration:
{
"mcpServers": {
"filesystem": {
"command": "python",
"args": ["C:\\Users\\<username>\\filesystem-mcp-server\\server.py"]
}
}
}
- Restart Claude Desktop
Using with MCP Inspector
You can test and debug your server with the MCP Inspector:
npx @modelcontextprotocol/inspector python server.py
Example Usage
Once connected to an MCP client (like Claude Desktop), you can:
List files in a directory
Can you list the files in my Documents folder?
Read a file
Read the contents of C:\Users\<username>\test.txt
Search for files
Find all Python files in my projects directory
Create and write to a file
Create a new file called notes.txt with the content "Hello World"
Get file information
Get detailed information about myfile.pdf
Project Structure
filesystem-mcp-server/
└── src/
├── __init__.py
├── config.py ← ALLOWED_PATHS + is_path_allowed()
├── tools.py ← all 10 tool implementations
├── tool_schemas.py ← the Tool(...) schema definitions for list_tools()
├── resources.py ← list_resources() + read_resource()
└── prompts.py ← list_prompts() + get_prompt()
├── server.py # Main MCP server implementation
├── requirements.txt # Python dependencies
├── test_server # Test file
└── README.md # This file
Extending the Server
You can easily add more tools by following the existing patterns:
@mcp.tool()
def your_custom_tool(param: str) -> dict:
"""Description of your tool"""
# Your implementation
return {"result": "success"}
Troubleshooting
Permission Errors
If you get permission errors, check that the path is within ALLOWED_PATHS in server.py.
Server Not Responding
Check that the server is running with stdio transport and that your client is properly configured.
Requirements
- Python 3.8 or higher
- Windows (adaptable to Linux/macOS by changing path separators)
- MCP Python SDK 1.25 or higher
Resources
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.