Skip to content

Support custom Zammad Ticket object attributes in MCP #278

Description

@kondwanidickson

Description
Custom Ticket object attributes created in Zammad Admin are not exposed or writable through the MCP.

We added two custom ticket attributes in Zammad:

  • A Single Selection field
  • A Single Tree Selection field

These fields work correctly in the Zammad web UI and are enforced by Core Workflows during ticket close. However:

  • get_ticket does not return the custom fields
  • update_ticket does not provide a way to update arbitrary custom attributes

This prevents important production workflows such as:

  • AI-assisted reporting/grouping by outage cause
  • Bulk backfilling of legacy tickets after introducing mandatory custom fields
  • Automation using ticket metadata

To Reproduce

  1. Create custom Ticket object attributes in Zammad Admin
  2. Populate those fields on a ticket
  3. Call get_ticket through the MCP
  4. Observe that the custom attributes are missing from the response
  5. Attempt to update the custom fields using update_ticket
  6. Observe there is no supported parameter/path for arbitrary custom fields

Expected behavior

Expected behavior would be either:

  • Custom fields are preserved and returned automatically from get_ticket
  • Or custom fields are exposed through a dedicated custom_fields object

Additionally, update_ticket should support updating arbitrary custom ticket attributes.

Possible implementation approaches could include:

  • Using extra = "allow" on the Ticket model
  • Adding custom_fields: dict[str, Any]
  • A hybrid typed + passthrough model

Screenshots

  • Not applicable

Desktop:

  • OS: Ubuntu 24.04.1 LTS
  • Browser: Chrome
  • Environment: Production
  • Primary Client Used: Claude AI

Additional context

We're currently using this MCP in production at an ISP in Malawi.

We noticed the repository roadmap/documentation already references:

  • Bulk operations
  • Expanded/union types

so this enhancement may already align with the intended architecture.

Happy to contribute a PR once implementation direction is confirmed.

— Richard, on behalf of the inq.Digital team

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions