This commit adds comprehensive tests that verify the fix for issue #3858,
where users reported ModuleNotFoundError when trying to import MCP classes
from crewai.mcp.
The issue was resolved in version 1.4.0 with the addition of first-class
MCP support (commit 6f36d700). These tests ensure:
1. MCPServerStdio, MCPServerHTTP, and MCPServerSSE can be imported from crewai.mcp
2. Agent accepts mcps parameter with these configuration classes
3. The exact documentation example from issue #3858 works correctly
4. All MCP server configs are proper Pydantic models with validation
5. Optional fields work as expected
All 10 new tests pass, and existing MCP tests continue to pass.
Fixes#3858
Co-Authored-By: João <joao@crewai.com>
- Enhanced the MCP tool execution in both synchronous and asynchronous contexts by utilizing for better event loop management.
- Updated error handling to provide clearer messages for connection issues and task cancellations.
- Added tests to validate MCP tool execution in both sync and async scenarios, ensuring robust functionality across different contexts.
* WIP transport support mcp
* refactor: streamline MCP tool loading and error handling
* linted
* Self type from typing with typing_extensions in MCP transport modules
* added tests for mcp setup
* added tests for mcp setup
* docs: enhance MCP overview with detailed integration examples and structured configurations
* feat: implement MCP event handling and logging in event listener and client
- Added MCP event types and handlers for connection and tool execution events.
- Enhanced MCPClient to emit events on connection status and tool execution.
- Updated ConsoleFormatter to handle MCP event logging.
- Introduced new MCP event types for better integration and monitoring.