# PATCH Update Retell LLM returns "MCP id cannot be empty or null" — same in API docs "Try it"

**URL:** <https://community.retellai.com/t/patch-update-retell-llm-returns-mcp-id-cannot-be-empty-or-null-same-in-api-docs-try-it/2131>\
**Category:** Support Help\
**Tags:** bug\
**Created:** [March 25, 2026, 7:36pm UTC](https://community.retellai.com/t/patch-update-retell-llm-returns-mcp-id-cannot-be-empty-or-null-same-in-api-docs-try-it/2131 "2026-03-25T19:36:42Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![info19](https://yyz2.discourse-cdn.com/flex008/user_avatar/community.retellai.com/info19/32/543_2.png) [@info19](https://community.retellai.com/u/info19)\
**Post date:** [March 25, 2026, 7:36pm UTC](https://community.retellai.com/t/patch-update-retell-llm-returns-mcp-id-cannot-be-empty-or-null-same-in-api-docs-try-it/2131/1 "2026-03-25T19:36:42Z")

</div>

Hi Retell team and community,

I’m getting a **400** error when calling **PATCH `/update-retell-llm/{llm_id}`** :

```json
{
  "status": "error",
  "message": "MCP id cannot be empty or null"
}

```

**Important:** I see the **same error when using the official documentation “Try it”** flow for **Update Retell LLM** (not only from my app). That suggests it may be tied to how the request body is built or how the draft LLM is validated on the server, not only my integration.

**What I understand from the docs and support chats:**

- The `mcps[]` array defines MCP **servers** (`name`, `url`, optional `headers`, etc.).

- Tools with **`type: "mcp"`** inside **`general_tools`** or **`states[].tools`** must have a valid **`mcp_id`** that matches a **`mcps[].name`**.

- If the stored draft still has bad MCP tool entries, validation can fail even when the `mcps` block in the request looks correct.

**What I’ve tried:**

- **GET** the LLM first, then PATCH with cleaned **`general_tools`** / **`states`** (removing or fixing MCP tools with empty/invalid `mcp_id`).

- Sending real `mcps` entries (no placeholder `"<string>"` values).

- Clearing MCPs with **`"mcps": []`** when appropriate.

**Questions:**

1. Can you confirm whether **“MCP id cannot be empty or null”** always refers to **`mcp_id` on MCP tools** in `general_tools` / `states[].tools`, and not to a missing field inside **`mcps[]`** itself?

2. Is there an official **minimal JSON example** for PATCH that is guaranteed to pass for an LLM that currently has **multi-state** + MCP, so we can diff against failing payloads?

3. If **“Try it”** can return this 400 with the default/sample body, is that expected (e.g. sample LLM id / draft state), or should we report it as a docs/playground bug?

**Environment:** API key auth, updating an existing `llm_id` (not the agent id).

Thanks for any guidance — happy to share a **redacted** request body if useful.

---

<div class="post-metadata">

**Author:** ![support2](https://yyz2.discourse-cdn.com/flex008/user_avatar/community.retellai.com/support2/32/15_2.png) [@support2](https://community.retellai.com/u/support2)\
**Post date:** [March 25, 2026, 7:47pm UTC](https://community.retellai.com/t/patch-update-retell-llm-returns-mcp-id-cannot-be-empty-or-null-same-in-api-docs-try-it/2131/2 "2026-03-25T19:47:16Z")

</div>

Thank you for reaching out to Retell AI Support. We’ve received your ticket and our team will respond within 8 hours.  
 ![](https://canada1.discourse-cdn.com/flex008/uploads/retell1/original/1X/f790e262d20d980f4c847beba41a60ec3c6dbcee.png)

---

<div class="post-metadata">

**Author:** ![Shah-Fazal](https://yyz2.discourse-cdn.com/flex008/user_avatar/community.retellai.com/shah-fazal/32/2522_2.png) [@Shah-Fazal](https://community.retellai.com/u/Shah-Fazal)\
**Post date:** [March 25, 2026, 8:07pm UTC](https://community.retellai.com/t/patch-update-retell-llm-returns-mcp-id-cannot-be-empty-or-null-same-in-api-docs-try-it/2131/3 "2026-03-25T20:07:23Z")

</div>

Hi @info19

Can you please share your organization ID and Agent ID?

Thank you!

---

<div class="post-metadata">

**Author:** ![info19](https://yyz2.discourse-cdn.com/flex008/user_avatar/community.retellai.com/info19/32/543_2.png) [@info19](https://community.retellai.com/u/info19)\
**Post date:** [March 25, 2026, 10:35pm UTC](https://community.retellai.com/t/patch-update-retell-llm-returns-mcp-id-cannot-be-empty-or-null-same-in-api-docs-try-it/2131/4 "2026-03-25T22:35:45Z")

</div>

org\_cLtqW1wUZIYudrkT  
agent\_dcb9758254052b01eb1e04828e

---

<div class="post-metadata">

**Author:** ![support2](https://yyz2.discourse-cdn.com/flex008/user_avatar/community.retellai.com/support2/32/15_2.png) [@support2](https://community.retellai.com/u/support2)\
**Post date:** [March 26, 2026, 4:13am UTC](https://community.retellai.com/t/patch-update-retell-llm-returns-mcp-id-cannot-be-empty-or-null-same-in-api-docs-try-it/2131/5 "2026-03-26T04:13:54Z")

</div>

Hello,

MCPs should have an **id** field on them. The **mcp\_id** field on tools of that MCP should match the **id** field on the MCP.

Regards,  
Retell Support Team  
 ![](https://canada1.discourse-cdn.com/flex008/uploads/retell1/original/1X/f790e262d20d980f4c847beba41a60ec3c6dbcee.png)
