@@ -67,7 +67,7 @@ def query_db(ctx: Context[ServerSession, AppContext]) -> str:
6767 return db.query()
6868```
6969
70- _ Full example: [ examples/snippets/servers/lifespan_example.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/main /examples/snippets/servers/lifespan_example.py ) _
70+ _ Full example: [ examples/snippets/servers/lifespan_example.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/v1.x /examples/snippets/servers/lifespan_example.py ) _
7171<!-- /snippet-source -->
7272
7373### Resources
@@ -98,7 +98,7 @@ def get_settings() -> str:
9898}"""
9999```
100100
101- _ Full example: [ examples/snippets/servers/basic_resource.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/main /examples/snippets/servers/basic_resource.py ) _
101+ _ Full example: [ examples/snippets/servers/basic_resource.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/v1.x /examples/snippets/servers/basic_resource.py ) _
102102<!-- /snippet-source -->
103103
104104#### Resource Templates and Template Reading
@@ -211,7 +211,7 @@ def get_weather(city: str, unit: str = "celsius") -> str:
211211 return f " Weather in { city} : 22degrees { unit[0 ].upper()} "
212212```
213213
214- _ Full example: [ examples/snippets/servers/basic_tool.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/main /examples/snippets/servers/basic_tool.py ) _
214+ _ Full example: [ examples/snippets/servers/basic_tool.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/v1.x /examples/snippets/servers/basic_tool.py ) _
215215<!-- /snippet-source -->
216216
217217Tools can optionally receive a Context object by including a parameter with the ` Context ` type annotation. This context is automatically injected by the FastMCP framework and provides access to MCP capabilities:
@@ -241,7 +241,7 @@ async def long_running_task(task_name: str, ctx: Context[ServerSession, None], s
241241 return f " Task ' { task_name} ' completed "
242242```
243243
244- _ Full example: [ examples/snippets/servers/tool_progress.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/main /examples/snippets/servers/tool_progress.py ) _
244+ _ Full example: [ examples/snippets/servers/tool_progress.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/v1.x /examples/snippets/servers/tool_progress.py ) _
245245<!-- /snippet-source -->
246246
247247#### Structured Output
@@ -326,7 +326,7 @@ def empty_result_tool() -> CallToolResult:
326326 return CallToolResult(content = [])
327327```
328328
329- _ Full example: [ examples/snippets/servers/direct_call_tool_result.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/main /examples/snippets/servers/direct_call_tool_result.py ) _
329+ _ Full example: [ examples/snippets/servers/direct_call_tool_result.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/v1.x /examples/snippets/servers/direct_call_tool_result.py ) _
330330<!-- /snippet-source -->
331331
332332** Important:** ` CallToolResult ` must always be returned (no ` Optional ` or ` Union ` ). For empty results, use ` CallToolResult(content=[]) ` . For optional simple types, use ` str | None ` without ` CallToolResult ` .
@@ -432,7 +432,7 @@ def get_temperature(city: str) -> float:
432432 # Returns: {"result": 22.5}
433433```
434434
435- _ Full example: [ examples/snippets/servers/structured_output.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/main /examples/snippets/servers/structured_output.py ) _
435+ _ Full example: [ examples/snippets/servers/structured_output.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/v1.x /examples/snippets/servers/structured_output.py ) _
436436<!-- /snippet-source -->
437437
438438### Prompts
@@ -461,7 +461,7 @@ def debug_error(error: str) -> list[base.Message]:
461461 ]
462462```
463463
464- _ Full example: [ examples/snippets/servers/basic_prompt.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/main /examples/snippets/servers/basic_prompt.py ) _
464+ _ Full example: [ examples/snippets/servers/basic_prompt.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/v1.x /examples/snippets/servers/basic_prompt.py ) _
465465<!-- /snippet-source -->
466466
467467#### Prompts with Embedded Resources
@@ -576,7 +576,7 @@ def my_resource():
576576 return " content"
577577```
578578
579- _ Full example: [ examples/fastmcp/icons_demo.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/main /examples/fastmcp/icons_demo.py ) _
579+ _ Full example: [ examples/fastmcp/icons_demo.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/v1.x /examples/fastmcp/icons_demo.py ) _
580580
581581### Images
582582
@@ -601,7 +601,7 @@ def create_thumbnail(image_path: str) -> Image:
601601 return Image(data = img.tobytes(), format = " png" )
602602```
603603
604- _ Full example: [ examples/snippets/servers/images.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/main /examples/snippets/servers/images.py ) _
604+ _ Full example: [ examples/snippets/servers/images.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/v1.x /examples/snippets/servers/images.py ) _
605605<!-- /snippet-source -->
606606
607607### Audio
@@ -764,7 +764,7 @@ async def long_running_task(task_name: str, ctx: Context[ServerSession, None], s
764764 return f " Task ' { task_name} ' completed "
765765```
766766
767- _ Full example: [ examples/snippets/servers/tool_progress.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/main /examples/snippets/servers/tool_progress.py ) _
767+ _ Full example: [ examples/snippets/servers/tool_progress.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/v1.x /examples/snippets/servers/tool_progress.py ) _
768768<!-- /snippet-source -->
769769
770770### Completions
@@ -855,7 +855,7 @@ if __name__ == "__main__":
855855 main()
856856```
857857
858- _ Full example: [ examples/snippets/clients/completion_client.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/main /examples/snippets/clients/completion_client.py ) _
858+ _ Full example: [ examples/snippets/clients/completion_client.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/v1.x /examples/snippets/clients/completion_client.py ) _
859859<!-- /snippet-source -->
860860### Elicitation
861861
@@ -964,7 +964,7 @@ async def connect_service(service_name: str, ctx: Context[ServerSession, None])
964964 )
965965```
966966
967- _ Full example: [ examples/snippets/servers/elicitation.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/main /examples/snippets/servers/elicitation.py ) _
967+ _ Full example: [ examples/snippets/servers/elicitation.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/v1.x /examples/snippets/servers/elicitation.py ) _
968968<!-- /snippet-source -->
969969
970970Elicitation schemas support default values for all field types. Default values are automatically included in the JSON schema sent to clients, allowing them to pre-populate forms.
@@ -1065,7 +1065,7 @@ async def generate_poem(topic: str, ctx: Context[ServerSession, None]) -> str:
10651065 return str (result.content)
10661066```
10671067
1068- _ Full example: [ examples/snippets/servers/sampling.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/main /examples/snippets/servers/sampling.py ) _
1068+ _ Full example: [ examples/snippets/servers/sampling.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/v1.x /examples/snippets/servers/sampling.py ) _
10691069<!-- /snippet-source -->
10701070
10711071### Logging and Notifications
@@ -1095,7 +1095,7 @@ async def process_data(data: str, ctx: Context[ServerSession, None]) -> str:
10951095 return f " Processed: { data} "
10961096```
10971097
1098- _ Full example: [ examples/snippets/servers/notifications.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/main /examples/snippets/servers/notifications.py ) _
1098+ _ Full example: [ examples/snippets/servers/notifications.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/v1.x /examples/snippets/servers/notifications.py ) _
10991099<!-- /snippet-source -->
11001100
11011101#### Setting the Logging Level
@@ -1217,7 +1217,7 @@ def query_with_config(query: str, ctx: Context) -> str:
12171217 return str (result)
12181218```
12191219
1220- _ Full lifespan example: [ examples/snippets/servers/lifespan_example.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/main /examples/snippets/servers/lifespan_example.py ) _
1220+ _ Full lifespan example: [ examples/snippets/servers/lifespan_example.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/v1.x /examples/snippets/servers/lifespan_example.py ) _
12211221
12221222## Running Your Server
12231223
@@ -1285,7 +1285,7 @@ if __name__ == "__main__":
12851285 main()
12861286```
12871287
1288- _ Full example: [ examples/snippets/servers/direct_execution.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/main /examples/snippets/servers/direct_execution.py ) _
1288+ _ Full example: [ examples/snippets/servers/direct_execution.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/v1.x /examples/snippets/servers/direct_execution.py ) _
12891289<!-- /snippet-source -->
12901290
12911291Run it with:
@@ -1334,7 +1334,7 @@ if __name__ == "__main__":
13341334 mcp.run(transport = " streamable-http" )
13351335```
13361336
1337- _ Full example: [ examples/snippets/servers/streamable_config.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/main /examples/snippets/servers/streamable_config.py ) _
1337+ _ Full example: [ examples/snippets/servers/streamable_config.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/v1.x /examples/snippets/servers/streamable_config.py ) _
13381338<!-- /snippet-source -->
13391339
13401340You can mount multiple FastMCP servers in a Starlette application:
@@ -1397,13 +1397,13 @@ app = Starlette(
13971397# math_mcp.settings.streamable_http_path = "/"
13981398```
13991399
1400- _ Full example: [ examples/snippets/servers/streamable_starlette_mount.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/main /examples/snippets/servers/streamable_starlette_mount.py ) _
1400+ _ Full example: [ examples/snippets/servers/streamable_starlette_mount.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/v1.x /examples/snippets/servers/streamable_starlette_mount.py ) _
14011401<!-- /snippet-source -->
14021402
14031403For low level server with Streamable HTTP implementations, see:
14041404
1405- - Stateful server: [ ` examples/servers/simple-streamablehttp/ ` ] ( examples/servers/simple-streamablehttp/ )
1406- - Stateless server: [ ` examples/servers/simple-streamablehttp-stateless/ ` ] ( examples/servers/simple-streamablehttp-stateless/ )
1405+ - Stateful server: [ ` examples/servers/simple-streamablehttp/ ` ] ( https://github.com/modelcontextprotocol/python-sdk/tree/v1.x/ examples/servers/simple-streamablehttp)
1406+ - Stateless server: [ ` examples/servers/simple-streamablehttp-stateless/ ` ] ( https://github.com/modelcontextprotocol/python-sdk/tree/v1.x/ examples/servers/simple-streamablehttp-stateless)
14071407
14081408The streamable HTTP transport supports:
14091409
@@ -1492,7 +1492,7 @@ app = Starlette(
14921492)
14931493```
14941494
1495- _ Full example: [ examples/snippets/servers/streamable_http_basic_mounting.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/main /examples/snippets/servers/streamable_http_basic_mounting.py ) _
1495+ _ Full example: [ examples/snippets/servers/streamable_http_basic_mounting.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/v1.x /examples/snippets/servers/streamable_http_basic_mounting.py ) _
14961496<!-- /snippet-source -->
14971497
14981498##### Host-based routing
@@ -1539,7 +1539,7 @@ app = Starlette(
15391539)
15401540```
15411541
1542- _ Full example: [ examples/snippets/servers/streamable_http_host_mounting.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/main /examples/snippets/servers/streamable_http_host_mounting.py ) _
1542+ _ Full example: [ examples/snippets/servers/streamable_http_host_mounting.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/v1.x /examples/snippets/servers/streamable_http_host_mounting.py ) _
15431543<!-- /snippet-source -->
15441544
15451545##### Multiple servers with path configuration
@@ -1602,7 +1602,7 @@ app = Starlette(
16021602)
16031603```
16041604
1605- _ Full example: [ examples/snippets/servers/streamable_http_multiple_servers.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/main /examples/snippets/servers/streamable_http_multiple_servers.py ) _
1605+ _ Full example: [ examples/snippets/servers/streamable_http_multiple_servers.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/v1.x /examples/snippets/servers/streamable_http_multiple_servers.py ) _
16061606<!-- /snippet-source -->
16071607
16081608##### Path configuration at initialization
@@ -1644,7 +1644,7 @@ app = Starlette(
16441644)
16451645```
16461646
1647- _ Full example: [ examples/snippets/servers/streamable_http_path_config.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/main /examples/snippets/servers/streamable_http_path_config.py ) _
1647+ _ Full example: [ examples/snippets/servers/streamable_http_path_config.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/v1.x /examples/snippets/servers/streamable_http_path_config.py ) _
16481648<!-- /snippet-source -->
16491649
16501650#### SSE servers
0 commit comments