Describe the bug
When defining an McpResourceTemplate with a uriTemplate that does not define the variable used by the resource template, the application throws a 500 Internal Server Error.
The error appears to be related to Symfony's response handling:
Warning: Cannot modify header information - headers already sent by (output started at /vendor/symfony/http-foundation/Response.php:393) (500 Internal Server Error)
To Reproduce
Steps to reproduce the behavior:
- Define an
McpResourceTemplate.
- Use a variable in the resource template that is not defined in the
uriTemplate.
- Execute/request the resource.
- The application returns a
500 Internal Server Error.
Example
#[McpResourceTemplate(
uriTemplate: 'data://tags',
name: 'all_tags',
title: 'All Tags ',
description: 'All Tags',
mimeType: 'application/json'
)]
public function tag_all( ?int $paged = 1 ) : array|Error {
//.....
}
Expected behavior
The application should handle an undefined or missing uriTemplate variable gracefully, ideally by returning a clear validation or configuration error rather than triggering a 500 Internal Server Error caused by headers being sent prematurely.
Logs
Warning: Cannot modify header information - headers already sent by (output started at /vendor/symfony/http-foundation/Response.php:393) (500 Internal Server Error)
Additional context
I encountered this while working with McpResourceTemplate.
I was unable to report the issue through GitHub's usual bug-reporting flow, so I am reporting it here directly.
Describe the bug
When defining an
McpResourceTemplatewith auriTemplatethat does not define the variable used by the resource template, the application throws a500 Internal Server Error.The error appears to be related to Symfony's response handling:
To Reproduce
Steps to reproduce the behavior:
McpResourceTemplate.uriTemplate.500 Internal Server Error.Example
#[McpResourceTemplate( uriTemplate: 'data://tags', name: 'all_tags', title: 'All Tags ', description: 'All Tags', mimeType: 'application/json' )] public function tag_all( ?int $paged = 1 ) : array|Error { //..... }Expected behavior
The application should handle an undefined or missing
uriTemplatevariable gracefully, ideally by returning a clear validation or configuration error rather than triggering a500 Internal Server Errorcaused by headers being sent prematurely.Logs
Additional context
I encountered this while working with
McpResourceTemplate.I was unable to report the issue through GitHub's usual bug-reporting flow, so I am reporting it here directly.