Dataverse Plugin MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Dataverse Plugin MCPGenerate an xray report for the assembly MyAssembly"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Dataverse Plugin MCP
An MCP server that lets an AI assistant (Claude, etc.) scaffold, build, register, query, and diagnose Microsoft Dataverse (Power Platform / Dynamics 365) plug-ins directly from a conversation — no need to leave the editor to open the Plugin Registration Tool or hand-write Web API calls.
Instead of reimplementing the registration logic from scratch, this MCP orchestrates tools you already use and already have authenticated on your machine:
Power Platform CLI (
pac) — project scaffolding, build, and push of already-registered packages.Azure CLI (
az) — reuses your already-authenticated session (same account/tenant aspac) to get a token and talk directly to the Dataverse Web API (query and register SDK message processing steps, images, execution logs, etc.).
Why this exists
Registering a Dataverse plug-in normally means switching between several tools: pac plugin init for the project skeleton, the Plugin Registration Tool (GUI) for the first registration, and either the PRT or manual Web API calls to bind messages/entities/stages and configure pre/post images. This MCP brings that whole flow into tools an AI assistant can call directly, including operations that usually only exist in the GUI (a full assembly diagnostic report, step editing, trace logs).
Related MCP server: Dynamics 365 MCP Server
Prerequisites
Tool | Purpose | Install |
Runs the MCP server | — | |
Manages the environment/dependencies |
| |
Scaffolding, build, push, PRT |
| |
Web API access token | official installer | |
.NET SDK | Builds the |
Authenticate both CLIs once, with the same account that has access to the target Dataverse environment:
pac auth create --environment https://YOUR-ENVIRONMENT.crm.dynamics.com
az loginThe server never stores or asks for credentials — it always delegates to these two already-authenticated sessions.
Installation
git clone https://github.com/lucasjesus0311/dataverse-plugin-mcp.git
cd dataverse-plugin-mcp
uv syncConfigure in Claude Code
claude mcp add dataverse-plugins -- uv --directory "PATH/TO/dataverse-plugin-mcp" run dataverse_plugins_server.pyConfigure in Claude Desktop
Edit claude_desktop_config.json (under %APPDATA%\Claude\, or if the app was installed from the Microsoft Store, under %LOCALAPPDATA%\Packages\<PackageId>\LocalCache\Roaming\Claude\):
{
"mcpServers": {
"dataverse-plugins": {
"command": "C:\\PATH\\TO\\uv.exe",
"args": [
"--directory", "C:\\PATH\\TO\\dataverse-plugin-mcp",
"run", "dataverse_plugins_server.py"
]
}
}
}Use the full path to uv.exe (find it with where uv on Windows or which uv on macOS/Linux) — GUI apps don't always inherit the shell PATH. Fully restart Claude Desktop after saving.
Available tools
24 tools, organized by stage of a plug-in's lifecycle. Full reference with every parameter in docs/TOOLS.md.
Category | Tools |
Environment |
|
Local development |
|
Registration |
|
Steps (CRUD) |
|
Images (CRUD) |
|
Query |
|
Deletion |
|
Diagnostics |
|
xray_assembly deserves a callout: it generates a complete report of a registered assembly in a single call — classes, steps with every setting, images, and the latest trace log entries.
⚠️ Security notice
Several tools perform real writes to the configured Dataverse environment (creating/editing/deleting steps, images, assemblies, packages; toggling tracing; updating the running code via push_plugin_update). They act with the same permissions as your pac/az session — always test in a development environment, never directly in production. Each tool's docstring clearly flags when an operation is destructive or irreversible.
Known limitations
First-time registration of a package/assembly: there is no CLI command or simple Web API call for this — Microsoft reserves this step for the Plugin Registration Tool or the Visual Studio extension (which reflect over the assembly to auto-discover its classes). Use
open_registration_tool()for this one-time step; after that,push_plugin_update()covers every update via CLI.PATCHonsdkmessageprocessingstepimages: the Dataverse Web API rejects direct updates to this table with a generic, undocumented error (0x80040216).update_image()works around this by deleting and recreating the image.$expandonpackageidofpluginassemblies: returns400 Bad Request. The code uses_packageid_valueplus a separate lookup instead of$expand.
Project structure
.
├── dataverse_plugins_server.py # main server (24 tools)
├── docs/
│ └── TOOLS.md # full reference for every tool
├── examples/
│ └── hello_world_mcp_server.py # minimal example MCP (3 trivial tools)
├── plugins/ # C# plug-in projects generated/registered locally
└── pyproject.tomlMinimal example
If you're just getting started with MCP, examples/hello_world_mcp_server.py is a 3-tool trivial server (add, current time, reverse text) — a good starting point before diving into the main server.
License
Maintenance
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
- AlicenseBqualityCmaintenanceA Model Context Protocol (MCP) server that provides intelligent access to PowerPlatform/Dataverse entities and records. This tool offers context-aware assistance, entity exploration and metadata access.Last updated3813242MIT
- AlicenseBqualityDmaintenanceA Model Context Protocol server that enables interaction with Microsoft Dynamics 365 CRM from Claude Desktop, allowing users to retrieve, create, and update CRM data through natural language.Last updated521MIT
- Alicense-qualityCmaintenanceThe most complete MCP server for Microsoft Dataverse.Last updated68712MIT
- FlicenseAqualityCmaintenanceA minimal MCP server that gives AI coding agents clean read and write access to Microsoft Dataverse environments via the Dataverse Web API v9.2. It works as a drop-in alternative to Microsoft's own MCP server, without requiring Copilot Credits or managed environments.Last updated818
Related MCP Connectors
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
MCP server for AI dialogue using various LLM models via AceDataCloud
Official Microsoft MCP Server to query Microsoft Entra data using natural language
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/lucasjesus0311/dataverse-plugin-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server