ACF 6.8 register-custom-post-type ability exposes an MCP schema rejected by ChatGPT/OpenAI strict validation
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 68/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- php
- Área
- api, backend-api-design
Línea de trabajo
Comienza en src/AI/Abilities/PostType.php e inspecciona el esquema de supports junto al esquema de taxonomies. Verifica cómo se representa supports en tiempo de ejecución y, después, añade la definición de elemento que falta o reconcilia los valores documentados con estilo de objeto con el esquema publicado. Añade una comprobación de regresión automatizada que valide la ability expuesta frente a requisitos estrictos de OpenAI-compatible tool-schema.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
The ACF 6.8 acf/register-custom-post-type ability currently exposes an input schema that cannot be loaded by ChatGPT's MCP client.
When the ability is exposed as an MCP tool, ChatGPT rejects the tool during tool discovery with:
Invalid MCP tool schema for tool 'wp_ability_acf_register_custom_post_type'
I traced the issue to the schema definition of the supports property in src/AI/Abilities/PostType.php.
Environment
- ACF PRO: 6.8.10
- WordPress: 7.1
- PHP: 8.3.33
- MCP adapter: Easy MCP AI 1.7.17
- Client: ChatGPT Custom MCP
- Date tested: 2026-09-15
Steps to reproduce
- Enable ACF AI abilities:
add_filter( 'acf/settings/enable_acf_ai', '__return_true' );
- Expose
acf/register-custom-post-typeas an MCP tool. - Connect the WordPress MCP server to ChatGPT.
- Refresh/discover MCP tools.
ChatGPT rejects the tool schema and the MCP tool refresh fails.
Suspected root cause
The current schema defines supports as an array without an items schema:
'supports' => array(
'type' => 'array',
'description' => 'Features the post type supports...',
'required' => false,
),
However, another array property in the same ability, taxonomies, correctly includes an items definition:
'taxonomies' => array(
'type' => 'array',
'description' => 'Array of taxonomy names...',
'items' => array(
'type' => 'string',
),
'required' => false,
),
Strict OpenAI-compatible tool-schema validators reject array schemas without an items definition.
This is particularly problematic for an ability specifically intended to make ACF interoperable with external AI/MCP clients.
There also appears to be a contract mismatch around supports: the description/runtime behavior indicates support for both indexed arrays and associative/object-style values, while the published schema declares only type: array.
Expected behavior
acf/register-custom-post-type should expose a tool schema that can be successfully discovered and loaded by major MCP clients, including ChatGPT/OpenAI-compatible clients.
Actual behavior
Tool discovery fails when this ability is enabled.
ChatGPT displays:
Invalid MCP tool schema for tool 'wp_ability_acf_register_custom_post_type'
Disabling only the acf/register-custom-post-type MCP tool allows tool discovery to continue.
Suggested fix
At minimum, define the item type for supports:
'supports' => array(
'type' => 'array',
'items' => array(
'type' => 'string',
),
'description' => 'Features the post type supports...',
'required' => false,
),
The documented/runtime support for associative/object-style supports values should also be reconciled with the published ability schema.
I would also suggest adding an automated schema compatibility/regression test for all ACF Abilities exposed through MCP, particularly against strict OpenAI-compatible tool-schema validation.
This class of issue is straightforward to catch automatically before release by validating every exposed ability schema and failing CI when an array schema required by a target client is missing its items definition.
Additional observation
The same area may deserve a broader schema audit rather than treating this as a single-property typo.
For example, other ACF AI/Abilities schemas should be checked for arrays without explicit item definitions and for mismatches between runtime-supported values and the machine-readable schema.
Reproduction evidence
I can provide a screenshot of ChatGPT failing MCP tool refresh with:
Invalid MCP tool schema for tool 'wp_ability_acf_register_custom_post_type'
Reported by Süha Karalar
https://www.suhakaralar.com
- Lenguaje dominante
- PHP
- Estrellas
- 946
- Forks
- 197
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de AdvancedCustomFields/acf
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
AdvancedCustomFields/acf#1041 · 1 comentario ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
AdvancedCustomFields/acf#1038 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
AdvancedCustomFields/acf#1034 · 2 comentarios ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
AdvancedCustomFields/acf#1032 · 1 comentario ·
-
Drop trap, acf_after_titleAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
AdvancedCustomFields/acf#1029 · 1 comentario ·
Todos los issues de AdvancedCustomFields/acf
Issues similares
-
Infrastructure: actions Module: zmscitizenapi Module: zmsentities php Type: Bug unit tests
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
it-at-m/eappointment#3480 ·
Los mantenedores suelen responder en 1 día
-
CI: composer install fails — league/flysystem 1.x blocked by security advisory GHSA-cxf4-7mrp-vvprAbiertodevops type: bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 1 día
-
needs approval
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
Los mantenedores suelen responder en 3 días
-
product / avatars product / self-hosted product / storage
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
appwrite/appwrite#13985 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día