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

Function call_tool

tests/interaction/lowlevel/test_progress.py:42–47  ·  view source on GitHub ↗
(ctx: ServerRequestContext, params: types.CallToolRequestParams)

Source from the content-addressed store, hash-verified

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

Callers

nothing calls this directly

Calls 5

CallToolResultClass · 0.90
TextContentClass · 0.90
waitMethod · 0.80
report_progressMethod · 0.45

Tested by

no test coverage detected