Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

MCP Filesystem UTF-8 Issues on Windows with German Umlaute

Open Beginner friendly
#2,098 2 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
68/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Quiet
Tech stack
node.js, typescript

Research direction

Start by locating the MCP Filesystem Server entry point corresponding to dist/index.js and reproduce the Windows write case with “Bäcker” or another non-ASCII string. Compare the reported stdin, stdout, and stderr encoding settings, then verify that writing and reading UTF-8 characters works on Windows without converting them to question marks.

Written by the indexing model from the issue text.

Description

bug server-filesystem

SOLVED: MCP Filesystem UTF-8 Issues on Windows with German Umlaute

Problem

If you're using the MCP Filesystem Server on Windows and experiencing issues with German umlauts (ä, ö, ü, ß) or other UTF-8 characters being converted to "?" when writing files - this post provides a working solution.

Symptoms:

  • Writing "Bäcker" → becomes "B?cker"
  • Reading works fine, only writing is affected
  • Affects all non-ASCII characters (€, é, ñ, etc.)

Root Cause

The STDIO communication between Claude Desktop and the MCP server doesn't use UTF-8 encoding by default on Windows. The Node.js process needs explicit encoding settings.

Solution

Step 1: Switch from Docker to NPX installation
npm install -g @modelcontextprotocol/server-filesystem
Step 2: Patch the server code

Edit file: %APPDATA%\npm\node_modules\@modelcontextprotocol\server-filesystem\dist\index.js

Add after the imports section:

// UTF-8 Fix for Windows
if (process.platform === 'win32') {
    process.stdout.setEncoding('utf8');
    process.stderr.setEncoding('utf8');
    process.stdin.setEncoding('utf8');
}
Step 3: Update Claude Desktop config

Edit: %APPDATA%\Claude\claude_desktop_config.json

Replace the filesystem server configuration:

"filesystem": {
  "command": "npx",
  "args": [
    "-y", 
    "@modelcontextprotocol/server-filesystem",
    "C:\\claude_local",
    "C:\\Users\\[YOUR_USERNAME]\\AppData\\Roaming\\Claude"
  ],
  "env": {
    "LANG": "de_DE.UTF-8",
    "LC_ALL": "de_DE.UTF-8",
    "LC_CTYPE": "de_DE.UTF-8"
  }
}
Step 4: Restart Claude Desktop

Result

UTF-8 characters now work perfectly: ÄÖÜ äöü ß € ✓

Technical Details

  • Tested on Windows 10/11
  • Node.js 18+
  • MCP SDK v0.6.0
  • Solution discovered: June 13, 2025

Full Documentation

Complete documentation with automated patch script available at:
[Link to GitHub Gist or Repository]

Contributing

This fix should ideally be integrated into the official MCP Filesystem Server. I'm planning to submit a PR to the official repository. If you've experienced this issue, please comment to support the PR.


Keywords: MCP, Model Context Protocol, Filesystem Server, UTF-8, Windows, German, Umlaute, Claude Desktop, encoding fix

Dominant language
TypeScript
Stars
90.6k
Forks
11.7k
Avg merge
7h 57m
Merged PRs (30d)
20

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from modelcontextprotocol/servers

All issues in modelcontextprotocol/servers

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.