Skip to content

Commit 6147c27

Browse files
add client kwargs to proxy clients and meta to proxy tool calls (#2520)
* add client kwargs to proxy clients and meta to proxy tool calls * Update src/fastmcp/client/transports.py Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Update src/fastmcp/server/proxy.py Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Update src/fastmcp/utilities/mcp_config.py Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * update formats and fix lint errors * remove client callback passthrough --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
1 parent 0cf12fa commit 6147c27

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

src/fastmcp/server/proxy.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -287,9 +287,16 @@ async def run(
287287
) -> ToolResult:
288288
"""Executes the tool by making a call through the client."""
289289
async with self._client:
290+
context = get_context()
291+
# try to get request context meta
292+
meta = (
293+
dict(context.request_context.meta)
294+
if hasattr(context, "request_context")
295+
and hasattr(context.request_context, "meta")
296+
else None
297+
)
290298
result = await self._client.call_tool_mcp(
291-
name=self.name,
292-
arguments=arguments,
299+
name=self.name, arguments=arguments, meta=meta
293300
)
294301
if result.isError:
295302
raise ToolError(cast(mcp.types.TextContent, result.content[0]).text)

src/fastmcp/utilities/mcp_config.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,7 @@ def mcp_server_type_to_servers_and_transports(
4343

4444
if isinstance(mcp_server, TransformingRemoteMCPServer | TransformingStdioMCPServer):
4545
server, transport = mcp_server._to_server_and_underlying_transport(
46-
server_name=server_name,
47-
client_name=client_name,
46+
server_name=server_name, client_name=client_name
4847
)
4948
else:
5049
transport = mcp_server.to_transport()

0 commit comments

Comments
 (0)