Skip to content

Commit 12e77aa

Browse files
committed
Drop unused overloads on Tool.run
ToolManager.call_tool forwards convert_result as a bool, never a literal, so the Literal-keyed overloads never resolved. The overloads that matter are on ToolManager.call_tool, which MCPServer.call_tool calls with convert_result=True.
1 parent e98fca2 commit 12e77aa

1 file changed

Lines changed: 2 additions & 13 deletions

File tree

  • src/mcp/server/mcpserver/tools

src/mcp/server/mcpserver/tools/base.py

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22

33
from collections.abc import Callable
44
from functools import cached_property
5-
from typing import TYPE_CHECKING, Any, Literal, overload
5+
from typing import TYPE_CHECKING, Any
66

77
from pydantic import BaseModel, Field
88

99
from mcp.server.mcpserver.exceptions import ToolError
1010
from mcp.server.mcpserver.utilities.context_injection import find_context_parameter
11-
from mcp.server.mcpserver.utilities.func_metadata import FuncMetadata, ToolResult, func_metadata
11+
from mcp.server.mcpserver.utilities.func_metadata import FuncMetadata, func_metadata
1212
from mcp.shared._callable_inspection import is_async_callable
1313
from mcp.shared.exceptions import UrlElicitationRequiredError
1414
from mcp.shared.tool_name_validation import validate_and_warn_tool_name
@@ -88,17 +88,6 @@ def from_function(
8888
meta=meta,
8989
)
9090

91-
@overload
92-
async def run(
93-
self, arguments: dict[str, Any], context: Context[LifespanContextT, RequestT], convert_result: Literal[True]
94-
) -> ToolResult: ...
95-
@overload
96-
async def run(
97-
self,
98-
arguments: dict[str, Any],
99-
context: Context[LifespanContextT, RequestT],
100-
convert_result: Literal[False] = False,
101-
) -> Any: ...
10291
async def run(
10392
self,
10493
arguments: dict[str, Any],

0 commit comments

Comments
 (0)