MCP Dataverse

Registre officiel Sécurité

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

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

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
Configuration JSON (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>"
            }
        }
    }
}

Variables d'environnement

  • 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

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  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

Questions fréquentes

Qu'est-ce que MCP Dataverse ?

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

Comment installer MCP Dataverse ?

Il s'exécute sur votre machine. Dans 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. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour MCP Dataverse ?

Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.

MCP Dataverse est-il open source ?

Oui. Son code est sur GitHub sous licence MIT.

Qui maintient MCP Dataverse ?

Il est publié par codeurali. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.