
MCP Dataverse
- 12 repo stars
- Updated July 21, 2026
- codeurali/mcp-dataverse
io.github.codeurali/dataverse is a MCP server that provides 73 tools for Microsoft Dataverse CRUD, FetchXML, metadata, audit, batch, and role privileges.
About
io.github.codeurali/dataverse is a large-surface Model Context Protocol server for Microsoft Dataverse and Dynamics 365 environments. With seventy-three tools, it targets consultants and developers who automate entity work, run FetchXML, inspect metadata, review audit trails, execute batch changes, and reason about role privileges—all from Claude Code, Cursor, or VS Code without maintaining a custom Power Platform script library. Point it at your environment URL or a dedicated config.json via MCP_CONFIG_PATH for cleaner desktop setups. Expect advanced complexity: Dataverse security models, solutions, and production data demand discipline even when an agent proposes changes. Use during Build backend and integrations phases when your product or client delivery sits on Dataverse; it is phase-specific platform tooling, not a general SQL skill. The MCP schema-listed package is mcp-dataverse 0.5.0—verify tool behavior against your sandbox before agent-driven writes in production tenants.
- 73 MCP tools covering CRUD, FetchXML, metadata, audit, and batch operations
- Role privilege and security-oriented Dataverse administration from the agent
- npm mcp-dataverse v0.5.0 with stdio transport
- Configure via DATAVERSE_ENV_URL or MCP_CONFIG_PATH config.json (VS Code / Claude Desktop friendly)
- Official docs site at codeurali.github.io/mcp-dataverse
MCP Dataverse by the numbers
- Data as of Jul 22, 2026 (Skillselion catalog sync)
claude mcp add --env MCP_CONFIG_PATH=YOUR_MCP_CONFIG_PATH --env DATAVERSE_ENV_URL=YOUR_DATAVERSE_ENV_URL mcp-dataverse -- npx -y mcp-dataverseAdd your badge
Show developers this MCP server is listed on Skillselion. Paste this into your README.
| repo stars | ★ 12 |
|---|---|
| Package | mcp-dataverse |
| Transport | STDIO |
| Auth | None |
| Last updated | July 21, 2026 |
| Repository | codeurali/mcp-dataverse ↗ |
What it does
Give your agent 73 Microsoft Dataverse tools for CRUD, FetchXML, metadata, audit, batch jobs, and security roles while building on Dynamics.
Who is it for?
Developers and integrators on Power Platform/Dataverse who want broad agent coverage of CRM data and platform APIs.
Skip if: Skip if you're on Postgres-only stacks, hobby apps with no Microsoft tenant, or users and need only lightweight REST without Dynamics concepts.
What you get
After configuring DATAVERSE_ENV_URL or MCP_CONFIG_PATH, your agent can perform structured Dataverse operations across CRUD, queries, metadata, and admin tasks instead of ad-hoc scripts.
- 73 agent-callable tools for Dataverse operations
- FetchXML, metadata, audit, batch, and role privilege coverage
- Documented stdio MCP server with optional file-based config for desktop IDEs
By the numbers
- 73 tools documented in server description
- npm package mcp-dataverse version 0.5.0
- Environment variables DATAVERSE_ENV_URL and optional MCP_CONFIG_PATH for configuration
README.md
MCP Dataverse

The most complete MCP server for Microsoft Dataverse.
79 tools · 4 resources · 10 guided workflows · Three auth modes
Why MCP Dataverse?
AI agents hallucinate schema, guess column names, and build broken OData queries. This server gives them real-time access to your Dataverse environment — schema, records, metadata, solutions — through the Model Context Protocol.
- Three auth modes — device code (local), client credentials (CI/CD), managed identity (Azure-hosted)
- Works with any MCP client — VS Code, Claude, Cursor, Windsurf, Gemini, Codex CLI
- Atomic tools — each tool does one thing well; the AI picks the right one
- Structured outputs — every response returns
{summary, data, suggestions} - Guardrails — destructive operations require explicit confirmation
- Encrypted tokens — AES-256-GCM cached credentials, never logged
Install
npx mcp-dataverse install
The interactive wizard configures your environment, registers the server in VS Code, and authenticates your Microsoft account in under 2 minutes.
Requires Node.js 20+. For other clients (Claude, Cursor, Windsurf…) see Multi-Client Setup.
Authentication
Three modes — choose based on where the server runs:
| Mode | When to use |
|---|---|
| Device Code (default) | Local development — interactive Microsoft login, token cached on disk |
| Client Credentials | Unattended: CI/CD, Docker, Azure services — authMethod: "client-credentials" + App Registration |
| Managed Identity | Azure-hosted (App Service, Container Apps) — zero secrets, authMethod: "managed-identity" |
Device code quick start: authentication triggers on the first tool call.
- Open
View → Output → MCP— a sign-in code appears - Go to
https://microsoft.com/devicelogin, enter the code, sign in with your work account - Token is cached encrypted — all future starts are silent
For client credentials and managed identity setup, see Authentication docs.
Capabilities
| Category | Count | Description |
|---|---|---|
| Metadata | 9 | Tables, schema, relationships, option sets, entity keys |
| Query | 3 | OData, FetchXML, paginated retrieval |
| CRUD | 6 | Get, create, update, delete, upsert, assign |
| Relations | 4 | Associate, associate bulk, disassociate, query associations |
| Actions & Functions | 6 | Bound/unbound Dataverse actions and functions |
| Batch | 1 | Up to 1000 operations atomically |
| Solutions | 2 | Publish customizations, create sitemap |
| Search | 1 | Full-text Relevance Search |
| Users & Teams | 4 | Users, roles, teams, role assignment |
| RBAC | 7 | Role privileges: list, assign, remove, add, replace, get, team |
| Files | 2 | Upload/download file and image columns |
| Audit & Trace | 3 | Audit log, plugin trace logs, workflow trace logs |
| Annotations | 2 | Notes and file attachments |
| Customization | 4 | Custom actions, plugins, env variables, connection references |
| Attributes | 4 | Create, update, delete columns; lookup column type |
| Schema (write) | 2 | Create custom tables and relationships |
| Record Access | 4 | Check, grant, revoke record sharing; merge records |
| Assistance | 2 | Tool router, tool tags |
| + more | … | Delta sync, impersonation, views, business units, duplicate detection |
HTTP Transport
Run as an HTTP server for multi-client use:
MCP_TRANSPORT=http MCP_HTTP_PORT=3000 MCP_HTTP_SECRET=mysecret node dist/server.js
Connect using VS Code / Copilot with:
{
"servers": {
"dataverse": {
"type": "http",
"url": "http://localhost:3000/mcp",
"headers": {
"Authorization": "Bearer mysecret"
}
}
}
}
Troubleshooting
| Symptom | Fix |
|---|---|
| No sign-in prompt | Open View → Output → MCP — the device code is displayed there |
No MSAL accounts found |
Run npx mcp-dataverse-auth then restart the server |
Authentication timed out |
Restart the MCP server — a fresh code is generated automatically |
| Server not appearing in Agent mode | Run npx mcp-dataverse install or npx mcp-dataverse doctor |
| HTTP errors | Run npx mcp-dataverse doctor to diagnose config and connectivity |
Performance Tip
MCP Dataverse is designed to be comprehensive, but most AI models work best with fewer tools in context. Deselect the tools you don't need in your client's tool picker (e.g. VS Code Chat panel) to keep the agent focused and responsive.
Roadmap
| Version | Feature | Status |
|---|---|---|
| v0.4 | HTTP transport + attribute management + schema consistency | ✅ Released |
| v0.5 | Enterprise auth (Client Credentials, Managed Identity, Entra JWT) | ✅ Released |
| v0.6 | MCP Prompts (5 templates) + MCP Resources (4) | ✅ Released |
| v0.7 | Schema write (create table/relationship) + Record Access (share, merge) | ✅ Released (v0.7.5) |
License
Recommended MCP Servers
How it compares
Broad Dataverse database MCP with 73 tools, not a single-purpose CRM export script or generic SQL skill.
FAQ
Who is io.github.codeurali/dataverse for?
Developers and consultants building on Microsoft Dataverse or Dynamics who use MCP agents and need deep platform tool coverage.
When should I use io.github.codeurali/dataverse?
Use it during Build backend work when modeling entities, writing FetchXML, managing metadata, or automating batch and audit tasks in a Dataverse environment.
How do I add io.github.codeurali/dataverse to my agent?
Install the mcp-dataverse npm package, set DATAVERSE_ENV_URL or MCP_CONFIG_PATH to a config.json, and register the stdio server in Claude Desktop, VS Code, or Cursor MCP settings.