Skip to main content
Glama
Degree-AS
by Degree-AS

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
DW_BASE_URLYesBase URL of your DynamicWeb instance (e.g., https://your-dw-instance)
DW_API_TOKENYesAPI token for authentication, created in DynamicWeb Admin under Settings > Developer > API Keys

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
dw_itemtype_listA

List all DynamicWeb item types. Returns systemName, name, category, fieldsCount, enabledFor.

dw_itemtype_getA

Get a single DynamicWeb item type by systemName, including all restrictions.

dw_itemtype_createA

Create a new DynamicWeb item type with fields and restrictions in one operation.

Category conventions:
- Page item types → category: "" (top-level)
- Layout/config → category: "Layout"
- Article paragraphs → category: "Paragraphs/Article"
- Landing paragraphs → category: "Paragraphs/Landing"

For Page item types, set restrictions.allowedChildItemTypes to the paragraph systemNames that editors can add.
For Paragraph item types, leave restrictions.allowedChildItemTypes empty.
dw_itemtype_update_settingsA

Update Settings fields on an existing DynamicWeb item type. Only pass the fields you want to change — omitted ones are preserved from current state.

Corresponds to the Settings tab in DW Admin (General, Availability, Title for new items, Advanced sections).

dw_itemtype_update_restrictionsA

Update restrictions on an existing DynamicWeb item type.

Only pass the restriction arrays you want to change — omitted ones are left untouched.
Most common use: adding allowed paragraph types to a Page item type so editors can add content blocks.
Example: allowedChildItemTypes: ["HeroBanner", "RichText", "CTABlock"]
dw_itemtype_deleteC

Delete a DynamicWeb item type by systemName.

dw_field_listA

List all fields for a DynamicWeb item type. Returns systemName, type, required for each field.

dw_field_saveB

Add or update a field on a DynamicWeb item type.

Set isNew: true to add a new field. Set isNew: false to update existing.

IMPORTANT: RichTextEditor requires EditorConfiguration — this tool handles that automatically.
dw_field_deleteC

Delete a field from a DynamicWeb item type.

dw_field_typesA

List all available field editor types from this DynamicWeb instance. Fetches the authoritative list from the DW AddIn registry — not hardcoded. Returns full .NET class names and short aliases you can use in dw_field_save and dw_itemtype_create.

dw_page_listA

List DynamicWeb pages. Filter by areaId (website ID) or parentPageId.

dw_page_getB

Get a single DynamicWeb page by ID, including all item fields.

dw_page_createA

Create a new DynamicWeb page under a parent page.

Steps: 1) Creates blank page via PageCreate 2) Sets name, item type, publication via PageSave.
After creating, use dw_page_set_fields to populate item fields.
dw_page_set_fieldsA

Set item fields on a DynamicWeb page.

Fetches the current page, updates field values in its pageItem structure, then saves. fields is a key-value map where keys are field SystemNames and values are the content.

dw_page_deleteB

Delete a DynamicWeb page by ID. This is irreversible.

dw_area_listB

List all DynamicWeb areas (websites/channels).

dw_paragraph_listC

List paragraphs on a DynamicWeb page.

dw_paragraph_getA

Get a single DynamicWeb paragraph by ID, including all item fields.

dw_paragraph_createA

Create a new paragraph on a DynamicWeb page.

Creates the paragraph via ParagraphSave with the specified item type.
Use dw_paragraph_set_fields after creation to populate content fields.

sort: paragraphs are ordered ascending. Use 100, 200, 300... for easy re-ordering.
dw_paragraph_set_fieldsA

Set item fields on a DynamicWeb paragraph.

Fetches the current paragraph, updates field values in its contentItem structure, then saves. fields is a key-value map where keys are field SystemNames and values are the content. For richtext fields, provide HTML string. For file/image fields use the file path string (e.g. "/Files/Images/hero.jpg").

dw_paragraph_deleteB

Delete a DynamicWeb paragraph by ID.

dw_content_areasA

Fetch all areas (websites) from DynamicWeb Delivery API. No auth required.

dw_content_pagesB

Fetch pages from DynamicWeb Delivery API. Returns pages with their item fields (content). Use pageId to get a specific page, or areaId to list all pages in a website.

dw_content_paragraphsA

Fetch paragraphs (content blocks) from DynamicWeb Delivery API. Returns paragraphs with their item fields. Use pageId to get all paragraphs for a specific page.

dw_api_searchA

Search the DynamicWeb Admin API Swagger spec for endpoints matching a keyword. Use this when you're unsure which endpoint to call — search by feature name (e.g. "navigation", "media", "user"). Returns matching paths with their HTTP methods and summaries.

dw_api_endpoint_schemaA

Get the full request/response schema for a specific DynamicWeb Admin API endpoint. Use this before calling an unknown endpoint to understand its parameters.

dw_api_callA

Make a raw call to any DynamicWeb Admin API endpoint. For GET: provide params as query params. For POST: choose bodyMode. - 'model' (default) — wraps your model in {"Model": ...}. Used by most Save endpoints that create new records. - 'raw' — sends your model as the top-level body (no wrapper). Used by delete-style commands (e.g. ProductDelete, ItemTypeDelete). Supports params in the URL. - 'update' — sends {RunUpdateIndex?, QueryData, model} and appends ?Query.Type=queryType. Used to UPDATE existing records via screen commands (e.g. ProductSave). For update mode: pass queryType (e.g. 'ProductById'), queryData (identifies the record: {Id, LanguageId, QueryContext:{screenTypeName:'ProductEdit'}}), and optionally extraFields (e.g. {RunUpdateIndex:true}).

dw_files_listB

List files in a DynamicWeb directory. Optionally filter by file extensions.

dw_files_directoriesC

List subdirectories in a DynamicWeb directory.

dw_product_listA

List DynamicWeb products. Filter by groupId (product catalog group) or search term. Returns id, number, name, defaultPrice, stock, active. Use pagingSize to control result count.

dw_product_getB

Get a single DynamicWeb product by ID. Returns the full model including CustomFields.

dw_product_updateA

Update fields on an existing DynamicWeb product. Fetches the current product, overlays your field updates, and saves via ProductSave (update mode, Query.Type=ProductById).

  • 'fields': top-level product fields (Name, DefaultPrice, Stock, Active, etc.) - PascalCase or camelCase.

  • 'customFields': global product custom fields, keyed by SystemName (e.g. {Color: "red"}).

  • 'categoryFields': product category fields, keyed by SystemName.

Manage the schema of customFields/categoryFields via dw_product_field_save / dw_product_category_save.

dw_product_deleteA

Delete one or more DynamicWeb products. Irreversible. IDs must be in modelIdentifier format: 'PROD1|LANG1|'. The tool accepts plain IDs too and auto-formats them.

dw_product_bulk_discountA

Apply a percentage discount to DefaultPrice across a set of products (modifies the base price in-place). Target either a groupId (all products in the group) or an explicit productIds array. Returns per-product old/new price.

dw_product_field_type_listA

List all DynamicWeb product field types (Text, Integer, Date, etc.) with their TypeId. Use the returned 'id' as TypeId in dw_product_field_save, or use a short alias (text, longtext, checkbox, date, datetime, number, decimal, link, file, richtext, dropdown).

dw_product_category_listB

List DynamicWeb product categories (groups of product attribute fields). Returns id, name, fieldsCount per category.

dw_product_category_saveA

Create or update a DynamicWeb product category (group of attribute fields). Set isNew: true to create, false to update an existing one. Category fields are added separately via dw_product_field_save with this category's id.

dw_product_category_deleteA

Delete one or more DynamicWeb product categories. Irreversible. Fields belonging to the categories must be deleted first via dw_product_field_delete - otherwise the validation step will reject them.

Internally runs DW's 3-step delete: ProductCategorySetIds (mark candidates) → ProductCategoryDeleteValidated (get valid/invalid split) → ProductCategoryDelete.

dw_product_field_listA

List all product fields belonging to a category. Returns systemName, name, typeId, typeName, required.

dw_product_field_saveB

Create or update a product field (attribute) on a product category.

Type can be a numeric TypeId or a short alias: text, longtext, checkbox, date, datetime, number, decimal, link, file, richtext, dropdown. Use dw_product_field_type_list for the full mapping.

Field SystemName becomes the key the frontend reads via the product CustomFields/CategoryFields structure.

dw_product_field_deleteA

Delete one or more product fields from a single category. Irreversible. All ids must belong to the same categoryId. To delete fields across multiple categories, call this tool once per category.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Degree-AS/degree-dynamicweb-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server