From 7f703dcc98cf556a92c21f7697b8ae09c2e46c33 Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Mon, 21 Sep 2026 08:31:27 -0400 Subject: [PATCH] refac --- backend/open_webui/routers/tools.py | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/backend/open_webui/routers/tools.py b/backend/open_webui/routers/tools.py index a814eb30f3..12c3771420 100644 --- a/backend/open_webui/routers/tools.py +++ b/backend/open_webui/routers/tools.py @@ -27,7 +27,7 @@ from open_webui.models.tools import ( ) from open_webui.utils.access_control import ( filter_allowed_access_grants, - has_access, + has_connection_access, has_permission, ) from open_webui.utils.auth import get_admin_user, get_verified_user @@ -102,7 +102,7 @@ async def get_tools( ) # OpenAPI Tool Servers - server_access_grants = {} + server_connections = {} for server in await get_tool_servers(request): server_idx = server.get('idx', 0) connections = await Config.get('tool_server.connections', []) @@ -113,10 +113,8 @@ async def get_tools( ) continue connection = connections[server_idx] - server_config = connection.get('config', {}) - server_id = f'server:{server.get("id")}' - server_access_grants[server_id] = server_config.get('access_grants', []) + server_connections[server_id] = connection tools.append( ToolUserResponse( @@ -149,10 +147,8 @@ async def get_tools( user.id, f'mcp:{server_id}' ) - server_config = server.get('config') or {} - tool_id = f'server:mcp:{info.get("id")}' - server_access_grants[tool_id] = server_config.get('access_grants', []) + server_connections[tool_id] = server tools.append( ToolUserResponse( @@ -181,12 +177,10 @@ async def get_tools( tool for tool in tools if not str(tool.id).startswith('server:') - or await has_access( - user.id, - 'read', - server_access_grants.get(str(tool.id), []), + or await has_connection_access( + user, + server_connections[str(tool.id)], user_group_ids, - db=db, ) ]