Skip to content

Commit 9558eb9

Browse files
committed
request context as optional param
1 parent e1ac07f commit 9558eb9

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

src/mcp/server/fastmcp/server.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -326,10 +326,18 @@ def get_context(self) -> Context[ServerSession, LifespanResultT, Request]:
326326
request_context = None
327327
return Context(request_context=request_context, fastmcp=self)
328328

329-
async def call_tool(self, name: str, arguments: dict[str, Any]) -> Sequence[ContentBlock] | dict[str, Any]:
329+
async def call_tool(
330+
self, name: str, arguments: dict[str, Any],
331+
request_context: RequestContext | None = None
332+
) -> Sequence[ContentBlock] | dict[str, Any]:
330333
"""Call a tool by name with arguments."""
331-
context = self.get_context()
332-
return await self._tool_manager.call_tool(name, arguments, context=context, convert_result=True)
334+
if request_context:
335+
context = Context(request_context=request_context, fastmcp=self)
336+
else:
337+
context = self.get_context()
338+
return await self._tool_manager.call_tool(name, arguments,
339+
context=context,
340+
convert_result=True)
333341

334342
async def list_resources(self) -> list[MCPResource]:
335343
"""List all available resources."""

0 commit comments

Comments
 (0)