mirror of
https://github.com/agentuniverse-ai/agentUniverse.git
synced 2026-02-09 01:59:19 +08:00
[fix] 默认使用@拼接符号,可以配置拼接符
This commit is contained in:
@@ -25,7 +25,8 @@ class MCPToolkit(Toolkit):
|
||||
server_name: str = ''
|
||||
always_refresh: bool = False
|
||||
connection_kwargs: Optional[dict] = None
|
||||
|
||||
# 拼接字符
|
||||
separator: Optional[str] = '@'
|
||||
|
||||
def get_mcp_server_connect_args(self) -> dict:
|
||||
if self.transport == "sse":
|
||||
@@ -64,14 +65,14 @@ class MCPToolkit(Toolkit):
|
||||
def tool_names(self) -> list:
|
||||
if self.always_refresh:
|
||||
self._refresh_tool_info()
|
||||
return [f'{self.name}__{tool_name}' for tool_name in self.include]
|
||||
|
||||
return [f'{self.name}{self.separator}{tool_name}' for tool_name in self.include]
|
||||
|
||||
@property
|
||||
def tool_descriptions(self) -> list:
|
||||
if self.always_refresh:
|
||||
self._refresh_tool_info()
|
||||
tools = [ToolManager().get_instance_obj(f'{self.name}@{tool_name}', new_instance=False) for tool_name in self.include]
|
||||
tools = [ToolManager().get_instance_obj(f'{self.name}{self.separator}{tool_name}', new_instance=False) for
|
||||
tool_name in self.include]
|
||||
tool_descriptions = [f'tool name:{tool.name}\ntool description:{tool.description}\n' for tool in tools]
|
||||
return tool_descriptions
|
||||
|
||||
@@ -79,10 +80,9 @@ class MCPToolkit(Toolkit):
|
||||
def func_call_list(self) -> list:
|
||||
raise NotImplementedError
|
||||
|
||||
|
||||
async def get_all_tools(self):
|
||||
async with MCPTempClient(
|
||||
self.get_mcp_server_connect_args()
|
||||
self.get_mcp_server_connect_args()
|
||||
) as client:
|
||||
tools_list = await client.session.list_tools()
|
||||
tools = tools_list.tools
|
||||
@@ -92,7 +92,7 @@ class MCPToolkit(Toolkit):
|
||||
for tool in tools:
|
||||
if tool.name not in self.include:
|
||||
continue
|
||||
tool_name = f'{self.name}__{tool.name}'
|
||||
tool_name = f'{self.name}{self.separator}{tool.name}'
|
||||
tool_instance = MCPTool(
|
||||
name=tool_name,
|
||||
description=f'{tool.description}\n{str(tool.inputSchema)}',
|
||||
@@ -115,5 +115,3 @@ class MCPToolkit(Toolkit):
|
||||
coro = self.get_all_tools()
|
||||
run_async_from_sync(coro, 60)
|
||||
return self
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user