Filesystem MCP: move_file tool returns array instead of string (Error -32602)
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 64/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Quiet
- Tech stack
- typescript
- Domain
- tooling
Research direction
Reproduce the supplied move_file call, then locate the move_file implementation and its output schema in the server-filesystem package. Confirm the successful result is a string and rerun the same MCP request to verify output validation passes without error.
Written by the indexing model from the issue text.
Description
Filesystem MCP: move_file tool returns array instead of string (Error -32602)
Summary
When executing the move_file tool from @modelcontextprotocol/server-filesystem, error code -32602 (Invalid params) occurs.
Root Cause: The tool returns an array instead of a string, causing MCP protocol validation to fail.
Error Details
Error Code: -32602 (JSON-RPC Invalid params)
Error Message:
Output validation error: Invalid structured content for tool move_file: [
{
"expected": "string",
"code": "invalid_type",
"path": ["content"],
"message": "Invalid input: expected string, received array"
}
]
Problem Location: The content field is an array (should be a string)
Steps to Reproduce
- Configure @modelcontextprotocol/server-filesystem as an MCP server
- Call the move_file tool with:
- source: Source file path
- destination: Destination file path
- Error occurs
Example:
{
"source": "C:\path\to\file.txt",
"destination": "C:\path\to\new\file.txt"
}
Expected Behavior
The move_file tool should return a string message when file movement succeeds.
Example:
"Successfully moved file from source to destination"
Actual Behavior
The move_file tool returns an array, causing MCP protocol validation to fail.
Environment
OS: Windows 10 (build 26100)
Node.js: 22.21.1 (Built-in Claude Desktop)
Package: @modelcontextprotocol/server-filesystem@latest
MCP Client: Claude Desktop 1.0.1307
Log Excerpts
Request:
2025-11-30T09:57:51.155Z [filesystem] [info] Message from client:
{
"method": "tools/call",
"params": {
"name": "move_file",
"arguments": {
"source": "C:\Users\skiku\Documents\MCP_Learning\chapter01\test1.txt",
"destination": "C:\Users\skiku\Documents\MCP_Learning\chapter01\テストファイル\test1.txt"
}
},
"jsonrpc": "2.0",
"id": 26
}
Response (Error):
2025-11-30T09:57:51.174Z [filesystem] [info] Message from server:
{
"jsonrpc": "2.0",
"id": 26,
"result": {
"content": [{
"type": "text",
"text": "MCP error -32602: Output validation error: Invalid structured content for tool move_file: ..."
}],
"isError": true
}
}
Additional Information
- Other file operation tools (read_file, write_file, create_directory, etc.) work correctly
- The move_file tool appears in the available tools list but fails at runtime
- This issue prevents file movement functionality from being used
Related Issues
I checked GitHub Issues but found no known problems related to the move_file tool. This appears to be an unreported bug.
Suggested Labels
- bug
- server-filesystem
- schema-validation
- Dominant language
- TypeScript
- Stars
- 90.6k
- Forks
- 11.7k
- Avg merge
- 7h 57m
- Merged PRs (30d)
- 20
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from modelcontextprotocol/servers
-
documentation v2
Difficulty 1/5 Under an hour Newbie friendliness 95/100
modelcontextprotocol/servers#4940 ·
Maintainers usually reply within 1 day
-
agent guidance documentation v2
Difficulty 1/5 1-3 hours Newbie friendliness 92/100
modelcontextprotocol/servers#4924 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
modelcontextprotocol/servers#4914 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 92/100
modelcontextprotocol/servers#4892 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
modelcontextprotocol/servers#4844 ·
Maintainers usually reply within 1 day
All issues in modelcontextprotocol/servers
Similar issues
-
check:failed streams:add
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
iptv-org/iptv#53974 · 1 comment ·
Maintainers usually reply within 1 day
-
type: bug
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
interledger/rafiki#3986 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Doist/todoist-cli#576 ·
Maintainers usually reply within 1 day
-
feature
Difficulty 1/5 Under an hour Newbie friendliness 72/100
vercel-labs/skills#2370 ·
Maintainers usually reply within 1 day
-
🐛 Bug supabase/cli
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Maintainers usually reply within 1 day