Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Consider removing or relaxing MIME type validation in FastMCP resources #1756

Copy link
Copy link
@maxisbey

Description

@maxisbey
Issue body actions

Summary

The MIME type validation regex in FastMCP's Resource class is more restrictive than RFC 2045 and diverges from the TypeScript SDK (which has no validation). We should consider aligning with the TypeScript SDK approach.

Background

PR #1755 fixed the immediate issue of MIME type parameters being rejected (e.g., text/html;profile=mcp-app), but the current regex still doesn't fully support RFC 2045:

Current regex (after #1755):

pattern=r"^[a-zA-Z0-9]+/[a-zA-Z0-9\-+.]+(;\s*[a-zA-Z0-9\-_.]+=[a-zA-Z0-9\-_.]+)*$"

Limitations:

  • Doesn't support quoted string values: text/plain; charset="utf-8"
  • Doesn't allow all valid RFC 2045 token characters (e.g., !, #, *, +, etc.)

TypeScript SDK Comparison

The TypeScript SDK does not validate MIME types at all (types.ts:834):

mimeType: z.optional(z.string()),

MCP Spec

The MCP spec defines mimeType as an optional string with no format constraints.

Options

  1. Remove validation entirely (align with TypeScript SDK and spec)
  2. Improve the regex to support quoted strings and more token characters

AI Disclaimer

Reactions are currently unavailable

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Nice to haves, rare edge casesNice to haves, rare edge casesenhancementRequest for a new feature that's not currently supportedRequest for a new feature that's not currently supportedready for workEnough information for someone to start working onEnough information for someone to start working on

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      Morty Proxy This is a proxified and sanitized view of the page, visit original site.