Skip to content

fix(filesystem): reject non-media read_media_file outputs - #4379

Closed
go165 wants to merge 1 commit into
modelcontextprotocol:mainfrom
go165:go165/filesystem-read-media-spec-compliance
Closed

go165 wants to merge 1 commit into
modelcontextprotocol:mainfrom
go165:go165/filesystem-read-media-spec-compliance

Conversation

@go165

@go165 go165 commented Jun 15, 2026

Copy link
Copy Markdown

Summary

  • remove the invalid blob content type from read_media_file output schema
  • return a tool error for non-image/audio files instead of emitting a non-spec content block
  • add integration coverage for image success and non-media rejection

Fixes #4029

Validation

  • npm exec --workspace src/filesystem -- tsc --noEmit
  • npm run --workspace src/filesystem build
  • npm exec --workspace src/filesystem -- vitest run __tests__/structured-content.test.ts --coverage=false
  • git diff --check

Note: validation used temporary symlinks to the existing local node_modules directories from the main checkout; no new install was run.

@cliffhall cliffhall added the closed-superseded-v2 Closed: fixed or made obsolete by the v2 / 2026-07-28 refactor (#4875) label Oct 20, 2026
@cliffhall

Copy link
Copy Markdown
Member

Thank you for this pull request, and apologies for the long wait for a response.

Since it was opened, the reference servers have been rebuilt for the 2026-07-28 MCP specification (#4857) and released as v2 (2.0.0 on npm for the TypeScript servers, 2026.10.19 on PyPI for the Python servers). The code this PR changes has been replaced, and the behavior it addresses has either been fixed in v2 or no longer exists in the same form.

This is not a judgment on the change or on you; it's a consequence of the code it targets having been replaced. If the problem still happens on v2, please open a fresh issue with the version you're running and steps to reproduce. Note that this repository now accepts contributions as issues rather than pull requests from anyone but its maintainers; see CONTRIBUTING.md.

This is part of the backlog triage in #4875.

@cliffhall cliffhall closed this Oct 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

closed-superseded-v2 Closed: fixed or made obsolete by the v2 / 2026-07-28 refactor (#4875)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

filesystem: read_media_file returns invalid 'blob' content type, violating MCP spec

2 participants