payloadcms / payloadcms/payload

plugin-mcp: update tool registration crashes when schema conversion falls back to permissive Zod schema

Open
#17,844 1 comment 0 reactions 1 assignee View on GitHub

@AlessioGr is already working on this.

Since Aug 19, 2026.

invalid-reproduction plugin: mcp v3
Dominant language
TypeScript
Stars
44.8k
Forks
4.2k
Avg merge
2d 21h
Merged PRs (30d)
53

Description

Describe the Bug

MCP update tools can fail to register with:

TypeError: convertedFields.partial is not a function

Observed log:

[payload-mcp] ❌ Tool: Update pages Failed to register.
Error [APIError]: Error registering tools for collection pages: TypeError: convertedFields.partial is not a function

### Link to the code that reproduces this issue

N/A

### Reproduction Steps

0. Have the MCP plugin installed 
1. Add a the MCP plugin block to the payload.config.ts with at least one collection.

plugins: [
mcpPlugin({
collections: {
pages: { enabled: true },
},
}),
],

2. Invoke the MCP server, MCP Inspector works as does Codex. 
3. See the error in the server console:

[payload-mcp] ❌ Tool: Update pages Failed to register.
Error [APIError]: Error registering tools for collection pages: TypeError: convertedFields.partial is not a function


### Which area(s) are affected?

plugin: mcp

### Environment Info

```text
Binaries:
  Node: 23.2.0
  npm: 10.9.0
  Yarn: 1.22.22
  pnpm: 10.20.0
Relevant Packages:
  payload: 3.88.0
  next: 16.2.6
  @payloadcms/db-postgres: 3.88.0
  @payloadcms/drizzle: 3.88.0
  @payloadcms/graphql: 3.88.0
  @payloadcms/next/utilities: 3.88.0
  @payloadcms/plugin-mcp: 3.88.0
  @payloadcms/plugin-seo: 3.88.0
  @payloadcms/richtext-lexical: 3.88.0
  @payloadcms/translations: 3.88.0
  @payloadcms/ui/shared: 3.88.0
  react: 19.2.8
  react-dom: 19.2.8
Operating System:
  Platform: linux
  Arch: x64
  Version: #1 SMP PREEMPT_DYNAMIC Thu Jun 18 21:54:43 UTC 2026
  Available memory (MB): 31939
  Available CPU cores: 20

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.