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

degree-dynamicweb-mcp

DynamicWeb 10 Admin API 用の MCP(Model Context Protocol)サーバーです。Claude Code に DynamicWeb のアイテムタイプ、フィールド、ページ、パラグラフ、API ディスカバリの管理機能へのフルアクセスを提供し、DW Admin UI に触れる必要はありません。

ツール

アイテムタイプ

ツール

説明

dw_itemtype_list

すべてのアイテムタイプを一覧表示

dw_itemtype_get

アイテムタイプの詳細と制限を取得

dw_itemtype_create

フィールド、グループ、制限を一度の呼び出しで指定してアイテムタイプを作成

dw_itemtype_update_settings

設定を更新(名前、カテゴリ、アイコン、利用可否など)

dw_itemtype_update_restrictions

制限を更新(許可される親、子、ウェブサイトなど)

dw_itemtype_delete

アイテムタイプを削除

スキーマメンテナンス

アイテムタイプ XML のデプロイはデータベースには触れません。スキーマが同期されるまで、列が存在しないフィールドはエラーなしで保存され、何も保持されません。

ツール

説明

dw_itemtype_health

DB 列が存在しないフィールドと、XML がもはや宣言していない列を報告

dw_itemtype_sync_schema

アイテムタイプ XML を再読み込みし、欠落しているテーブルと列を作成

dw_itemtype_usages

アイテムタイプを使用しているページとパラグラフを一覧表示

dw_itemtype_clean_table

破壊的操作。 アイテムタイプのテーブルから孤立した行を削除

新しい XML をデプロイした後は、dw_itemtype_sync_schema、次に dw_itemtype_health を実行します。同期エンドポイントは途中で中断された場合でも「ok」と応答するため、実際に機能したかどうかを教えてくれるのはヘルスチェックです。また、/Files/System/Log/items/ActivationWorkflow に実際のエラーが記録されます。テーブルが完全に存在しないアイテムタイプは、ヘルスレポートにまったく表示されません。

フィールド

ツール

説明

dw_field_list

アイテムタイプのフィールドを一覧表示

dw_field_save

フィールドを追加または更新

dw_field_delete

フィールドを削除

dw_field_types

DW インスタンスから利用可能なすべてのエディタタイプを一覧表示(ハードコードされていない)

ページ

ツール

説明

dw_page_list

ページを一覧表示。エリアまたは親でオプションでフィルタリング可能

dw_page_get

すべてのアイテムフィールドを含むページを取得

dw_page_create

親の下にページを作成

dw_page_set_fields

ページのアイテムフィールド値を設定

dw_page_delete

ページを削除

dw_area_list

すべてのエリア(ウェブサイト)を一覧表示

パラグラフ

ツール

説明

dw_paragraph_list

ページ上のパラグラフを一覧表示

dw_paragraph_get

すべてのアイテムフィールドを含むパラグラフを取得

dw_paragraph_create

ページ上にパラグラフを作成

dw_paragraph_set_fields

パラグラフのアイテムフィールド値を設定

dw_paragraph_delete

パラグラフを削除

dw_page_set_fieldsdw_paragraph_set_fields は自身の書き込みを検証します。アイテムタイプが宣言していないフィールド名はエラーとなり、そのアイテムタイプが持つ名前の一覧が表示されます。また、保存後にアイテムを読み戻し、現在保持されている値を返します。DW は値が保存されたかどうかに関係なく「ok」と応答するため、SystemName のタイポは以前は成功した書き込みと区別がつきませんでした。

製品

ツール

説明

dw_product_list

製品を一覧表示。グループまたは検索でオプションでフィルタリング可能

dw_product_get

単一の製品を取得(CustomFields/CategoryFields を含む完全なモデル)。製品が存在しない場合は API エラーではなく {found: false} を返します

dw_product_update

製品のトップレベルフィールド、customFields、categoryFields を更新

dw_product_delete

1 つ以上の製品を削除

dw_product_bulk_discount

グループまたは製品リスト全体の DefaultPrice にパーセント割引を適用

dw_product_update は 3 つの入力マップを受け付けます:

  • fields - トップレベルの製品フィールド(Name、DefaultPrice、Stock など)

  • customFields - SystemName をキーとするグローバル製品カスタムフィールド値

  • categoryFields - SystemName をキーとする製品カテゴリフィールド値

製品スキーマ

PIM データモデルを管理します:製品カテゴリ(属性のグループ)と製品フィールド(属性自体)。

ツール

説明

dw_product_field_type_list

15 種類の製品フィールドタイプを一覧表示(TypeId + エイリアス)

dw_product_category_list

製品カテゴリを一覧表示

dw_product_category_save

製品カテゴリを作成または更新

dw_product_category_delete

カテゴリを削除(3 ステップの DW ワークフローは内部で処理)

dw_product_field_list

カテゴリに属するフィールドを一覧表示

dw_product_field_save

カテゴリのフィールドを作成または更新(タイプエイリアスを受け付けます)

dw_product_field_delete

単一のカテゴリからフィールドを削除

ファイル

ツール

説明

dw_files_list

ディレクトリ内のファイルを一覧表示。拡張子でオプションでフィルタリング可能

dw_files_directories

サブディレクトリを一覧表示

デリバリー API(読み取り専用)

ツール

説明

dw_content_areas

Delivery API からエリアを取得

dw_content_pages

コンテンツ付きのページを取得

dw_content_paragraphs

コンテンツ付きのパラグラフを取得

API ディスカバリ

ツール

説明

dw_api_search

キーワードで Swagger 仕様からエンドポイントを検索

dw_api_endpoint_schema

エンドポイントのリクエスト/レスポンススキーマを取得

dw_api_call

任意の Admin API エンドポイントへの生の呼び出し

Related MCP server: TeamDesk MCP Server

セットアップ

1. DW API トークンを取得する

DynamicWeb Admin で、Settings > Developer > API Keys に移動し、フルアクセス権を持つ新しいキーを作成します。

2. AI クライアントを設定する

プロジェクトの .mcp.json に追加します:

{
  "mcpServers": {
    "dynamicweb": {
      "command": "npx",
      "args": ["-y", "@degree-as/dynamicweb-mcp"],
      "env": {
        "DW_BASE_URL": "https://your-dw-instance",
        "DW_API_TOKEN": "your-token"
      }
    }
  }
}

~/Library/Application Support/Claude/claude_desktop_config.json(macOS)または %APPDATA%\Claude\claude_desktop_config.json(Windows)を編集します:

{
  "mcpServers": {
    "dynamicweb": {
      "command": "npx",
      "args": ["-y", "@degree-as/dynamicweb-mcp"],
      "env": {
        "DW_BASE_URL": "https://your-dw-instance",
        "DW_API_TOKEN": "your-token"
      }
    }
  }
}

~/.cursor/mcp.json(グローバル)または .cursor/mcp.json(プロジェクト)に追加します:

{
  "mcpServers": {
    "dynamicweb": {
      "command": "npx",
      "args": ["-y", "@degree-as/dynamicweb-mcp"],
      "env": {
        "DW_BASE_URL": "https://your-dw-instance",
        "DW_API_TOKEN": "your-token"
      }
    }
  }
}

プロジェクトに .vscode/mcp.json を追加します(注:mcpServers ではなく servers を使用します):

{
  "servers": {
    "dynamicweb": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@degree-as/dynamicweb-mcp"],
      "env": {
        "DW_BASE_URL": "https://your-dw-instance",
        "DW_API_TOKEN": "your-token"
      }
    }
  }
}

~/.codeium/windsurf/mcp_config.json を編集します:

{
  "mcpServers": {
    "dynamicweb": {
      "command": "npx",
      "args": ["-y", "@degree-as/dynamicweb-mcp"],
      "env": {
        "DW_BASE_URL": "https://your-dw-instance",
        "DW_API_TOKEN": "your-token"
      }
    }
  }
}

Cline の MCP 設定 UI から設定するか、その設定ファイルに追加します:

{
  "mcpServers": {
    "dynamicweb": {
      "command": "npx",
      "args": ["-y", "@degree-as/dynamicweb-mcp"],
      "env": {
        "DW_BASE_URL": "https://your-dw-instance",
        "DW_API_TOKEN": "your-token"
      }
    }
  }
}

Zed の settings.json に追加します(注:context_servers を使用します):

{
  "context_servers": {
    "dynamicweb": {
      "source": "custom",
      "command": "npx",
      "args": ["-y", "@degree-as/dynamicweb-mcp"],
      "env": {
        "DW_BASE_URL": "https://your-dw-instance",
        "DW_API_TOKEN": "your-token"
      }
    }
  }
}

~/.continue/config.yaml に追加します:

mcpServers:
  - name: dynamicweb
    command: npx
    args:
      - -y
      - "@degree-as/dynamicweb-mcp"
    env:
      DW_BASE_URL: https://your-dw-instance
      DW_API_TOKEN: your-token

3. クライアントを再起動する

MCP サーバーは AI クライアントの読み込み時に自動的に起動します。

ローカル開発

公開パッケージの代わりにソースから実行する場合:

git clone https://github.com/Degree-AS/degree-dynamicweb-mcp.git
cd degree-dynamicweb-mcp
npm install
npm run build

次に、.mcp.json"command": "node", "args": ["/path/to/degree-dynamicweb-mcp/dist/index.js"] を使用します。

フィールドタイプのエイリアス

アイテムタイプのフィールド(dw_field_savedw_itemtype_create

フィールドを作成するとき、完全な .NET クラス名の代わりに短いエイリアスを使用できます:

エイリアス

エディタ

text

TextEditor

longtext

LongTextEditor

richtext

RichTextEditor

richtextlight

RichTextEditorLight

file / image

FileEditor

folder

FolderEditor

media

MediaEditor

link

LinkEditor

itemlink

ItemLinkEditor

itemrelation

ItemRelationListEditor

number

IntegerEditor

decimal

DecimalEditor

date

DateEditor

datetime

DateTimeEditor

checkbox

CheckboxEditor

checkboxlist

CheckboxListEditor

dropdown

DropDownListEditor

radiolist

RadioButtonListEditor

editablelist

EditableListEditor

color

ColorEditor

colorswatch

ColorSwatchEditor

itemtype

ItemTypeEditor

itemtab

ItemTypeTabEditor

user

UserEditor

singleuser

SingleUserEditor

usergroup

SingleUserGroupEditor

geolocation

GeolocationEditor

googlefont

GoogleFontEditor

hidden

HiddenFieldEditor

password

PasswordEditor

完全な .NET エディタクラス名も受け付けられます。dw_field_types を使用して、DW インスタンスから利用可能なすべてのエディタを確認できます。

繰り返し可能なリスト(itemrelation

itemrelation(ItemRelationListEditor)は子アイテムの繰り返し可能なリストを作成します。これは FAQ アイテム、行、人物などをモデル化するための汎用的な方法です(Question1..5 のような固定番号スロットの代わり)。追加の 2 つのパラメータが必要です:

Param

Required

Description

itemRelationType

はい

リストが保持する子アイテムタイプの systemName。先に作成してください。

itemSource

いいえ

アイテムの保存場所。デフォルトは CurrentParagraph(行はオーナーに保存されます)。

子アイテムタイプを先に作成し、次に親を作成します:

// 1) child row
dw_itemtype_create { systemName: "OpeningHoursRow", fields: [
  { name: "Label", systemName: "Label", type: "text" },
  { name: "Value", systemName: "Value", type: "text" },
]}
// 2) parent with the repeatable list
dw_itemtype_create { systemName: "OpeningHours", fields: [
  { name: "Title", systemName: "Title", type: "text" },
  { name: "Rows",  systemName: "Rows",  type: "itemrelation", itemRelationType: "OpeningHoursRow" },
]}

このツールは、必要な EditorConfiguration + EditorFields(Item type / Item source)と、基になる Int32 型を自動的に生成します。

プロダクトフィールド(dw_product_field_save

プロダクトフィールドは別のシステムを使用します。エディターのクラス名ではなく、FieldTypeAll の整数 TypeId を使用します:

Alias

TypeId

Name

text / text255

1

テキスト (255)

longtext

2

長いテキスト

checkbox

3

チェックボックス

date

4

日付

datetime

5

日付/時刻

number / integer

6

整数

decimal

7

小数

link

8

リンク

file

9

ファイル

text100

10

テキスト (100)

text50

11

テキスト (50)

text20

12

テキスト (20)

text5

13

テキスト (5)

richtext / editor

14

エディター

list / dropdown

15

リスト

数値の TypeId も直接受け付けられます。dw_product_field_type_list を使用して、DW インスタンスから最新のリストを取得してください。

アーキテクチャ

src/
  index.ts          Entry point - reads config from env, registers tools
  client.ts         DwClient - HTTP client for Admin API, Update API, Delivery API
  utils.ts          Shared Zod helpers (jsonParam, numParam) and response helpers (prop, pascal)
  tools/
    itemTypes.ts    Item type CRUD, fields, restrictions, settings, editor discovery, schema health and sync
    pages.ts        Page and area management
    paragraphs.ts   Paragraph management (uses ParagraphNew + ParagraphSave)
    products.ts     Product CRUD, bulk discount, custom/category field value updates
    productSchema.ts Product categories and product field schema management
    files.ts        File and directory browsing
    delivery.ts     Read-only Delivery API
    discovery.ts    Swagger search, endpoint schema, raw API calls

DW API サーフェス

DynamicWeb Admin API には、3 つの呼び出し規約があります:

  1. Admin APIGET /admin/api/{Endpoint})- URL パラメーターを使用したクエリ

  2. Command APIPOST /admin/api/{Endpoint})- { Model: {...} } ボディを使用した変更。削除コマンドはフラットなボディ(Model ラッパーなし)を使用します。

  3. Update APIPOST /Admin/Api/{Endpoint}?Query.Type={Type})- { QueryData: {...}, model: {...} } ボディを使用した既存レコードの更新

DwClient には、それぞれに対応する専用メソッドがあります:get()post()command()update()delivery()

開発

npm run dev      # Run with tsx (hot reload)
npm run build    # Compile TypeScript
npm run start    # Run compiled version

変更後は、npm run build を実行し、Claude Code を再起動して新しいバージョンを反映してください。

A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for TeamDesk databases, enabling CRUD operations, search, and document generation via natural language.
    3
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for Shopify Admin API. Enables product, order, customer, and inventory management via natural language.
    19
    1
    MIT

View all related MCP servers

Related MCP Connectors

  • MCP server for AI access to Swagger by SmartBear.

  • An MCP server that let you interact with Cycloid.io Internal Development Portal and Platform

  • GibsonAI MCP server: manage your databases with natural language

View all MCP Connectors

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