Skip to main content

dataverse

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.

소스 정보

저장소
JetBrains/skills
최근 소스 활동
2026년 10월 9일 23:03
감지된 SKILL.md 언어
영어
스타
385
포크
33

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
3 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
dataverse
description
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.
license
Complete terms in LICENSE.txt
compatibility
Requires network/internet access to reach the Dataverse Web API and Microsoft Entra ID for authentication.
metadata
{"short-description":"Connect to Dataverse and unpack the full dv-* skill set","author":"Microsoft","source":"https://github.com/microsoft/Dataverse-skills/tree/main/.github/plugins/dataverse"}
# 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. | Need | Skill | | --- | --- | | Connect, authenticate, configure MCP, verify / troubleshoot | `dv-connect` | | Record CRUD, bulk create/update/upsert, CSV / FK-ordered import | `dv-data` | | Reads & analytics -- OData, QueryBuilder, FetchXML, DataFrames | `dv-query` | | Schema -- tables, columns, relationships, forms, views | `dv-metadata` | | Solution ALM -- create, export, import, pack/unpack | `dv-solution` | | Environment administration -- bulk delete, retention, org settings | `dv-admin` | | Security & access -- roles, users, business units | `dv-security` | | Finance & Operations X++ -- author, build, deploy | `erp-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 | Tool | Check | Install | | --- | --- | --- | | Node.js | `node --version` | prerequisite for the CLI | | Dataverse CLI | `npm list -g @microsoft/dataverse` | `npm 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.
GitHub에서 보기