@@ -442,7 +442,7 @@ def validated_tool() -> Annotated[CallToolResult, ValidationModel]:
442442 """ Return CallToolResult with structured output validation."""
443443 return CallToolResult(
444444 content = [TextContent(type = " text" , text = " Validated response" )],
445- structuredContent = {" status" : " success" , " data" : {" result" : 42 }},
445+ structured_content = {" status" : " success" , " data" : {" result" : 42 }},
446446 _meta = {" internal" : " metadata" },
447447 )
448448
@@ -757,8 +757,8 @@ async def run():
757757 # List available resource templates
758758 templates = await session.list_resource_templates()
759759 print (" Available resource templates:" )
760- for template in templates.resourceTemplates :
761- print (f " - { template.uriTemplate } " )
760+ for template in templates.resource_templates :
761+ print (f " - { template.uri_template } " )
762762
763763 # List available prompts
764764 prompts = await session.list_prompts()
@@ -767,20 +767,20 @@ async def run():
767767 print (f " - { prompt.name} " )
768768
769769 # Complete resource template arguments
770- if templates.resourceTemplates :
771- template = templates.resourceTemplates [0 ]
772- print (f " \n Completing arguments for resource template: { template.uriTemplate } " )
770+ if templates.resource_templates :
771+ template = templates.resource_templates [0 ]
772+ print (f " \n Completing arguments for resource template: { template.uri_template } " )
773773
774774 # Complete without context
775775 result = await session.complete(
776- ref = ResourceTemplateReference(type = " ref/resource" , uri = template.uriTemplate ),
776+ ref = ResourceTemplateReference(type = " ref/resource" , uri = template.uri_template ),
777777 argument = {" name" : " owner" , " value" : " model" },
778778 )
779779 print (f " Completions for 'owner' starting with 'model': { result.completion.values} " )
780780
781781 # Complete with context - repo suggestions based on owner
782782 result = await session.complete(
783- ref = ResourceTemplateReference(type = " ref/resource" , uri = template.uriTemplate ),
783+ ref = ResourceTemplateReference(type = " ref/resource" , uri = template.uri_template ),
784784 argument = {" name" : " repo" , " value" : " " },
785785 context_arguments = {" owner" : " modelcontextprotocol" },
786786 )
@@ -910,7 +910,7 @@ async def connect_service(service_name: str, ctx: Context[ServerSession, None])
910910 mode = " url" ,
911911 message = f " Authorization required to connect to { service_name} " ,
912912 url = f " https:// { service_name} .example.com/oauth/authorize?elicit= { elicitation_id} " ,
913- elicitationId = elicitation_id,
913+ elicitation_id = elicitation_id,
914914 )
915915 ]
916916 )
@@ -1706,7 +1706,7 @@ async def handle_list_tools() -> list[types.Tool]:
17061706 types.Tool(
17071707 name = " query_db" ,
17081708 description = " Query the database" ,
1709- inputSchema = {
1709+ input_schema = {
17101710 " type" : " object" ,
17111711 " properties" : {" query" : {" type" : " string" , " description" : " SQL query to execute" }},
17121712 " required" : [" query" ],
@@ -1867,12 +1867,12 @@ async def list_tools() -> list[types.Tool]:
18671867 types.Tool(
18681868 name = " get_weather" ,
18691869 description = " Get current weather for a city" ,
1870- inputSchema = {
1870+ input_schema = {
18711871 " type" : " object" ,
18721872 " properties" : {" city" : {" type" : " string" , " description" : " City name" }},
18731873 " required" : [" city" ],
18741874 },
1875- outputSchema = {
1875+ output_schema = {
18761876 " type" : " object" ,
18771877 " properties" : {
18781878 " temperature" : {" type" : " number" , " description" : " Temperature in Celsius" },
@@ -1970,7 +1970,7 @@ async def list_tools() -> list[types.Tool]:
19701970 types.Tool(
19711971 name = " advanced_tool" ,
19721972 description = " Tool with full control including _meta field" ,
1973- inputSchema = {
1973+ input_schema = {
19741974 " type" : " object" ,
19751975 " properties" : {" message" : {" type" : " string" }},
19761976 " required" : [" message" ],
@@ -1986,7 +1986,7 @@ async def handle_call_tool(name: str, arguments: dict[str, Any]) -> types.CallTo
19861986 message = str (arguments.get(" message" , " " ))
19871987 return types.CallToolResult(
19881988 content = [types.TextContent(type = " text" , text = f " Processed: { message} " )],
1989- structuredContent = {" result" : " success" , " message" : message},
1989+ structured_content = {" result" : " success" , " message" : message},
19901990 _meta = {" hidden" : " data for client applications only" },
19911991 )
19921992
@@ -2062,7 +2062,7 @@ async def list_resources_paginated(request: types.ListResourcesRequest) -> types
20622062 # Determine next cursor
20632063 next_cursor = str (end) if end < len (ITEMS ) else None
20642064
2065- return types.ListResourcesResult(resources = page_items, nextCursor = next_cursor)
2065+ return types.ListResourcesResult(resources = page_items, next_cursor = next_cursor)
20662066```
20672067
20682068_ Full example: [ examples/snippets/servers/pagination_example.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/main/examples/snippets/servers/pagination_example.py ) _
@@ -2103,8 +2103,8 @@ async def list_all_resources() -> None:
21032103 print (f " Fetched { len (result.resources)} resources " )
21042104
21052105 # Check if there are more pages
2106- if result.nextCursor :
2107- cursor = result.nextCursor
2106+ if result.next_cursor :
2107+ cursor = result.next_cursor
21082108 else :
21092109 break
21102110
@@ -2167,7 +2167,7 @@ async def handle_sampling_message(
21672167 text = " Hello, world! from model" ,
21682168 ),
21692169 model = " gpt-3.5-turbo" ,
2170- stopReason = " endTurn" ,
2170+ stop_reason = " endTurn" ,
21712171 )
21722172
21732173
@@ -2205,7 +2205,7 @@ async def run():
22052205 result_unstructured = result.content[0 ]
22062206 if isinstance (result_unstructured, types.TextContent):
22072207 print (f " Tool result: { result_unstructured.text} " )
2208- result_structured = result.structuredContent
2208+ result_structured = result.structured_content
22092209 print (f " Structured tool result: { result_structured} " )
22102210
22112211
@@ -2306,7 +2306,7 @@ async def display_resources(session: ClientSession):
23062306 print (f " Resource: { display_name} ( { resource.uri} ) " )
23072307
23082308 templates_response = await session.list_resource_templates()
2309- for template in templates_response.resourceTemplates :
2309+ for template in templates_response.resource_templates :
23102310 display_name = get_display_name(template)
23112311 print (f " Resource Template: { display_name} " )
23122312
0 commit comments