trackmcp
Back to directory
codeurali

mcp-dataverse

View on GitHub

MCP server for Microsoft Dataverse Web API for devs !

13 stars JavaScriptOthers Updated Sep 2, 2026
dataversemcp-servermicrosoft-dataversemodel-context-protocolpower-platform

Documentation

MCP Dataverse



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

bash
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.

Update

bash
npx mcp-dataverse update

No re-config required — just checks your existing setup and shows what changed. `npx` auto-fetches the latest version on each run, so simply restarting your MCP client is enough to get the new tools.


Authentication

Three modes — choose based on where the server runs:

ModeWhen to use
Device Code (default)Local development — interactive Microsoft login, token cached on disk
Client CredentialsUnattended: CI/CD, Docker, Azure services — `authMethod: "client-credentials"` + App Registration
Managed IdentityAzure-hosted (App Service, Container Apps) — zero secrets, `authMethod: "managed-identity"`

Device code quick start: authentication triggers on the first tool call.

1. Open `View → Output → MCP` — a sign-in code appears

2. Go to `https://microsoft.com/devicelogin`, enter the code, sign in with your work account

3. Token is cached encrypted — all future starts are silent

For client credentials and managed identity setup, see Authentication docs.


Capabilities

CategoryCountDescription
Metadata9Tables, schema, relationships, option sets, entity keys
Query3OData, FetchXML, paginated retrieval
CRUD6Get, create, update, delete, upsert, assign
Relations4Associate, associate bulk, disassociate, query associations
Actions & Functions6Bound/unbound Dataverse actions and functions
Batch1Up to 1000 operations atomically
Solutions2Publish customizations, create sitemap
Search1Full-text Relevance Search
Users & Teams4Users, roles, teams, role assignment
RBAC7Role privileges: list, assign, remove, add, replace, get, team
Files2Upload/download file and image columns
Audit & Trace3Audit log, plugin trace logs, workflow trace logs
Annotations2Notes and file attachments
Customization4Custom actions, plugins, env variables, connection references
Attributes4Create, update, delete columns; lookup column type
Schema (write)2Create custom tables and relationships
Record Access4Check, grant, revoke record sharing; merge records
Assistance2Tool router, tool tags
+ moreDelta sync, impersonation, views, business units, duplicate detection

→ Full Capabilities Reference


HTTP Transport

Run as an HTTP server for multi-client use:

bash
MCP_TRANSPORT=http MCP_HTTP_PORT=3000 MCP_HTTP_SECRET=mysecret node dist/server.js

Connect using VS Code / Copilot with:

json
{
  "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 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 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, Entra JWT)✅ Released
v0.6MCP Prompts (5 templates) + MCP Resources (4)✅ Released
v0.7Schema write (create table/relationship) + Record Access (share, merge)✅ Released (v0.7.5)

→ Full Roadmap


License

MIT © Ali Taggaz

Frequently asked questions

What is mcp-dataverse?

mcp-dataverse is MCP server for Microsoft Dataverse Web API for devs !

How do I install mcp-dataverse?

Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

Is mcp-dataverse open source?

Yes — it is hosted on GitHub at https://github.com/codeurali/mcp-dataverse and has 13 stars.

Related MCP tools

Run your own MCP server? See who uses it and what to fix.

Measure it with TrackMCP