@@ -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#### Binary Resources
@@ -179,7 +179,7 @@ def get_weather(city: str, unit: str = "celsius") -> str:
179179 return f " Weather in { city} : 22degrees { unit[0 ].upper()} "
180180```
181181
182- _ Full example: [ examples/snippets/servers/basic_tool.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/main /examples/snippets/servers/basic_tool.py ) _
182+ _ Full example: [ examples/snippets/servers/basic_tool.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/v1.x /examples/snippets/servers/basic_tool.py ) _
183183<!-- /snippet-source -->
184184
185185Tools 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:
@@ -209,7 +209,7 @@ async def long_running_task(task_name: str, ctx: Context[ServerSession, None], s
209209 return f " Task ' { task_name} ' completed "
210210```
211211
212- _ Full example: [ examples/snippets/servers/tool_progress.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/main /examples/snippets/servers/tool_progress.py ) _
212+ _ Full example: [ examples/snippets/servers/tool_progress.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/v1.x /examples/snippets/servers/tool_progress.py ) _
213213<!-- /snippet-source -->
214214
215215#### Structured Output
@@ -294,7 +294,7 @@ def empty_result_tool() -> CallToolResult:
294294 return CallToolResult(content = [])
295295```
296296
297- _ 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 ) _
297+ _ 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 ) _
298298<!-- /snippet-source -->
299299
300300** 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 ` .
@@ -400,7 +400,7 @@ def get_temperature(city: str) -> float:
400400 # Returns: {"result": 22.5}
401401```
402402
403- _ Full example: [ examples/snippets/servers/structured_output.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/main /examples/snippets/servers/structured_output.py ) _
403+ _ Full example: [ examples/snippets/servers/structured_output.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/v1.x /examples/snippets/servers/structured_output.py ) _
404404<!-- /snippet-source -->
405405
406406### Prompts
@@ -429,7 +429,7 @@ def debug_error(error: str) -> list[base.Message]:
429429 ]
430430```
431431
432- _ Full example: [ examples/snippets/servers/basic_prompt.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/main /examples/snippets/servers/basic_prompt.py ) _
432+ _ Full example: [ examples/snippets/servers/basic_prompt.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/v1.x /examples/snippets/servers/basic_prompt.py ) _
433433<!-- /snippet-source -->
434434
435435#### Prompts with Embedded Resources
@@ -544,7 +544,7 @@ def my_resource():
544544 return " content"
545545```
546546
547- _ Full example: [ examples/fastmcp/icons_demo.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/main /examples/fastmcp/icons_demo.py ) _
547+ _ Full example: [ examples/fastmcp/icons_demo.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/v1.x /examples/fastmcp/icons_demo.py ) _
548548
549549### Images
550550
@@ -569,7 +569,7 @@ def create_thumbnail(image_path: str) -> Image:
569569 return Image(data = img.tobytes(), format = " png" )
570570```
571571
572- _ Full example: [ examples/snippets/servers/images.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/main /examples/snippets/servers/images.py ) _
572+ _ Full example: [ examples/snippets/servers/images.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/v1.x /examples/snippets/servers/images.py ) _
573573<!-- /snippet-source -->
574574
575575### Audio
@@ -683,7 +683,7 @@ async def long_running_task(task_name: str, ctx: Context[ServerSession, None], s
683683 return f " Task ' { task_name} ' completed "
684684```
685685
686- _ Full example: [ examples/snippets/servers/tool_progress.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/main /examples/snippets/servers/tool_progress.py ) _
686+ _ Full example: [ examples/snippets/servers/tool_progress.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/v1.x /examples/snippets/servers/tool_progress.py ) _
687687<!-- /snippet-source -->
688688
689689### Completions
@@ -774,7 +774,7 @@ if __name__ == "__main__":
774774 main()
775775```
776776
777- _ Full example: [ examples/snippets/clients/completion_client.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/main /examples/snippets/clients/completion_client.py ) _
777+ _ Full example: [ examples/snippets/clients/completion_client.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/v1.x /examples/snippets/clients/completion_client.py ) _
778778<!-- /snippet-source -->
779779### Elicitation
780780
@@ -883,7 +883,7 @@ async def connect_service(service_name: str, ctx: Context[ServerSession, None])
883883 )
884884```
885885
886- _ Full example: [ examples/snippets/servers/elicitation.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/main /examples/snippets/servers/elicitation.py ) _
886+ _ Full example: [ examples/snippets/servers/elicitation.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/v1.x /examples/snippets/servers/elicitation.py ) _
887887<!-- /snippet-source -->
888888
889889Elicitation 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.
@@ -984,7 +984,7 @@ async def generate_poem(topic: str, ctx: Context[ServerSession, None]) -> str:
984984 return str (result.content)
985985```
986986
987- _ Full example: [ examples/snippets/servers/sampling.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/main /examples/snippets/servers/sampling.py ) _
987+ _ Full example: [ examples/snippets/servers/sampling.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/v1.x /examples/snippets/servers/sampling.py ) _
988988<!-- /snippet-source -->
989989
990990### Logging and Notifications
@@ -1014,7 +1014,7 @@ async def process_data(data: str, ctx: Context[ServerSession, None]) -> str:
10141014 return f " Processed: { data} "
10151015```
10161016
1017- _ Full example: [ examples/snippets/servers/notifications.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/main /examples/snippets/servers/notifications.py ) _
1017+ _ Full example: [ examples/snippets/servers/notifications.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/v1.x /examples/snippets/servers/notifications.py ) _
10181018<!-- /snippet-source -->
10191019
10201020#### Setting the Logging Level
@@ -1136,7 +1136,7 @@ def query_with_config(query: str, ctx: Context) -> str:
11361136 return str (result)
11371137```
11381138
1139- _ Full lifespan example: [ examples/snippets/servers/lifespan_example.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/main /examples/snippets/servers/lifespan_example.py ) _
1139+ _ Full lifespan example: [ examples/snippets/servers/lifespan_example.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/v1.x /examples/snippets/servers/lifespan_example.py ) _
11401140
11411141## Running Your Server
11421142
@@ -1204,7 +1204,7 @@ if __name__ == "__main__":
12041204 main()
12051205```
12061206
1207- _ Full example: [ examples/snippets/servers/direct_execution.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/main /examples/snippets/servers/direct_execution.py ) _
1207+ _ Full example: [ examples/snippets/servers/direct_execution.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/v1.x /examples/snippets/servers/direct_execution.py ) _
12081208<!-- /snippet-source -->
12091209
12101210Run it with:
@@ -1253,7 +1253,7 @@ if __name__ == "__main__":
12531253 mcp.run(transport = " streamable-http" )
12541254```
12551255
1256- _ Full example: [ examples/snippets/servers/streamable_config.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/main /examples/snippets/servers/streamable_config.py ) _
1256+ _ Full example: [ examples/snippets/servers/streamable_config.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/v1.x /examples/snippets/servers/streamable_config.py ) _
12571257<!-- /snippet-source -->
12581258
12591259You can mount multiple FastMCP servers in a Starlette application:
@@ -1316,13 +1316,13 @@ app = Starlette(
13161316# math_mcp.settings.streamable_http_path = "/"
13171317```
13181318
1319- _ Full example: [ examples/snippets/servers/streamable_starlette_mount.py] ( https://github.com/modelcontextprotocol/python-sdk/blob/main /examples/snippets/servers/streamable_starlette_mount.py ) _
1319+ _ 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 ) _
13201320<!-- /snippet-source -->
13211321
13221322For low level server with Streamable HTTP implementations, see:
13231323
1324- - Stateful server: [ ` examples/servers/simple-streamablehttp/ ` ] ( examples/servers/simple-streamablehttp/ )
1325- - Stateless server: [ ` examples/servers/simple-streamablehttp-stateless/ ` ] ( examples/servers/simple-streamablehttp-stateless/ )
1324+ - Stateful server: [ ` examples/servers/simple-streamablehttp/ ` ] ( https://github.com/modelcontextprotocol/python-sdk/tree/v1.x/ examples/servers/simple-streamablehttp)
1325+ - Stateless server: [ ` examples/servers/simple-streamablehttp-stateless/ ` ] ( https://github.com/modelcontextprotocol/python-sdk/tree/v1.x/ examples/servers/simple-streamablehttp-stateless)
13261326
13271327The streamable HTTP transport supports:
13281328
@@ -1411,7 +1411,7 @@ app = Starlette(
14111411)
14121412```
14131413
1414- _ 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 ) _
1414+ _ 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 ) _
14151415<!-- /snippet-source -->
14161416
14171417##### Host-based routing
@@ -1458,7 +1458,7 @@ app = Starlette(
14581458)
14591459```
14601460
1461- _ 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 ) _
1461+ _ 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 ) _
14621462<!-- /snippet-source -->
14631463
14641464##### Multiple servers with path configuration
@@ -1521,7 +1521,7 @@ app = Starlette(
15211521)
15221522```
15231523
1524- _ 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 ) _
1524+ _ 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 ) _
15251525<!-- /snippet-source -->
15261526
15271527##### Path configuration at initialization
@@ -1563,7 +1563,7 @@ app = Starlette(
15631563)
15641564```
15651565
1566- _ 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 ) _
1566+ _ 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 ) _
15671567<!-- /snippet-source -->
15681568
15691569#### SSE servers
0 commit comments