Skip to content
Model Context Protocol / Microsoft Dataverse

Your agent should read the schema before it writes a query.

Most agents guess at Dataverse: invented columns, malformed OData, blind updates. MCP Dataverse gives them the real data model and 100 tools to work with it, under the identity and permissions you already manage.

$npx mcp-dataverse install
MODEL CONTEXT PROTOCOL · MICROSOFT DATAVERSE · MODEL CONTEXT PROTOCOL · MICROSOFT DATAVERSE · VS CodeClaudeCursorCopilot StudioaccountcontactleadtaskDataverse
100tools
Across 28 categories: records, metadata, FetchXML, batch, audit, security. Includes five interactive MCP Apps.
8.2k+downloads
On npm since February 2026, with 33 releases. The full history is in the changelog.
1000ops
Operations in a single batch request, with changesets and per-operation results.
Principles

Built for agents that have to be right.

A Dataverse environment is a system of record. The server is designed around that fact.

01

Schema first

Agents can read entity definitions, relationships, option sets and keys before they act, so column names are checked rather than guessed.

02

Entra ID identity, Dataverse permissions

Sign in with Microsoft Entra ID as a user, an app registration or a managed identity. Dataverse security roles decide what is allowed; the server adds no privilege. Security and guardrails

03

Operations that scale

Up to 1,000 operations in one batch request, with changesets for atomic groups and per-operation results.

04

One server, any client

VS Code Copilot, Claude Desktop, Cursor, Windsurf, Gemini CLI, Copilot Studio and Codex CLI. Anything that speaks MCP.

05

Installed in minutes

One command starts an interactive wizard. Node.js 20 or later is the only prerequisite.

In practice

One call, one structured answer.

Every tool returns a typed result with a summary and next-step suggestions, so the agent can chain operations without guessing.

Tool Calldataverse_query
{
  "tool": "dataverse_query",
  "parameters": {
    "entityLogicalName": "account",
    "select": [
      "name",
      "revenue",
      "createdon"
    ],
    "filter": "revenue gt 1000000",
    "orderby": "revenue desc",
    "top": 5
  }
}
Response200 OK
{
  "summary": "5 accounts found (revenue > $1M)",
  "data": [
    {
      "name": "Contoso Ltd",
      "revenue": 8500000,
      "createdon": "2024-01-15"
    },
    {
      "name": "Fabrikam Inc",
      "revenue": 5200000,
      "createdon": "2023-11-02"
    },
    // ... 3 more records
  ],
  "suggestions": [
    "Use dataverse_get to fetch full details",
    "Try dataverse_execute_fetchxml for complex joins"
  ]
}
Capabilities

What changes in a working day.

Six workflows that used to mean portal tabs and one-off scripts.

Schema

Explore your entire data model

Map tables, relationships, option sets and entity keys across any Dataverse org — without opening the portal or reading a single doc.

Ask your AI"Which tables are related to Contact, and what are their primary keys?"
list_tablesget_table_metadataget_relationshipsget_option_set
Data

Query data in plain language

OData filter, FetchXML aggregate, full-text search, paginated retrieval — your AI writes the right query, runs it, and explains the results.

Ask your AI"Find all active Accounts in France modified this week, sorted by revenue"
queryexecute_fetchxmlsearchretrieve_multiple_with_paging
Operations

Migrate and update at scale

Up to 1,000 create, update or delete operations in one atomic batch. Build data migration scripts at the speed of a conversation.

Ask your AI"Archive all Leads from the 2022 campaign and reassign their open Tasks"
batch_executecreateupdateupsertassign
Security

Audit security in one conversation

List roles, inspect privilege sets, detect over-permissioned users, grant or revoke record access — your full RBAC model at a glance.

Ask your AI"Who has System Administrator role? Flag any non-admins with delete privileges on Contact"
list_rolesget_role_privilegesassign_role_to_usercheck_record_access
Observability

Debug plugins and flows — no portal

Pull trace logs and workflow execution history, then let AI diagnose the error, explain the call stack, and suggest the fix.

Ask your AI"Why did the Contact update plugin fail this morning? Show me the trace and suggest a fix"
get_plugin_trace_logsget_workflow_trace_logslist_plugin_stepslist_workflows
Customization

Extend schema, deploy, iterate

Create tables, add columns, configure lookups and relationships, set environment variables, publish customizations — all via chat.

Ask your AI"Add a Priority Score decimal column to Account, then publish the customization"
create_tablecreate_attributecreate_relationshipset_environment_variablepublish_customizations

Tested with

VS Code CopilotClaude DesktopCursorWindsurfGemini CLICopilot StudioCodex CLI

Connect an agent to Dataverse in two minutes.

Pick an authentication mode, run the installer, and ask your first question about your own data.