# Feature AA-216 - MCP tool get_work_package_form for creating and updating work packages

Project: Stream Agents & Assistants
Status: merged
URL: https://community.openproject.org/work_packages/AA-216

## Planning

| Attribute | Value |
| --- | --- |
| Date |  |
| Priority | Medium |
| Target versions | 18.0.0 |
| List |  |
| Roadmap |  |
| Relevance |  |

## OPEN POINTS / FEEDBACK

_No work packages_

## Features and Chunks

_No work packages_

## Bugs and other work packages

_No work packages_

## Technical Details

| Attribute | Value |
| --- | --- |
| Module | Artificial Intelligence / MCP Server (MCP) |
| Feature Flag |  |
| Requires doc change | No |
| Enterprise plan | Community (COM) |

## Details

| Attribute | Value |
| --- | --- |
| Pull preview |  |
| Mockups |  |

## People

| Attribute | Value |
| --- | --- |
| Assignee |  |
| Accountable |  |
| Product manager | Dominic Bräunlein |
| Developers | Dominic Bräunlein |
| Designer |  |
| Ordered by |  |
| Signed off by |  |
| Interest by |  |

## Estimates and progress

| Attribute | Value |
| --- | --- |
| Work |  |
| Labor costs |  |

## Description

**As a** user working with an AI assistant connected to the OpenProject MCP server  
**I want to** let the assistant read the form of a new or an existing work package  
**so that** the work packages it creates or updates use the right custom fields, allowed statuses and the type&#x27;s description template

**Acceptance criteria**

*   For a project and a type, an assistant can find out which fields a new work package has, which of them are required, which values are allowed and which defaults apply.
    
*   For an existing work package, an assistant can find out its current values, which fields it can change and which values are allowed, for example the statuses it can move the work package to.
    
*   When an assistant changes the type of a work package, it can find out beforehand which fields the new type has, so it can fill them in the same update.
    
*   When an assistant creates a work package, it uses the description template of the type as the starting point for the description.
    
*   An assistant fills required custom fields and picks allowed values (for example status, priority, versions, list custom fields) without running into a failed create or update first.
    
*   The assistant is offered the fields a user sees in the work package form of that type in OpenProject. Fields hidden in the form configuration of the type are not offered.
    
*   The answer stays small enough to work with in an assistant&#x27;s context, also for types with many custom fields.
    
*   The tool description says what the form is for, so assistants pick the tool on their own when they create or update work packages.
    
*   The new MCP tool is called `get_work_package_form`
    

**Technical notes**

*   Based on the APIv3 work package forms: the create form for a project and a type, the update form for an existing work package. The response is reduced with MCP output filters.
    
*   Update `docs/system-admin-guide/integrations/mcp-server/README.md`.
    

**Permissions and visibility considerations**

*   Only available when the `mcp_server` is active and the tool is enabled.
    
*   Same rules as in OpenProject: for a new work package, the user needs to see the project and to be allowed to add work packages in it. For an existing work package, the user needs to see it and to be allowed to change it.
    

<br>
