Generated banner for Dataverse
Generated logo for Dataverse

Dataverse

JetBrainsOfficialCreated by MicrosoftDistributed by JetBrains

  • Skill
  • Tool integration
  • Automation and integrations
  • MIT
  • Low risk

From the author

Microsoft Dataverse / Power Platform for coding agents -- connect to an environment, then record CRUD, bulk data, queries & analytics (pandas DataFrames, Jupyter notebooks), schema & metadata, solution ALM, administration, security, plug-in / custom-API / .NET (IOrganizationService) and Python-SDK / Web-API development, and Finance & Operations X++. Use whenever the user mentions Dataverse, Dynamics 365, Power Platform, or CRM, or asks to connect to, read, query, analyze, write, build an app / notebook / plugin / custom API against, register components on, or explore data, records, tables, entities, or an environment in any of them -- even if they do not say "Dataverse" or ask to connect first.
— the description by Microsoft

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

The dataverse skill serves as the primary entry point for coding agents to interact with the Microsoft Power Platform ecosystem. It provides a structured framework for installing necessary specialist skills, authenticating via the Dataverse CLI, and routing requests to specific modules for data operations, metadata management, solution lifecycle management, and security administration. The skill is designed to handle both simple CLI-based data queries and advanced in-agent tool integration via MCP or the Python SDK.

What it does

  • Installs global specialist skills for Dataverse and Power Platform management.
  • Handles environment authentication and CLI profile configuration.
  • Facilitates CRUD operations, bulk data handling, and complex queries.
  • Manages schema, metadata, and solution lifecycle tasks.
  • Configures security roles, business units, and environment administration.
  • Supports Finance and Operations X++ development and deployment.

When to use it

  • When connecting to or configuring a Dataverse, Dynamics 365, or Power Platform environment.
  • When performing data reads, writes, or analytics against Dataverse tables.
  • When managing solution ALM, environment metadata, or security settings.
  • When setting up in-agent tools or Python SDK integration for bulk data tasks.

Advantages

  • Provides a unified interface for diverse Power Platform tasks.
  • Supports both lightweight CLI workflows and deep in-agent tool integration.
  • Automates the installation of persistent global skills.
  • Includes built-in support for telemetry attribution in specific IDE environments.

Usage examples

“Connect to my Dataverse environment and list the first 10 contacts.”
The agent installs the required skills, authenticates using the CLI, and executes a query to retrieve and display the requested contact records.
“Set up the environment for bulk data analysis using Python.”
The agent installs the necessary Python dependencies and configures the environment to allow bulk data operations and analytics via the Python SDK.

Install

  1. Download the skill as a ZIP:

    https://autogineer.com/agent-skills/jetbrains/dataverse/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip dataverse.zip -d .agents/skills

Documentation by Microsoft

Microsoft Dataverse

Entry point for working with Microsoft Dataverse (Power Platform / Dynamics 365) from a coding agent. It installs the specialist Dataverse skills, connects the environment, and routes each request to the right skill.

NeedSkill
Connect, authenticate, configure MCP, verify / troubleshootdv-connect
Record CRUD, bulk create/update/upsert, CSV / FK-ordered importdv-data
Reads & analytics -- OData, QueryBuilder, FetchXML, DataFramesdv-query
Schema -- tables, columns, relationships, forms, viewsdv-metadata
Solution ALM -- create, export, import, pack/unpackdv-solution
Environment administration -- bulk delete, retention, org settingsdv-admin
Security & access -- roles, users, business unitsdv-security
Finance & Operations X++ -- author, build, deployerp-xpp

How to use this skill (read first -- act, do not stall)

When the user asks to connect / set up / authenticate / switch an environment, or to read / query / write Dataverse data:

  1. Act now, in this turn. Work through the steps below immediately. Do not stop or report a blocker because the specialist skills, the Dataverse CLI, Python, or MCP tools are missing -- installing and authenticating them IS the task, not a reason to stop.

  2. Do not re-ask for what you were given. If the request already contains the environment URL, use it.

  3. A Dataverse CLI profile is enough to authenticate AND answer data queries. The MCP server and Python SDK are optional -- never require them for a connect or a simple read.

  4. If a cached or stale skill path fails to resolve, find the active dataverse skill and continue from it.

Step 1: Install the specialist skills (run now)

If dv-overview / dv-connect / the needed dv-* skill is not already installed, run this immediately -- do not ask first, and do not report the missing skill as a blocker:

npx skills add microsoft/Dataverse-skills -s "*" -g

The -g flag installs the skills globally for every agent and project (under your global skills dir, e.g. ~/.agents/skills and ~/.codex/skills), so they persist across sessions and projects. Read dv-overview and dv-connect in the same turn and continue. If network policy blocks the command, request network escalation and retry before reporting it blocked.

Step 2: Install the Dataverse CLI

ToolCheckInstall
Node.jsnode --versionprerequisite for the CLI
Dataverse CLInpm list -g @microsoft/dataversenpm install -g @microsoft/dataverse@latest (only if missing)

Python is optional. It is needed only for the Python SDK paths (dv-data / dv-query bulk + analytics) and scripts/auth.py. If Python is absent, continue with the CLI, note that the SDK path was skipped, and do not install an interpreter unless the task needs it.

Step 3: Authenticate (CLI)

dataverse auth create --environment <your-environment-url>

If interactive auth produces no prompt (a restricted or headless host), stop it and retry with --deviceCode, then share the device code with the user. Record DATAVERSE_URL and TENANT_ID in a project .env. If an admin-consent error appears, share the exact consent URL the CLI prints -- never synthesize one.

Step 4: Verify, then serve the request

dataverse auth who       # confirms the profile + environment
dataverse org who        # confirms the data plane

Once the profile targets the right environment, you are connected for CLI data work -- route to the specialist skill and answer the request now. Example read:

dataverse data query --sql "SELECT TOP 10 firstname, lastname FROM contact WHERE lastname LIKE 'A%' ORDER BY lastname, firstname" --json

When the user says "top N" without giving a ranking, pick a sensible sort (e.g. alphabetical) and state which you used.

Step 5 (optional): MCP server + Python SDK

Do this only when the user wants in-agent Dataverse tools (MCP) or bulk / analytics via the Python SDK. Neither is required for CLI reads.

  • MCP: set MCP_CLIENT_ID in .env (Copilot aebc6443-996d-45c2-90f0-388ff96faa56; Claude / Cursor / Codex 0c412cc3-0dd6-449b-987f-05b053db9457), register npx @microsoft/dataverse mcp <url> in the agent's MCP config (.mcp.json for Copilot, claude mcp add for Claude, ~/.cursor/mcp.json for Cursor, ~/.codex/config.toml for Codex), then allowlist with dataverse mcp allow <MCP_CLIENT_ID> (or python scripts/enable-mcp-client.py if dv-connect fetched it). The agent must restart before MCP tools load. Tenant admin consent gates MCP registration only -- CLI reads may proceed from the authenticated profile while consent is pending.

  • Python SDK: pip install --upgrade PowerPlatform-Dataverse-Client python-dotenv azure-identity msal msal-extensions requests pandas.

Connection states (report precisely -- do not conflate)

  • CLI authenticated -- dataverse auth who shows the intended URL + user.

  • Data-plane reachable -- a real read succeeds (e.g. a small dataverse data query).

  • MCP configured -- client allowlisted, GA validation passes, host config points at the URL (a Preview 403 is expected when GA is valid).

  • MCP loaded -- the agent was restarted and now exposes the Dataverse tools.

Never claim MCP is connected just because CLI auth succeeded.

Telemetry attribution (JetBrains)

When dv-connect runs under a JetBrains IDE it detects the surface and appends a /jetbrains suffix to the agent, writing DATAVERSE_PLUGIN_AGENT=<agent>/jetbrains (e.g. codex/jetbrains) to .env; scripts/auth.py then stamps agent=<agent>/jetbrains into the operation-context so Dataverse telemetry attributes the traffic to JetBrains. If the suffix is missing after connect, append /jetbrains to the DATAVERSE_PLUGIN_AGENT value yourself. Use the verified plugin version in any attribution context (read it from the plugin manifest) -- never guess it.

Helper scripts

scripts/auth.py (auth + attribution) and scripts/enable-mcp-client.py (MCP allowlist) are not bundled with this tile -- the dv-connect skill fetches them from canonical (microsoft/Dataverse-skills) into the project scripts/ directory at connect-time. Only the Python SDK path and the script-based MCP allowlist need them; CLI reads do not. If a task needs scripts/auth.py and it is absent, run dv-connect first. Do not imply auth.py ran if Python is absent.

Files

Requirements and compatibility

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

Needs: Needs an MCP server, Needs Python, Needs Node.js

The author says: Requires network/internet access to reach the Dataverse Web API and Microsoft Entra ID for authentication.

Security

What our scanner noticed· Low risk

  • Instructions that use the network

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

Created by
Microsoft
Publisher
JetBrains (Official)
Distributed by
JetBrains
Source
JetBrains/skills · dataverse · commit 3f53782
Licence
MIT License (redistribution allowed)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

AutoGineer is not affiliated with or endorsed by Microsoft or JetBrains.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download dataverse.zip