modelcontextprotocol / modelcontextprotocol/servers

filesystem: 18 schema properties missing description fields, breaking automated callers

Open
#3,984 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
90.5k
Forks
11.7k
Avg merge
2d 2h
Merged PRs (30d)
5

Description

Heads-up issue: server-filesystem (modelcontextprotocol/servers)

Repo: https://github.com/modelcontextprotocol/servers
Filed by: PengSpirit
Filed before: Apr 25, 2026 (72h before Apr 29 launch of mcp-probe)


Title

Schema gap: 18 properties on filesystem-server tools have no description field

Body

Hi — running diagnostic tools (in this case mcp-probe) against @modelcontextprotocol/server-filesystem@2026.1.14 surfaces 18 schema warnings, all of the form "Property X on tool Y is missing a description." Filing a friendly heads-up because we're about to publish a public scorecard that includes this server.

This is a constructive observation, not a server bug — the tools work correctly. The issue is that without per-property descriptions, automated callers (LLMs, IDE autocomplete, health checkers) can't distinguish "this path arg expects a file path" from "this path arg expects a directory path." mcp-probe's pass rate against this server jumped from 2/14 → 8/14 once we wrote a workaround that probes list_allowed_directories first, but the residual 6 failures are still client guessing because the schema doesn't tell us file-vs-directory.

The complete warning list:

read_file — Property "path" missing description
read_text_file — Property "path" missing description
read_media_file — Property "path" missing description
write_file — Property "path" missing description
write_file — Property "content" missing description
edit_file — Property "path" missing description
edit_file — Property "edits" missing description
create_directory — Property "path" missing description
list_directory — Property "path" missing description
list_directory_with_sizes — Property "path" missing description
directory_tree — Property "path" missing description
directory_tree — Property "excludePatterns" missing description
move_file — Property "source" missing description
move_file — Property "destination" missing description
search_files — Property "path" missing description
search_files — Property "pattern" missing description
search_files — Property "excludePatterns" missing description
get_file_info — Property "path" missing description

Suggested fix: add a one-line description to each property in the JSON schema. For path args, even just "description": "Absolute path to a file" vs "description": "Absolute path to a directory" would let any automated caller pick the right argument shape.

I'm happy to send a PR if helpful — let me know either way. We'll mention this finding (without naming the server as "broken") in the launch post so other maintainers can run the same check on their servers.

Repro:

npx -y @incultnitostudiosllc/mcp-probe test "npx -y @modelcontextprotocol/server-filesystem /tmp"

Thanks for shipping the reference servers — they're the why-MCP-works-at-all argument.

Contributor guide

Open the contributing guide

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.

Research direction

Start with the server-filesystem tool schemas and run the provided mcp-probe command to reproduce the 18 warnings across the listed tools. Add descriptions for each named property, distinguishing file and directory paths where applicable, then rerun the probe and verify that the warnings are gone.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
api
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.