📋 Prerequisites
🎯 Affected Service(s)
Controller Service
🚦 Impact/Severity
Minor inconvenience
🐛 Bug Description
When attempting to call list_agents from an MCP client like librechat using OpenAI models (strict mode on) on Foundry we receive the following error:
400 Invalid schema for function 'list_agents_mcp_<server>':
In context=(), object schema missing properties.
It seems like the mcp response is not setting the properties key inside the inputSchema object. Below a comparison between the list_agents tool and the invoke_agent tool.
🔄 Steps To Reproduce
- Port-forward to the kagent-controller
- Establish an MCP session
- Observer the response of the MCP tools
List Agents
The output does not contain properties in inputSchema
{
"name": "list_agents",
"description": "List invokable kagent agents (accepted + deploymentReady)",
"inputSchema": { "type": "object", "additionalProperties": false }
}
Compare to the well-formed invoke_agent entry on the same response, which has properties:
{
"name": "invoke_agent",
"inputSchema": {
"type": "object",
"properties": { "agent": {...}, "task": {...}, "context_id": {...} },
"required": ["agent","task"],
"additionalProperties": false
}
}
🤔 Expected Behavior
a properties a object in the inputSchema, similar to the invoke_agent
📱 Actual Behavior
see reproduction
💻 Environment
Librechat: v8.6.0-rc0
Agentgateway: v1.2.1
Kagent: 0.9.4
❯ k version
Client Version: v1.36.1
Kustomize Version: v5.8.1
Server Version: v1.33.1
🔧 CLI Bug Report
No response
🔍 Additional Context
Architecture setup:
librechat -> agentgateway (auth handling) -> kagent-controller /mcp endpoint -> (6 agents)
📋 Logs
📷 Screenshots
No response
🙋 Are you willing to contribute?
📋 Prerequisites
🎯 Affected Service(s)
Controller Service
🚦 Impact/Severity
Minor inconvenience
🐛 Bug Description
When attempting to call list_agents from an MCP client like librechat using OpenAI models (strict mode on) on Foundry we receive the following error:
It seems like the mcp response is not setting the
propertieskey inside theinputSchemaobject. Below a comparison between thelist_agentstool and theinvoke_agenttool.🔄 Steps To Reproduce
List Agents
The output does not contain properties in
inputSchema{ "name": "list_agents", "description": "List invokable kagent agents (accepted + deploymentReady)", "inputSchema": { "type": "object", "additionalProperties": false } }Compare to the well-formed
invoke_agententry on the same response, which hasproperties:{ "name": "invoke_agent", "inputSchema": { "type": "object", "properties": { "agent": {...}, "task": {...}, "context_id": {...} }, "required": ["agent","task"], "additionalProperties": false } }🤔 Expected Behavior
a properties a object in the
inputSchema, similar to the invoke_agent📱 Actual Behavior
see reproduction
💻 Environment
Librechat: v8.6.0-rc0
Agentgateway: v1.2.1
Kagent: 0.9.4
❯ k version
Client Version: v1.36.1
Kustomize Version: v5.8.1
Server Version: v1.33.1
🔧 CLI Bug Report
No response
🔍 Additional Context
Architecture setup:
librechat -> agentgateway (auth handling) -> kagent-controller /mcp endpoint -> (6 agents)
📋 Logs
📷 Screenshots
No response
🙋 Are you willing to contribute?