(ctx: ServerRequestContext, params: types.CallToolRequestParams)
| 40 | return types.ListToolsResult(tools=[types.Tool(name="download", input_schema={"type": "object"})]) |
| 41 | |
| 42 | async def call_tool(ctx: ServerRequestContext, params: types.CallToolRequestParams) -> CallToolResult: |
| 43 | assert params.name == "download" |
| 44 | await ctx.session.report_progress(1.0, total=3.0, message="first chunk") |
| 45 | await ctx.session.report_progress(2.0, total=3.0, message="second chunk") |
| 46 | await ctx.session.report_progress(3.0, total=3.0, message="done") |
| 47 | return CallToolResult(content=[TextContent(text="downloaded")]) |
| 48 | |
| 49 | server = Server("downloader", on_list_tools=list_tools, on_call_tool=call_tool) |
| 50 |
nothing calls this directly
no test coverage detected