(ctx: ServerRequestContext, params: types.CallToolRequestParams)
| 49 | return types.ListToolsResult(tools=[types.Tool(name="ask_model", input_schema={"type": "object"})]) |
| 50 | |
| 51 | async def call_tool(ctx: ServerRequestContext, params: types.CallToolRequestParams) -> CallToolResult: |
| 52 | assert params.name == "ask_model" |
| 53 | result = await ctx.session.create_message( # pyright: ignore[reportDeprecated] |
| 54 | messages=[SamplingMessage(role="user", content=TextContent(text="Say hello."))], |
| 55 | max_tokens=100, |
| 56 | ) |
| 57 | assert isinstance(result.content, TextContent) |
| 58 | return CallToolResult(content=[TextContent(text=f"{result.model}/{result.stop_reason}: {result.content.text}")]) |
| 59 | |
| 60 | server = Server("sampler", on_list_tools=list_tools, on_call_tool=call_tool) |
| 61 |
nothing calls this directly
no test coverage detected