MCP Dataverse

Official registry Security

Microsoft Dataverse MCP server: CRUD, FetchXML, metadata, schema, audit, batch and security roles.

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

NPM package mcp-dataverse
Claude Code
claude mcp add mcp-dataverse -e 'MCP_CONFIG_PATH=<MCP_CONFIG_PATH>' -e 'DATAVERSE_ENV_URL=<DATAVERSE_ENV_URL>' -- npx -y mcp-dataverse@0.7.10
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "mcp-dataverse": {
            "command": "npx",
            "args": [
                "-y",
                "mcp-dataverse@0.7.10"
            ],
            "env": {
                "MCP_CONFIG_PATH": "<MCP_CONFIG_PATH>",
                "DATAVERSE_ENV_URL": "<DATAVERSE_ENV_URL>"
            }
        }
    }
}

Environment variables

  • MCP_CONFIG_PATH Path to a config.json file (overrides all other env vars). Recommended for VS Code / Claude Desktop setups.
  • DATAVERSE_ENV_URL Your Dataverse environment URL

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. MCP Dataverse
  2. Why MCP Dataverse?
  3. Install
  4. Update
  5. Authentication
  6. Capabilities
  7. HTTP Transport
  8. Troubleshooting
  9. Performance Tip
  10. Roadmap
  11. License

MCP Dataverse

An MCP server for Microsoft Dataverse.

100 tools · 4 resources · 5 guided workflows · Three auth modes

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

  • 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} as both text and MCP structuredContent (with a declared outputSchema on all core tools)
  • Guardrails — every tool declares read-only or destructive hints, and the riskiest operations require an explicit confirm: true
  • Encrypted token cache — AES-256-GCM cached credentials, kept out of tool output

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.

Update

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
+ more…Delta sync, impersonation, views, business units, duplicate detection

→ 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
Env varDefaultDescription
MCP_TRANSPORTstdiohttp enables the HTTP transport
MCP_HTTP_PORT3000Listen port (/mcp endpoint, /health probe)
MCP_HTTP_SECRET / BEARER_TOKEN—Static bearer token for inbound auth
ENTRA_TENANT_ID + ENTRA_CLIENT_ID—Validate inbound tokens as Entra v2.0 JWTs (RFC 9728 discovery auto-enabled)
MCP_HTTP_SESSION_TTL_MS1800000Idle session eviction timeout (30 min; 0 disables)
MCP_HTTP_REQUIRE_AUTH—true = refuse to start with no inbound auth configured
MCP_HTTP_CORS_ORIGIN*Allowed CORS origin — lock this down for hosted deployments
MCP_HTTP_JSON_RESPONSEtrueJSON responses (false = SSE streaming)

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, 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?

Microsoft Dataverse MCP server: CRUD, FetchXML, metadata, schema, audit, batch and security roles.

How do I install MCP Dataverse?

It runs on your machine. In Claude Code: claude mcp add mcp-dataverse -e 'MCP_CONFIG_PATH=<MCP_CONFIG_PATH>' -e 'DATAVERSE_ENV_URL=<DATAVERSE_ENV_URL>' -- npx -y mcp-dataverse@0.7.10. For other clients, paste the JSON configuration from this page into their MCP settings.

Does MCP Dataverse need an API key?

Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.

Is MCP Dataverse open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains MCP Dataverse?

It is published by codeurali. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.