@@ -122,32 +122,33 @@ async def get_tools(
122122
123123 # MCP Tool Servers
124124 for server in await Config .get ('tool_server.connections' , []):
125- if server .get ('type' , 'openapi' ) == 'mcp' and server .get ('config' , {}).get ('enable' ):
126- server_id = server .get ('info' , {}).get ('id' )
125+ if server .get ('type' , 'openapi' ) == 'mcp' and (server .get ('config' ) or {}).get ('enable' ):
126+ info = server .get ('info' ) or {}
127+ server_id = info .get ('id' )
127128 auth_type = server .get ('auth_type' , 'none' )
128129
129130 session_token = None
130- if auth_type in ('oauth_2.1' , 'oauth_2.1_static' ):
131+ if auth_type in ('oauth_2.1' , 'oauth_2.1_static' ) and server_id :
131132 splits = server_id .split (':' )
132133 server_id = splits [- 1 ] if len (splits ) > 1 else server_id
133134
134135 session_token = await request .app .state .oauth_client_manager .get_oauth_token (
135136 user .id , f'mcp:{ server_id } '
136137 )
137138
138- server_config = server .get ('config' , {})
139+ server_config = server .get ('config' ) or {}
139140
140- tool_id = f'server:mcp:{ server . get ( " info" , {}) .get ("id" )} '
141+ tool_id = f'server:mcp:{ info .get ("id" )} '
141142 server_access_grants [tool_id ] = server_config .get ('access_grants' , [])
142143
143144 tools .append (
144145 ToolUserResponse (
145146 ** {
146147 'id' : tool_id ,
147148 'user_id' : tool_id ,
148- 'name' : server . get ( ' info' , {}) .get ('name' , 'MCP Tool Server' ),
149+ 'name' : info .get ('name' , 'MCP Tool Server' ),
149150 'meta' : {
150- 'description' : server . get ( ' info' , {}) .get ('description' , '' ),
151+ 'description' : info .get ('description' , '' ),
151152 },
152153 'updated_at' : int (time .time ()),
153154 'created_at' : int (time .time ()),
0 commit comments