MCPcopy Create free account
hub / github.com/modelscope/ms-agent / connect

Method connect

ms_agent/tools/mcp_client.py:248–271  ·  view source on GitHub ↗
(self, timeout: int = CONNECTION_TIMEOUT)

Source from the content-addressed store, hash-verified

246 return server_name
247
248 async def connect(self, timeout: int = CONNECTION_TIMEOUT):
249 assert self.mcp_config, 'MCP config is required'
250 envs = Env.load_env()
251 mcp_config = self.mcp_config['mcpServers']
252 for name, server in mcp_config.items():
253 try:
254 env_dict = server.pop('env', {})
255 env_dict = {
256 key: value if value else envs.get(key, '')
257 for key, value in env_dict.items()
258 }
259 if 'exclude' in server:
260 self.exclude_functions[name] = server.pop('exclude')
261 if 'include' in server:
262 self.include_functions[name] = server.pop('include')
263 assert (not self.include_functions.get(name)) or (
264 not self.exclude_functions.get(name)
265 ), 'Set either `include` or `exclude` in tools config.'
266 timeout = server.pop('timeout', timeout)
267 await self.connect_to_server(
268 server_name=name, env=env_dict, timeout=timeout, **server)
269 except Exception as e:
270 new_eg = enhance_error(e, f'Connect `{name}` failed, details:')
271 raise new_eg from e
272
273 async def add_mcp_config(self, mcp_config: Dict[str, Dict[str, Any]]):
274 if mcp_config is None:

Callers 3

mainMethod · 0.95
mainMethod · 0.95
__aenter__Method · 0.95

Calls 4

connect_to_serverMethod · 0.95
enhance_errorFunction · 0.90
load_envMethod · 0.80
getMethod · 0.80

Tested by 2

mainMethod · 0.76
mainMethod · 0.76