Zed 1.23.2 optional MCP fields fix: read Sume's tools_schema anyway
Zed 1.23.2 fixed OpenAI model calls to MCP servers that treated optional fields as required. For Sume, tools_schema shows which fields are required.

If a Sume tool call from Zed failed because a model filled in an optional field it should have left out, update to Zed 1.23.2, then check the tool contract with tools_schema. Zed's stable release notes for October 7, 2026 say it fixed issues where OpenAI model tool calls to MCP servers treated optional fields as required, causing errors. The fix is in the client; Sume's contract stays the same.
What the release says
The Zed fact comes from the Zed stable releases page (read 2026-10-07). The Sume tools are listed with tools_list, and one tool's input contract is returned by tools_schema, as described on MCP tools and gates.
Where the contract lives
Different clients convert JSON Schema in different ways, so the same Sume tool can behave differently across editors. A model that sees a field in the schema may send an empty value instead of leaving it out.
| Item | Where it is defined | How to check |
|---|---|---|
| Tool names and descriptions | tools_list | Ask the agent to list tools for your credential |
| Input contract of one tool | tools_schema | Ask for the schema of that tool by name |
| Which fields are required | The required list in the schema | Do not infer it from a client's form view |
idempotency_key on paid calls | Required for write and paid calls | Always send one, with a value you generate |
When a call fails
When a call fails, take these steps before you retry:
- Read the error text. A schema rejection names the field.
- Call
tools_schemafor that tool and compare it with the arguments the model sent. - Resend with only the required fields and any optional ones you mean to set. Reuse the same
idempotency_keyif the failed attempt may have reached Sume.
Retries
If a call is rejected, no job id comes back, so there is nothing to wait on. A retry after a timeout is different: use the same key, so Sume returns the original job and not a second one.
Sources
Related posts
More in Integrations
- How to add an MCP server to ChatGPT with developer mode
Turn on ChatGPT developer mode, create an app for the server's URL, and sign in with OAuth. The steps, with Sume's hosted MCP server as the example.
- How to add subtitles to a video in Python
Add subtitles to a video in Python with Requests: POST the video URL to Sume's /v1/video-captions, poll the job, then read the captioned video_url.
- Add Sume to Claude as a custom connector (remote MCP)
Add Sume's hosted MCP server to Claude under Customize > Connectors, see what Sume's OAuth consent grants, and decide whether to allow paid tools.
- Airflow HTTP sensor: wait for an AI video job to finish
Submit an AI video job with Airflow's HttpOperator, then wait with an HttpSensor in reschedule mode that passes once the job's status is completed.
Written by Sume