Skip to content

OpenAI invalid tool schema - array missing items and invalid tool name containing double '--' #36

@MQ37

Description

@MQ37

Was trying to use this MCP server with https://5ire.app/ (OpenAI) and getting following error:

Invalid schema for function 'apifyactors--apify--rag-web-browser': In context=('properties', 'outputFormats'), array schema missing items.

OpenAI tool parameters -> properties do support array type but then items needs to be specified to be clear about inner array type. See https://platform.openai.com/docs/guides/function-calling?example=get-weather -> https://json-schema.org/understanding-json-schema/reference/array

For example for xx this input property causes the error: is array and does not have items set;

{
    "title": "Output formats",
    "description": "Select one or more formats to which the target web pages will be extracted and saved in the resulting dataset.",
    "type": "array",
    "default": [
        "markdown"
    ]
}

Should be:

{
    "title": "Output formats",
    "description": "Select one or more formats to which the target web pages will be extracted and saved in the resulting dataset.",
    "type": "array",
    "items": {
        "type": "string"
    },
    "default": [
        "markdown"
    ]
}

Also there is an issue with tool naming where we use '--' in the tool name, some clients like the https://5ire.app/ uses '--' to separate MCP client namespace and the tool name: see https://github.com/nanbingxyz/5ire/blob/100f9517bda87a5a11b31527437a6e21c1a4c23d/src/intellichat/services/NextChatService.ts#L214; So we should change this to something else if possible if we want to support as many clients possible

Other issue while working with https://5ire.app/ was the default 60 seconds MCP client tool call timeout, for example the RAG browser was too slow to respond and I had to override the default MCP client timeout in the source code.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions