-
Notifications
You must be signed in to change notification settings - Fork 73
Open
Description
## Summary
`create_work_item_property` fails through MCP with an output validation error, even though the underlying Plane API request succeeds and the property is actually created.
## Environment
- `plane-mcp-server` `0.2.5`
- `FastMCP` `2.14.1`
- self-hosted Plane workspace with paid features enabled
## Reproduction
1. Create a project
2. Enable `work_item_types`
3. Create a custom work item type
4. Call MCP tool:
```json
{
"name": "create_work_item_property",
"arguments": {
"project_id": "<project_uuid>",
"type_id": "<custom_type_uuid>",
"display_name": "Risk",
"property_type": "TEXT",
"settings": {
"display_format": "single-line"
}
}
}Actual Result
MCP returns:
{
"content": [
{
"type": "text",
"text": "Output validation error: None is not of type 'string'"
}
],
"isError": true
}Expected Result
The tool should return the created WorkItemProperty.
Additional Evidence
The direct Plane REST API call succeeds with the same payload.
Request:
{
"display_name": "Risk",
"property_type": "TEXT",
"settings": {
"display_format": "single-line"
}
}Response example from Plane:
{
"id": "5496bd03-1137-4eda-974a-766f19dbd458",
"deleted_at": null,
"relation_type": null,
"created_at": "2026-03-08T18:50:35.983383Z",
"updated_at": "2026-03-08T18:50:35.983390Z",
"name": "risk-direct-api-schema-debug-3",
"display_name": "Risk Direct API Schema Debug 3",
"description": null,
"property_type": "TEXT",
"settings": {
"display_format": "single-line"
},
"external_source": null,
"external_id": null,
"updated_by": null,
"issue_type": "e1603494-a7be-488b-bd25-9fb8c20ee938"
}Notes
The nullable fields in the successful Plane response include at least:
deleted_atrelation_typedescriptionexternal_sourceexternal_idupdated_by
The Plane SDK model WorkItemProperty accepts and serializes this response successfully, so this appears to be an issue in plane-mcp-server / FastMCP output validation rather than in the request payload itself.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels