> For the complete documentation index, see [llms.txt](https://support.attackforge.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://support.attackforge.com/app/modules/ai-mcp-and-skills/get-field-structure.md).

# Get Field Structure

#### Description <a href="#description" id="description"></a>

This tool can be used to get the topological structure of all system and custom fields that make up the AttackForge data model. This is useful to determine the custom field keys that exist on the data model.

#### How To Enable <a href="#how-to-enable" id="how-to-enable"></a>

1. Go to `Users`
2. Select the user you would like to provide access to this tool
3. Click on `Access > MCP`
4. Click on `Add Tools`
5. Select the tool `get_field_structure` and click `Add`

#### Example Prompts <a href="#example-prompts" id="example-prompts"></a>

*Show me what fields are available on vulnerabilities.*

#### Supported Query Fields <a href="#supported-query-fields" id="supported-query-fields"></a>

```javascript
model: {
  description: `This is used to specify the data model of which the field structure is required.
  Supported models:
    - asset
    - project
    - vulnerability
    - writeup
  `,
  type: 'string',
  pattern: `^asset, project, vulnerability, writeup].join('|')}$`,
}
```

#### Example Response <a href="#example-response" id="example-response"></a>

{% code overflow="wrap" %}

```json
{
    "model": "vulnerability",
    "structure":
    [
        {
            "type": "section",
            "label": "Info",
            "info": "<p>This section should include basic information about the vulnerability.</p><p><strong><u>Important:</u></strong> Only create new Writeups if you need to. There are already thousands of Writeups the security team worked hard to create for you to select from. Be like Keanu Reeves <span style=\"color: rgb(51, 51, 51);\">🙂</span></p>",
            "fields":
            [
                {
                    "type": "system",
                    "key": "writeupAndAssets",
                    "label": "Writeup and Affected Assets",
                    "required": true
                },
                {
                    "type": "system",
                    "key": "visibility",
                    "label": "Visibility",
                    "required": true
                }
            ]
        },
        {
            "type": "section",
            "label": "Social Engineering",
            "fields":
            [
                {
                    "type": "custom",
                    "key": "persons_targeted",
                    "label": "Persons Targeted",
                    "required": false,
                    "usage_hints": "type: 'Record<string, string | string[] | null>[]', description: \"custom field value contains an array of objects used to represent items in a table\"'"
                }
            ]
        },
        {
            "type": "section",
            "label": "Red Team",
            "fields":
            [
                {
                    "type": "custom",
                    "key": "attack_narrative",
                    "label": "Attack Narrative",
                    "required": false,
                    "usage_hints": "type: 'string', description: \"custom field value contains html markup\"'"
                },
                {
                    "type": "custom",
                    "key": "critical_steps",
                    "label": "Critical Steps",
                    "required": false,
                    "usage_hints": "type: 'Record<string, string | string[] | null>[]', description: \"custom field value contains an array of objects used to represent items in a table\"'"
                }
            ]
        },
        {
            "type": "section",
            "label": "PCI Compliance",
            "info": "<p>For more information on what all these PCI DSS terms mean - please visit <a href=\"https://www.pcisecuritystandards.org/glossary/\" rel=\"noopener noreferrer\" target=\"_blank\">https://www.pcisecuritystandards.org/glossary/</a></p>",
            "fields":
            [
                {
                    "type": "custom",
                    "key": "is_cde",
                    "label": "Are Asset(s) Part of Cardholder Data Environment (CDE)?",
                    "required": true,
                    "info": "<p>CDE is defined at <a href=\"https://www.pcisecuritystandards.org/glossary/#glossary-c\" rel=\"noopener noreferrer\" target=\"_blank\">https://www.pcisecuritystandards.org/glossary/#glossary-c</a></p>",
                    "usage_hints": "type: 'array', items: { type: 'string' }, description: \"custom field value contains an array of strings\"'"
                },
                {
                    "type": "custom",
                    "key": "cde_networks",
                    "label": "Which CDE Network(s) are Affected?",
                    "required": true,
                    "usage_hints": "type: 'array', items: { type: 'string' }, description: \"custom field value contains an array of strings\"'"
                }
            ]
        },
        {
            "type": "section",
            "label": "Medical Devices",
            "fields":
            [
                {
                    "type": "custom",
                    "key": "manufacturer",
                    "label": "Manufacturer",
                    "required": false,
                    "usage_hints": "type: 'string', description: \"custom field value contains a string\"'"
                },
                {
                    "type": "custom",
                    "key": "version",
                    "label": "Affected Version",
                    "required": false,
                    "usage_hints": "type: 'string', description: \"custom field value contains a string\"'"
                },
                {
                    "type": "custom",
                    "key": "cpe",
                    "label": "CPE",
                    "required": false,
                    "usage_hints": "type: 'string', description: \"custom field value contains a string\"'"
                }
            ]
        },
        {
            "type": "section",
            "label": "Scoring",
            "fields":
            [
                {
                    "type": "system",
                    "key": "zeroDay",
                    "label": "Is 0-Day?",
                    "required": true
                },
                {
                    "type": "system",
                    "key": "scoring",
                    "label": "CVSS Scoring, Priority and Exploitability",
                    "required": true
                }
            ]
        },
        {
            "type": "section",
            "label": "Ownership",
            "fields":
            [
                {
                    "type": "custom",
                    "key": "vuln_owner",
                    "label": "Vulnerability Owner",
                    "required": false,
                    "usage_hints": "type: 'array', items: { type: 'string', pattern: '^[0-9a-fA-F]{24}$' }, description: \"custom field value contains an array of user ids\"'"
                },
                {
                    "type": "custom",
                    "key": "teams_responsible",
                    "label": "Teams Responsible",
                    "required": false,
                    "usage_hints": "type: 'array', items: { type: 'string', pattern: '^[0-9a-fA-F]{24}$' }, description: \"custom field value contains an array of group ids\"'"
                }
            ]
        },
        {
            "type": "section",
            "label": "Testing",
            "fields":
            [
                {
                    "type": "system",
                    "key": "stepsToReproduce",
                    "label": "Steps to Reproduce",
                    "required": true
                },
                {
                    "type": "custom",
                    "key": "technical_impact",
                    "label": "Technical Impact",
                    "required": false,
                    "usage_hints": "type: 'string', description: \"custom field value contains html markup\"'"
                },
                {
                    "type": "system",
                    "key": "notes",
                    "label": "Notes",
                    "required": true
                }
            ]
        },
        {
            "type": "section",
            "label": "Tags",
            "fields":
            [
                {
                    "type": "system",
                    "key": "cvssTags",
                    "label": "CVSS Tags",
                    "required": true
                },
                {
                    "type": "system",
                    "key": "tags",
                    "label": "Tags",
                    "required": true
                },
                {
                    "type": "system",
                    "key": "customTags",
                    "label": "Custom Tags",
                    "required": true
                },
                {
                    "type": "system",
                    "key": "testCases",
                    "label": "Associated Test Cases",
                    "required": true
                },
                {
                    "type": "custom",
                    "key": "category",
                    "label": "Category",
                    "required": true,
                    "usage_hints": "type: 'array', items: { type: 'string' }, description: \"custom field value contains an array of strings\"'"
                }
            ]
        },
        {
            "type": "section",
            "label": "Threat Prioritization",
            "fields":
            [
                {
                    "type": "custom",
                    "key": "threat_score",
                    "label": "Threat Score (X/140)",
                    "required": false,
                    "usage_hints": "type: 'string', description: \"custom field value contains a string\"'"
                },
                {
                    "type": "custom",
                    "key": "cve",
                    "label": "CVE",
                    "required": false,
                    "usage_hints": "type: 'string', description: \"custom field value contains a string\"'"
                }
            ]
        },
        {
            "type": "section",
            "label": "Integrations",
            "fields":
            [
                {
                    "type": "custom",
                    "key": "ado_work_item_id",
                    "label": "ADO Work Item Id",
                    "required": false,
                    "usage_hints": "type: 'string', description: \"custom field value contains a string\"'"
                },
                {
                    "type": "custom",
                    "key": "ado_work_item_url",
                    "label": "ADO Work Item URL",
                    "required": false,
                    "usage_hints": "type: 'string', description: \"custom field value contains a string\"'"
                },
                {
                    "type": "custom",
                    "key": "snow_incident_number",
                    "label": "SNOW Incident Number",
                    "required": false,
                    "usage_hints": "type: 'string', description: \"custom field value contains a string\"'"
                },
                {
                    "type": "custom",
                    "key": "snow_incident_url",
                    "label": "SNOW Incident URL",
                    "required": false,
                    "usage_hints": "type: 'string', description: \"custom field value contains a string\"'"
                },
                {
                    "type": "custom",
                    "key": "jira_issue_key",
                    "label": "JIRA Issue Key",
                    "required": false,
                    "usage_hints": "type: 'string', description: \"custom field value contains a string\"'"
                },
                {
                    "type": "custom",
                    "key": "jira_issue_url",
                    "label": "JIRA Issue URL",
                    "required": false,
                    "usage_hints": "type: 'string', description: \"custom field value contains a string\"'"
                }
            ]
        },
        {
            "type": "section",
            "label": "HackerOne",
            "fields":
            [
                {
                    "type": "custom",
                    "key": "hackerone_report_id",
                    "label": "HackerOne Report Id",
                    "required": false,
                    "usage_hints": "type: 'string', description: \"custom field value contains a string\"'"
                },
                {
                    "type": "custom",
                    "key": "hackerone_report_url",
                    "label": "HackerOne Report URL",
                    "required": false,
                    "usage_hints": "type: 'string', description: \"custom field value contains a string\"'"
                }
            ]
        },
        {
            "type": "section",
            "label": "Synack",
            "fields":
            [
                {
                    "type": "custom",
                    "key": "synack_vuln_id",
                    "label": "Synack Vuln Id",
                    "required": false,
                    "usage_hints": "type: 'string', description: \"custom field value contains a string\"'"
                },
                {
                    "type": "custom",
                    "key": "synack_vuln_status",
                    "label": "Synack Vuln Status",
                    "required": false,
                    "usage_hints": "type: 'string', description: \"custom field value contains a string\"'"
                },
                {
                    "type": "custom",
                    "key": "synack_vuln_link",
                    "label": "Synack Vuln Link",
                    "required": false,
                    "usage_hints": "type: 'string', description: \"custom field value contains a string\"'"
                }
            ]
        },
        {
            "type": "section",
            "label": "QA Review",
            "fields":
            [
                {
                    "type": "custom",
                    "key": "qa_status",
                    "label": "QA Status",
                    "required": true,
                    "usage_hints": "type: 'array', items: { type: 'string' }, description: \"custom field value contains an array of strings\"'"
                },
                {
                    "type": "custom",
                    "key": "qa_reviewer",
                    "label": "QA Reviewer",
                    "required": false,
                    "usage_hints": "type: 'array', items: { type: 'string', pattern: '^[0-9a-fA-F]{24}$' }, description: \"custom field value contains an array of user ids\"'"
                },
                {
                    "type": "custom",
                    "key": "qa_approver",
                    "label": "QA Approver",
                    "required": false,
                    "usage_hints": "type: 'array', items: { type: 'string', pattern: '^[0-9a-fA-F]{24}$' }, description: \"custom field value contains an array of user ids\"'"
                }
            ]
        }
    ]
}
```

{% endcode %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://support.attackforge.com/app/modules/ai-mcp-and-skills/get-field-structure.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
