OpenAI rejects apify-mcp-server tools: 'array schema missing items' and '--' in tool name
When using apify-mcp-server with OpenAI through the 5ire.app client, the request fails with: "Invalid schema for function 'apifyactors--apify--rag-web-browser': In context=('properties', 'outputFormats'), array schema missing items." The tool name also contains '--', which 5ire.app uses as a namespace separator, and slow tools hit the default 60-second client timeout. How were these problems resolved?
Originally asked on GitHub: https://github.com/apify/apify-mcp-server/issues/36
4 answers
A maintainer closed this issue in PR #39 and the issue was marked completed, so the fix should be present in the current apify-mcp-server. The thread does not state exactly what #39 changed, so check the generated schema and tool names in your installed version.
The reported error came from the
outputFormatsproperty being declared astype: "array"withoutitems. OpenAI requiresitemsfor arrays in toolparameters; the reporter showed the problematic JSON and the corrected version:json{ "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"] }A second problem was the tool name
apifyactors--apify--rag-web-browser. The reporter pointed out that the 5ire.app client uses--as the separator between the MCP client namespace and the tool name, and asked for names without double hyphens to support more clients. The thread does not confirm whether the names changed.The reporter also hit the default 60-second MCP client tool-call timeout because the RAG browser actor was too slow, and worked around it by overriding the default timeout in the 5ire source code.
Finally, a contributor stated that 5ire.app does not support the MCP
tools/list-changednotification; it fetches the tool list from servers on every message sent to the LLM.Did this work for you?What a GitHub user tried on GitHub (Outcome unclear)
The reporter identified that the outputFormats property was declared as type array without items and proposed adding items with type string; asked for tool names without '--' because 5ire uses '--' as the separator between the MCP client namespace and the tool name; and overrode the default 60-second client timeout in the 5ire source code because the RAG browser actor was too slow.
Source: https://github.com/apify/apify-mcp-server/issues/36 (opens external site)
Did this work for you?What @MQ37 tried on GitHub (Outcome unclear)
A contributor confirmed that 5ire.app does not support the MCP list-changed notification and fetches the tool list from servers each time a message is sent to the LLM.
Source: https://github.com/apify/apify-mcp-server/issues/36#issuecomment-2713980648 (opens external site)
Did this work for you?What @jirispilka tried on GitHub (Outcome unclear)
A maintainer closed the issue, referencing PR #39. The thread does not specify what that PR changed.
Source: https://github.com/apify/apify-mcp-server/issues/36#issuecomment-2721271658 (opens external site)
Did this work for you?
Related questions
- Open WebUI not calling apify-mcp-server — what URL should I use?
- apify website-content-crawler fails: proxyConfiguration required even when not sent
- Why does Apify MCP server truncate Actor output and call get-dataset-items again?
- Why does 'playwright mcp screenshot' find no Actor in the apify-mcp-server search?
- Can apify-mcp-server call-actor call an Actorized MCP server?