File tree Expand file tree Collapse file tree 2 files changed +22
-0
lines changed Expand file tree Collapse file tree 2 files changed +22
-0
lines changed Original file line number Diff line number Diff line change @@ -320,6 +320,7 @@ async def list_resource_templates(self) -> list[MCPResourceTemplate]:
320320 name = template .name ,
321321 title = template .title ,
322322 description = template .description ,
323+ mimeType = template .mime_type ,
323324 )
324325 for template in templates
325326 ]
Original file line number Diff line number Diff line change @@ -810,6 +810,27 @@ def get_data(name: str) -> str:
810810 result = await resource .read ()
811811 assert result == "Data for test"
812812
813+ @pytest .mark .anyio
814+ async def test_resource_template_includes_mime_type (self ):
815+ """Test that list resource templates includes the correct mimeType."""
816+ mcp = FastMCP ()
817+
818+ @mcp .resource ("resource://{user}/csv" , mime_type = "text/csv" )
819+ def get_csv (user : str ) -> str :
820+ return f"csv for { user } "
821+
822+ templates = await mcp .list_resource_templates ()
823+ assert len (templates ) == 1
824+ template = templates [0 ]
825+
826+ assert hasattr (template , "mimeType" )
827+ assert template .mimeType == "text/csv"
828+
829+ async with client_session (mcp ._mcp_server ) as client :
830+ result = await client .read_resource (AnyUrl ("resource://bob/csv" ))
831+ assert isinstance (result .contents [0 ], TextResourceContents )
832+ assert result .contents [0 ].text == "csv for bob"
833+
813834
814835class TestContextInjection :
815836 """Test context injection in tools, resources, and prompts."""
You can’t perform that action at this time.
0 commit comments