How to do the real work of Dataverse from a coding agent. The enduring jobs a practitioner has always needed (modeling, querying, data, solutions, security, and administration) reimagined for the era where you describe intent and the agent drives the first-party tools: the Dataverse CLI, the Dataverse MCP server, the Python SDK, PAC, and the Dataverse-skills plugin.
Written by James Oleinik. Personal and open-source. Not official Microsoft documentation.
You do not invoke tools by hand. You describe intent ("create a recruiting system with five tables, lookups, and sample data"), the agent selects the right first-party tool, you review the change, and it goes through source control. This guide teaches that loop, job by job, with the guardrails that make it safe.
- Connect your agent to Dataverse install, auth, the MCP server, and the three-tool cost hierarchy.
The how-the-platform-works layer the agent chapters build on:
Each tool is a self-contained folder under tools/: a README.md, a
read-only preflight.py that checks the environment is ready, and its scripts.
Shared auth lives in scripts/auth.py; conventions in
AGENTS.md.
| Tool | Reimagines the task of | Status |
|---|---|---|
| schema-explorer | Metadata and schema exploration; emit a data dictionary | Validated live (read-only) |
| query-runner | Query building and translation | Validated live (read-only) |
| bulk-data | Bulk edits and migration at scale | Validated live (read + dry run) |
| security-auditor | Auditing privileges and role drift | Validated live (read-only) |
| solution-diff | Comparing environments before deployment | Validated live (read-only) |
| diagnostics | Trace logs, audit history, drift | Query validated live; needs prvReadPluginTraceLog |
| plugin-lifecycle | Plugin and automation lifecycle | Validated live (read-only) |
| typed-models | Early-bound and typed code generation | Validated live (read-only) |
| web-resources | Web resources, UI, and PCF | Validated live (read-only) |
| grounded-search | Grounded search and citation over records | Validated live (read-only) |
The nine practitioner jobs are covered, plus the first Part 2 superpower: grounded search over records (search, cite, and decline to answer without evidence). Next: the remaining superpowers (portable business skills, agentic administration, and guardrails-as-code).
Replace the placeholders: https://<your-org>.crm.dynamics.com, publisher prefix
cr123, schema prefix contoso_. Never commit real org URLs, tenant or org IDs, or
application-user names.
Launch Control demonstrates this whole stack end to end on one real system.
MIT. See LICENSE.