crewai-tools
라이브러리를 사용하여 MCP 서버를 CrewAI agent에 도구로 통합하는 방법을 알아봅니다.
crewai-tools
라이브러리는 CrewAI의 기능을 확장하여, 이러한 MCP 서버에서 제공하는 툴을 에이전트에 원활하게 통합할 수 있도록 해줍니다.crewai-tools
와 함께 MCP를 사용하기 전에, 아래 명령어를 통해 mcp
추가 crewai-tools
종속성을 설치해야 합니다:
crewai-tools
의 MCPServerAdapter
클래스는 MCP 서버에 연결하고 해당 도구들을 CrewAI 에이전트에서 사용할 수 있도록 하는 기본 방법입니다. 다양한 전송 메커니즘을 지원하며 연결 관리를 간소화합니다.
파이썬 컨텍스트 매니저(with
문)를 사용하는 것이 MCPServerAdapter
를 위한 권장 방법입니다. 이를 통해 MCP 서버와의 연결 시작 및 종료가 자동으로 처리됩니다.
MCPServerAdapter
는 연결 동작을 맞춤화할 수 있는 여러 구성 옵션을 지원합니다:
connect_timeout
(선택 사항): MCP 서버에 연결을 설정하기 위해 대기할 최대 시간(초 단위)입니다. 명시하지 않으면 기본값은 30초입니다. 응답 시간이 가변적인 원격 서버에 특히 유용합니다.MCPServerAdapter
생성자에 전달하기.MCPServerAdapter
생성자에 도구 이름의 리스트를 전달하세요.mcp_tools
메서드를 사용하세요. 서버 구성은 mcp_server_params 속성을 통해 제공되어야 합니다. 단일 구성 또는 여러 서버 구성을 리스트 형태로 전달할 수 있습니다.
get_mcp_tools
메서드에 도구 이름의 리스트를 전달하여, 에이전트에 제공되는 도구를 필터링할 수 있습니다.
MCPServerAdapter
는 주로 MCP tools
를 어댑팅하는 기능을 지원합니다. 다른 MCP 프리미티브(예: prompts
또는 resources
)는 현재 이 어댑터를 통해 CrewAI 컴포넌트로 직접 통합되어 있지 않습니다..content[0].text
)을 처리합니다. 복잡하거나 멀티모달 출력의 경우 이 패턴에 맞지 않으면 별도의 커스텀 처리가 필요할 수 있습니다.