diff --git a/specs.json b/specs.json index 76c90ac..c20a6bd 100644 --- a/specs.json +++ b/specs.json @@ -443,6 +443,7 @@ "model": "string", "auth": "object", "connectOptions": "object", + "mcpServers": ["#mcpServer"], "actionHook": "object|string", "eventHook": "object|string", "toolHook": "object|string", @@ -455,6 +456,16 @@ "llmOptions" ] }, + "mcpServer": { + "properties": { + "url": "string", + "auth": "object", + "roots": ["#root"] + }, + "required": [ + "url" + ] + }, "message": { "properties": { "id": "string", diff --git a/test/jambonz-verb-test.js b/test/jambonz-verb-test.js index 36feed9..b838f48 100644 --- a/test/jambonz-verb-test.js +++ b/test/jambonz-verb-test.js @@ -522,6 +522,26 @@ test("validate correct verbs", async (t) => { }, "dual_streams": true, "timeLimit" : 10 + }, + { + "verb": "llm", + "vendor": 'ultravox', + "model": 'fixie-ai/ultravox', + "auth": { + "apiKey": "sk-1234567890abcdefg" + }, + "llmOptions": { + "firstSpeaker": 'FIRST_SPEAKER_AGENT', + }, + "mcpServers": [ + { + "url": 'https://mcp.example.com', + "auth": { + "username": 'username', + "password": 'password' + } + } + ] } ]; try {