Dataverse-skills
Microsoft Dataverse skills for AI coding agents. Wraps the Dataverse MCP server, Dataverse CLI, Python SDK, and PAC CLI behind specialist skills for building, querying, deploying, and administering Dataverse environments.
Links
README
From the repo.
Dataverse Skills
Build, query, and manage Microsoft Dataverse and linked Dynamics 365 Finance and Operations environments through natural language. The plugin teaches AI coding agents to drive the Dataverse MCP server, Dataverse CLI, Python SDK, and PAC CLI — from designing data models and answering CRM questions to deploying Dataverse solutions and Finance and Operations deployable packages.
| Skill | What it does |
|---|---|
| dv-connect | One-time setup that installs the Dataverse CLI, Python SDK, and PAC CLI; authenticates against your Dataverse environment; and registers the Dataverse MCP server with your agent. |
| dv-query | Reads, filters, paginates, and aggregates Dataverse records. Handles natural-language questions like "show me my open deals", multi-page result sets, and pandas DataFrame loading for notebook analysis. |
| dv-data | Single-record CRUD plus bulk import — CSV loads, multi-table imports with foreign-key dependencies, upsert by alternate key, and AI-generated sample data. |
| dv-metadata | Authors and edits the Dataverse data model: tables, columns, relationships, forms, and views. |
| dv-solution | Manages solution lifecycle — create, export, import, promote across environments, and validate deployments. |
| erp-xpp | Handles the Finance and Operations X++ lifecycle: model and metadata authoring, matching SDK installation, compile/build, deployable package deployment, database synchronization, and verification of custom services/APIs, runnable X++ classes, and public OData data entities. |
| dv-admin | Environment-level administration: bulk delete, retention/archival, organization settings, OrgDB settings, recycle bin, audit, and the allowlisted PPAC toggles. |
| dv-security | Assigns security roles, manages user access, adds application users, configures business units, and handles admin self-elevation. |
| dv-overview | Cross-cutting rules and tool routing; loaded before any other skill to direct each request to the right specialist. |
Browse .github/plugins/dataverse/skills/ for the full source.
Prerequisites
A Microsoft Dataverse environment, available through Power Apps, Dynamics 365, or Power Platform plans, or via the free Power Apps Developer Plan.
Install
GitHub Copilot
/plugin install dataverse@awesome-copilot
Claude Code
/plugin install dataverse@claude-plugins-official
Codex
Codex app and ChatGPT
- Open Plugins.
- Search for Microsoft Dataverse in the OpenAI plugin directory.
- Open the
dataverseplugin and select Install.
Codex CLI
Install directly from the OpenAI-curated marketplace:
codex plugin add dataverse@openai-curated
Alternatively, run /plugins, search for Microsoft Dataverse, and install
dataverse from the openai-curated marketplace.
Cursor
From agent chat
/add-plugin dataverse
From the marketplace UI
- Open Settings → Plugins in Cursor.
- Search the Marketplace for Dataverse.
- Open Microsoft Dataverse and select Add to Cursor.
The listing is published at cursor.com/marketplace/microsoft-dataverse.
Verify the install
After installation, ask your agent:
"Connect to Dataverse"
The dv-connect skill walks through tool checks, authentication, and MCP registration. When it finishes, you should see a dataverse-<orgname> MCP server registered with your agent, and pac auth list should show your active environment.
Try these prompts
After the connect flow finishes, describe what you want — the plugin picks MCP, the Dataverse CLI, the Python SDK, or PAC CLI for you.
- "Show me my open deals over $100K closing this quarter"
- "Import this CSV into the contacts table"
- "Create a customer feedback table with name, rating, and comment columns"
- "Pull the schema and pack it into a solution"
- "Create a runnable X++ class, compile it, and deploy its Finance and Operations package"
- "Bulk delete activities older than 2024"
- "Add a teammate to the sales team on the dev environment"
Safety & Security
The plugin is designed around a least-privilege model — it cannot exceed the permissions of the authenticated user. Key safeguards:
- MCP authorization — MCP access requires developer auth, tenant admin consent, and per-environment allowlisting; other plugin tools (SDK, PAC CLI) authenticate directly.
- Security role enforcement — every API call is authorized server-side by Dataverse; the plugin cannot bypass or escalate permissions.
- Application-level telemetry only — outbound Dataverse requests may carry application metadata (plugin / version / skill / agent labels) so server-side dashboards can attribute traffic. No prompts, tool arguments, or record data are transmitted.
- Token security — credentials are stored in your OS native credential store or held in memory only; never passed to external services.
For the full safety model — including confirmation flows, logging, irreversible operation handling, and planned improvements — see docs/safety-and-guardrails.md.
Contributing
We welcome contributions — new skills, improvements to existing ones, and bug fixes. See CONTRIBUTING.md for guidelines and local-development instructions.
Trademarks
This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.
License
This project is licensed under the MIT License.
Code of Conduct
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
Collected info
- ★ 224 stars
- ⎇ 60 forks
- Source updated: 9/16/2026
Config for your environment
Replace {MCP_ENDPOINT_URL} with this MCP’s endpoint URL (from its repo or docs above). No API key — you connect directly.
Tool
OS
Config file: ~/.cursor/mcp.json
{
"mcpServers": {
"mcp-server": {
"url": "{MCP_ENDPOINT_URL}"
}
}
}Paste into mcpServers in the config file. Restart Cursor after saving.
If this MCP is also published on mcpchannel.ai, you can subscribe from Browse and use the gateway config there instead.