diff --git a/src/agent/composer.json b/src/agent/composer.json
index 3fc57d34a..823cb164d 100644
--- a/src/agent/composer.json
+++ b/src/agent/composer.json
@@ -34,6 +34,8 @@
},
"require-dev": {
"mrmysql/youtube-transcript": "^0.0.5",
+ "nyholm/psr7": "^1.8",
+ "php-http/discovery": "^1.19",
"phpstan/phpstan": "^2.0",
"phpstan/phpstan-strict-rules": "^2.0",
"phpunit/phpunit": "^11.5.13",
diff --git a/src/agent/tests/Fixtures/Tool/youtube-captions.json b/src/agent/tests/Fixtures/Tool/youtube-captions.json
new file mode 100644
index 000000000..f81de66c9
--- /dev/null
+++ b/src/agent/tests/Fixtures/Tool/youtube-captions.json
@@ -0,0 +1,35 @@
+{
+ "playabilityStatus": {
+ "status": "OK"
+ },
+ "captions": {
+ "playerCaptionsTracklistRenderer": {
+ "captionTracks": [
+ {
+ "baseUrl": "https://www.youtube.com/api/timedtext?v=dQw4w9WgXcQ",
+ "name": {
+ "runs": [
+ {
+ "text": "English"
+ }
+ ]
+ },
+ "languageCode": "en",
+ "isTranslatable": true
+ }
+ ],
+ "translationLanguages": [
+ {
+ "languageName": {
+ "runs": [
+ {
+ "text": "Spanish"
+ }
+ ]
+ },
+ "languageCode": "es"
+ }
+ ]
+ }
+ }
+}
diff --git a/src/agent/tests/Fixtures/Tool/youtube-transcript.xml b/src/agent/tests/Fixtures/Tool/youtube-transcript.xml
new file mode 100644
index 000000000..f3048d434
--- /dev/null
+++ b/src/agent/tests/Fixtures/Tool/youtube-transcript.xml
@@ -0,0 +1,6 @@
+
+