This release introduces significant enhancements to CAI's web security testing capabilities,
improves MCP server support, and substantially expands documentation coverage.
New Features
- Add web_pentester_agent for professional web application security testing (#353)
- Add HTTP header support to /mcp load command for SSE servers (#350)
- Implement custom tool example for agent extensibility (#347)
- Support for reasoning tokens in response processing (#318)
- Docker container based on Kali Linux for enhanced tooling (#308)
Documentation
- Add comprehensive CAI PRO documentation and CLI section (#333)
- Add four new case studies: Unitree G1, Dragos CTF, HackerOne, PortSwigger (#345)
- Add environment variables reference guide (#330)
- Add installation guides for CAI Pro v0.5 and v0.6 (#312)
- Document parallel agents functionality (#337)
- Document --continue mode for session resumption
- Document open router selection capabilities
- Add CAI_TOOL_TIMEOUT to environment docs
- Add Azure OpenAI provider configuration (#273)
Bug fixes
- Fix missing import sys error (#335)
- Fix TUI documentation issues and CAI-Pro links (#328)
- Various stability improvements and error handling enhancements
### Summary:
1. Add the MCP dep for python 3.10, since it doesn't support 3.9 and below
2. Create MCPServer, which is the agents SDK representation of an MCP server
3. Create implementations for HTTP-SSE and StdIO servers, directly copying the [MCP SDK example](https://github.com/modelcontextprotocol/python-sdk/blob/main/examples/clients/simple-chatbot/mcp_simple_chatbot/main.py)
4. Add a util to transform MCP tools into Agent SDK tools
Note: I added optional caching support to the servers. That way, if you happen to know a server's tools don't change, you can just cache them.
### Test Plan:
Checks pass. I added tests at the end of the stack.
In particular:
Traceback (most recent call last):
File /Users/alias/Alias/research/openai-agents-python/examples/agent_patterns/litellm.py, line 4, in <module>
from agents import OpenAIChatCompletionsModel,Agent,Runner
File /Users/alias/Alias/research/openai-agents-python/src/agents/__init__.py, line 44, in <module>
from .models.openai_chatcompletions import OpenAIChatCompletionsModel
File /Users/alias/Alias/research/openai-agents-python/src/agents/models/openai_chatcompletions.py, line 57, in <module>
from openai.types.responses.response_usage import InputTokensDetails, OutputTokensDetails
ImportError: cannot import name 'InputTokensDetails' from 'openai.types.responses.response_usage' (/Users/alias/Alias/research/openai-agents-python/env/lib/python3.12/site-packages/openai/types/responses/response_usage.py). Did you mean: 'OutputTokensDetails'?
Signed-off-by: Víctor Mayoral Vilches <v.mayoralv@gmail.com>