List tools available. Returns: A Dict of {server_name: tools}
(self)
| 50 | pass |
| 51 | |
| 52 | async def get_tools(self) -> Dict[str, Any]: |
| 53 | """List tools available. |
| 54 | |
| 55 | Returns: |
| 56 | A Dict of {server_name: tools} |
| 57 | """ |
| 58 | tools = await self._get_tools_inner() |
| 59 | output = {} |
| 60 | for server, tool_list in tools.items(): |
| 61 | available_tools = [] |
| 62 | for tool in tool_list: |
| 63 | if self.include_functions: |
| 64 | if tool['tool_name'] in self.include_functions: |
| 65 | available_tools.append(tool) |
| 66 | elif self.exclude_functions: |
| 67 | if tool['tool_name'] not in self.exclude_functions: |
| 68 | available_tools.append(tool) |
| 69 | else: |
| 70 | available_tools.append(tool) |
| 71 | output[server] = available_tools |
| 72 | return output |
| 73 | |
| 74 | @abstractmethod |
| 75 | async def _get_tools_inner(self) -> Dict[str, Any]: |