feat: enhance CrewBase MCP tools support to allow selecting multiple tools per agent (#3065)
Some checks failed
Notify Downstream / notify-downstream (push) Has been cancelled

* feat: enhance CrewBase MCP tools support to allow selecting multiple tools per agent

* docs: clarify how to access MCP tools

* build: upgrade crewai-tools
This commit is contained in:
Lucas Gomide
2025-06-25 15:59:55 -03:00
committed by GitHub
parent a50fae3a4b
commit 4d1aabf620
7 changed files with 284 additions and 15 deletions

View File

@@ -86,18 +86,17 @@ def CrewBase(cls: T) -> T:
import types
return types.MethodType(_close_mcp_server, self)
def get_mcp_tools(self) -> List[BaseTool]:
def get_mcp_tools(self, *tool_names: list[str]) -> List[BaseTool]:
if not self.mcp_server_params:
return []
from crewai_tools import MCPServerAdapter
adapter = getattr(self, '_mcp_server_adapter', None)
if adapter and isinstance(adapter, MCPServerAdapter):
return adapter.tools
if not adapter:
self._mcp_server_adapter = MCPServerAdapter(self.mcp_server_params)
self._mcp_server_adapter = MCPServerAdapter(self.mcp_server_params)
return self._mcp_server_adapter.tools
return self._mcp_server_adapter.tools.filter_by_names(tool_names or None)
def load_configurations(self):