mcp-dataverse

Microsoft Dataverse MCP server: 54 tools for CRUD, FetchXML, metadata, audit, batch, solutions and more.

MCP Dataverse

The most complete MCP server for Microsoft Dataverse.

73 tools · 4 resources · 10 guided workflows · Zero config auth

npm npm downloads CI Node 20+ TypeScript License: MIT

→ Full Documentation


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.

  • No Azure AD app registration — device code flow, zero pre-configuration
  • 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

No PAC CLI, no app registration, no client secret. Uses Microsoft's device code flow (MSAL):

  1. First tool call → a sign-in code appears in the MCP Output panel (View → Output → MCP)
  2. Open https://microsoft.com/devicelogin → enter the code → sign in with your work account
  3. Done. Token is cached encrypted — all future starts are silent

Re-authenticate after ~90 days of inactivity: npx mcp-dataverse-auth


Capabilities

CategoryCountDescription
Metadata8Tables, schema, relationships, option sets, entity keys
Query3OData, FetchXML, paginated retrieval
CRUD6Get, create, update, delete, upsert, assign
Actions & Functions6Bound/unbound Dataverse actions and functions
Batch1Up to 1000 operations atomically
Solutions3List solutions, components, publish customizations
Search1Full-text Relevance Search
Users & Teams3Users, roles, teams
Files2Upload/download file and image columns
+ moreAudit, trace logs, delta tracking, impersonation, annotations…
Assistance4Tool router, workflow guide

→ Full Capabilities Reference


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

SymptomFix
No sign-in promptOpen View → Output → MCP — the device code is displayed there
No MSAL accounts foundRun npx mcp-dataverse-auth then restart the server
Authentication timed outRestart the MCP server — a fresh code is generated automatically
Server not appearing in Agent modeRun npx mcp-dataverse install or npx mcp-dataverse doctor
HTTP errorsRun 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

VersionFeatureStatus
v0.4HTTP transport + attribute management + schema consistency✅ Released
v0.5Enterprise auth (Client Credentials, Managed Identity) + MCP Prompts🔴 Planned

→ Full Roadmap


License

MIT © Ali Taggaz

Related Servers