MCPcopy Index your code
hub / github.com/modelcontextprotocol/python-sdk / call_tool

Function call_tool

tests/interaction/lowlevel/test_logging.py:65–73  ·  view source on GitHub ↗
(ctx: ServerRequestContext, params: types.CallToolRequestParams)

Source from the content-addressed store, hash-verified

63 return types.ListToolsResult(tools=[types.Tool(name="chatty", input_schema={"type": "object"})])
64
65 async def call_tool(ctx: ServerRequestContext, params: types.CallToolRequestParams) -> CallToolResult:
66 assert params.name == "chatty"
67 await ctx.session.send_log_message( # pyright: ignore[reportDeprecated]
68 level="info", data="starting up", logger="app.lifecycle", related_request_id=ctx.request_id
69 )
70 await ctx.session.send_log_message( # pyright: ignore[reportDeprecated]
71 level="error", data={"code": 502, "retryable": True}, related_request_id=ctx.request_id
72 )
73 return CallToolResult(content=[TextContent(text="done")])
74
75 async def set_logging_level(ctx: ServerRequestContext, params: types.SetLevelRequestParams) -> EmptyResult:
76 """Registered so the logging capability is advertised; the client never sets a level."""

Callers

nothing calls this directly

Calls 3

CallToolResultClass · 0.90
TextContentClass · 0.90
send_log_messageMethod · 0.80

Tested by

no test coverage detected