Manages Dynamics 365 plugin registrations: browses assemblies/types/steps, registers/updates/deletes processing steps and images, enables/disables steps.
npx claudepluginhub nickmeron/dataverse-mcp-serverThis skill is limited to using the following tools:
The user wants to manage plugin registrations in their Dynamics 365 environment.
Provides core rules and tool routing for Dataverse, Dynamics 365, and Power Platform tasks: enforces workspace init check, Python-only scripting, and MCP→SDK→Web API prioritization.
Adds Dataverse tables to Power Apps code apps with generated TypeScript models and services. Creates new tables via API. Use for connecting to Dataverse, schema design, or querying data.
Mandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
The user wants to manage plugin registrations in their Dynamics 365 environment.
Argument provided: $ARGUMENTS
Select environment — call list_environments, ask the user, call select_environment.
Determine the task:
list_plugin_assemblies (custom_only defaults to true — excludes Microsoft/System assemblies)get_plugin_assembly_details returns all plugin types (classes) inside itlist_processing_steps filtered by assembly name or plugin type IDThis is a multi-step process. Gather all required IDs first:
list_plugin_types to get the plugintypeidlist_sdk_messages with filter (e.g. "Create") to get the sdkmessageidlist_sdk_message_filters with the message name + entity to get sdkmessagefilteridregister_processing_step with:
name: descriptive name (e.g. "MyPlugin: PreOperation Create of account")plugin_type_id: from step 1sdk_message_id: from step 2sdk_message_filter_id: from step 3stage: 10 (PreValidation), 20 (PreOperation), or 40 (PostOperation)mode: 0 (Sync) or 1 (Async)filtering_attributes (comma-separated, for Update triggers)configuration (unsecure config string)impersonating_user_id (for running as a specific user)update_processing_step — supply only the fields to changetoggle_processing_step with enable: true or enable: falsedelete_processing_steplist_processing_steps or ask user)register_step_image with:
step_id: the processing step GUIDname: e.g. "PreImage" or "PostImage"entity_alias: how the plugin accesses it in code (e.g. "PreImage")image_type: 0=PreImage, 1=PostImage, 2=Bothattributes: comma-separated field names to capture (empty = all)message_property_name: "Target" for Create/Update, "Id" for Delete| Message | PreImage | PostImage |
|---|---|---|
| Create | ❌ No | ✅ Yes (Post-Op only) |
| Update | ✅ Yes | ✅ Yes (Post-Op only) |
| Delete | ✅ Yes | ❌ No |
list_step_images with the step IDget_org_settings to see current trace levelset_plugin_trace_setting with level: 0=Off, 1=Exception, 2=Allasyncautodelete: true can be set to auto-clean completed jobs