MCP server for filesystem operations with encoding support and umlaut fixing
Project description
filesystem-edit-mcp
An MCP (Model Context Protocol) server for filesystem operations with encoding support and umlaut fixing for C++ code.
Architecture
Encoding & Temp File Flow
Features
- read_text_file: Read files with configurable encoding per file extension
- edit_file: Edit files with pattern matching and automatic umlaut fixing
- Path validation: Security boundary enforcement via
ALLOWED_DIRS - Encoding support: Configure encodings per file pattern (e.g., latin-1 for
.cpp) - Umlaut fixing: Transform German umlauts in C++ string literals, comments, and character constants
Installation
No extra dependencies. Pure Python — works out of the box.
uvx filesystem-edit-mcp
Configuration
Add to your MCP client config (Windsurf / Cursor / any MCP-compatible client):
{
"mcpServers": {
"filesystem-edit-mcp": {
"command": "uvx",
"args": ["filesystem-edit-mcp", "/path/to/your/codebase"]
}
}
}
Multiple directories:
{
"mcpServers": {
"filesystem-edit-mcp": {
"command": "uvx",
"args": ["filesystem-edit-mcp", "/path/to/dir1", "/path/to/dir2"]
}
}
}
Environment Variables
| Variable | Description |
|---|---|
ALLOWED_DIRS |
Allowed directories (supports :, ,, ; delimiters) — CLI args take precedence |
SERVER_CONFIG |
Path to the server config file (default: server_config.json) |
Notes:
- Windows 8.3 short paths (e.g.,
C:\Users\FOO~1) are automatically expanded to long form - System temp directories (
%TEMP%,%TMP%) are automatically allow-listed - Error messages show resolved paths for easier debugging
Server Config
{
"umlaut_config": {
"string_mapping": { "Ä": "CAE_UMLT", "ä": "AE_UMLT" },
"comment_mapping": { "Ä": "Ae", "ä": "ae" },
"char_mapping": { "Ä": "CAE_UMLT_CHAR" }
},
"encoding_config": {
"default": "utf-8",
"mapping": { "*.cpp": "latin-1", "*.h": "latin-1" }
}
}
Security
Path validation prevents access to files outside configured directories.
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file filesystem_edit_mcp-1.2.10.tar.gz.
File metadata
- Download URL: filesystem_edit_mcp-1.2.10.tar.gz
- Upload date:
- Size: 531.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0144ea3ab17287335da568a57a8b611be3987d4a60f1c9039899d2fb33ba1f71
|
|
| MD5 |
71d5aa00fd4c9885e749c5ad51705a16
|
|
| BLAKE2b-256 |
734ef6f5b4002d353e503288a495e0578518003aeb739ca6f3c4ca0f41696dbe
|
File details
Details for the file filesystem_edit_mcp-1.2.10-py3-none-any.whl.
File metadata
- Download URL: filesystem_edit_mcp-1.2.10-py3-none-any.whl
- Upload date:
- Size: 10.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e2419d7ad929a6e20af213891ecdad5311c7d7bf5d0106dbcff8e3ebdd0f9c4f
|
|
| MD5 |
dba8dab4a616ca4395ebe8d3d111e595
|
|
| BLAKE2b-256 |
43d584d3c989fc1a33225d387b2334ac3076c7fe3dda55ea34096102d957218d
|