Repository navigation
Description
Is your feature request related to a problem?
Yes. The @modelcontextprotocol/server-filesystem MCP server generates unbounded log files in %APPDATA%\Claude\logs\mcp-server-filesystem*.log (Windows) / ~/Library/Logs/Claude/ (macOS) that can grow to excessive sizes (17+ MB observed), creating several issues:
- Performance degradation: Large log files slow down log viewing and parsing during troubleshooting
- Disk space waste: Logs consume unnecessary space without automatic cleanup
- Troubleshooting obstruction: Ironically, oversized logs defeat their debugging purpose by becoming unwieldy
- User maintenance burden: Manual cleanup required, which most users won't perform regularly
Describe the solution you'd like
Add configurable log rotation with size-based and/or time-based triggers:
Proposed Configuration Options
Environment Variables:
MCP_FILESYSTEM_LOG_MAX_SIZE=10485760 # Max log size in bytes (default: 10MB)
MCP_FILESYSTEM_LOG_MAX_FILES=5 # Number of rotated logs to retain (default: 5)
MCP_FILESYSTEM_LOG_ROTATION=size # Rotation strategy: 'size', 'time', or 'both' (default: size)
MCP_FILESYSTEM_LOG_INTERVAL=86400 # Rotation interval in seconds (default: daily)Alternative: Command-line Arguments:
npx @modelcontextprotocol/server-filesystem \
--log-max-size 10M \
--log-max-files 5 \
--log-rotation size \
/path/to/allowed/dirRotation Behavior
- Size-based rotation: When log file exceeds
LOG_MAX_SIZE, rotate immediately - Time-based rotation: Rotate at fixed intervals (e.g., daily at midnight)
- File naming convention:
mcp-server-filesystem.log,mcp-server-filesystem.log.1,mcp-server-filesystem.log.2, etc. - Automatic cleanup: Delete oldest log when
LOG_MAX_FILESlimit reached - Graceful degradation: If rotation fails, log to stderr and continue operation
Describe alternatives you've considered
-
External log rotation tools:
- Windows Task Scheduler + batch scripts
- Linux
logrotate - Problem: Requires per-user configuration; not portable across installations
-
Desktop Commander MCP: Includes 10MB auto-rotation but introduces complexity for users only needing basic filesystem access
-
Manual periodic deletion: Impractical; most users unaware logs exist until problems arise
Additional context
- Related discussion: Issue Proposal: Environment Variable Configuration for Filesystem MCP Server #1879 proposes environment variable configuration; log management would complement that effort
- Community need: Multiple users report log bloat issues in Discord/support channels
- Reference implementation: Desktop Commander MCP successfully implements 10MB rotation
Implementation Notes
Consider using established Node.js logging libraries with built-in rotation:
winstonwithwinston-daily-rotate-filepinowithpino-roll- Or lightweight custom implementation (~50 LOC)
Default to conservative settings (10MB max, 5 file retention) to balance disk usage against debugging needs.
Would you be willing to submit a PR?
Potentially, depending on maintainer guidance regarding preferred implementation approach (library vs. custom, env vars vs. CLI args).
Activity
olaservo commentedon Nov 11, 2025
Hi @AMoorer , thanks for opening this! I think the preference would be for lightweight custom implementation and env variables for configuration.
cliffhall commentedon Oct 19, 2026
Closing: not about the reference servers.
Thank you for taking the time to file this, and apologies for the long wait for a response. Those log files are written by the Claude Desktop host from the server's stderr, so rotation belongs to the client, not the server. Since there's nothing to change in this repository, I'm closing it. This is not a judgment on the problem or on you. This is happening as part of the backlog triage in #4875.
If you hit a problem in one of the reference servers themselves on the v2 release, please open a fresh issue with steps to reproduce; see
CONTRIBUTING.md.