# MCP Dataverse

Connects AI coding assistants directly to Microsoft Dataverse for live schema inspection, FetchXML queries, and batch record updates.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 18
- Author: codeurali
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/codeurali/mcp-dataverse
- Updated: 2026-10-14
- HTML: https://affpapa.org/en/nevibecode/mcp/mcp-dataverse

## What it does

This server links coding assistants to Microsoft Dataverse environments over MCP. It exposes one hundred tools covering table schema, FetchXML and OData queries, file attachments, and audit records. Batch jobs handle up to 1000 operations at once.

You need Node.js 20 or newer. Authentication works through three paths: interactive device login with AES-256-GCM token storage for local work, client credentials for pipelines, or Managed Identity inside Azure.

Destructive calls enforce guardrails and stop unless you provide `confirm: true`. When sharing the service across clients, you can run it over HTTP by setting `MCP_TRANSPORT=http`.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `MCP_CONFIG_PATH`, `DATAVERSE_ENV_URL` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env MCP_CONFIG_PATH=<MCP_CONFIG_PATH> --env DATAVERSE_ENV_URL=<DATAVERSE_ENV_URL> --transport stdio mcp-dataverse -- npx -y mcp-dataverse
```
Replace <…> with your own values

### Codex

**Platform CLI**
```bash
codex mcp add mcp-dataverse --env MCP_CONFIG_PATH=<MCP_CONFIG_PATH> --env DATAVERSE_ENV_URL=<DATAVERSE_ENV_URL> -- npx -y mcp-dataverse
```
Replace <…> with your own values

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "mcp-dataverse": {
            "command": "npx",
            "args": [
                "-y",
                "mcp-dataverse"
            ],
            "env": {
                "MCP_CONFIG_PATH": "<MCP_CONFIG_PATH>",
                "DATAVERSE_ENV_URL": "<DATAVERSE_ENV_URL>"
            }
        }
    }
}
```
Replace <…> with your own values

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "mcp-dataverse": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "mcp-dataverse"
            ],
            "env": {
                "MCP_CONFIG_PATH": "<MCP_CONFIG_PATH>",
                "DATAVERSE_ENV_URL": "<DATAVERSE_ENV_URL>"
            }
        }
    }
}
```
Replace <…> with your own values

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e MCP_CONFIG_PATH=<MCP_CONFIG_PATH> -e DATAVERSE_ENV_URL=<DATAVERSE_ENV_URL> mcp-dataverse npx -y mcp-dataverse
```
Replace <…> with your own values

## When to use it
- Inspect live table schemas and relationships before querying
- Run OData and FetchXML searches without syntax hallucinations
- Process batch record updates up to 1000 items at a time
- Manage RBAC security roles and user privileges

## Example prompts
- Retrieve the latest ten account records using FetchXML
- Describe the column types and relations for the contact entity
- Run a batch update on these three lead records

## Similar
- [World Monitor](https://affpapa.org/en/nevibecode/mcp/world-monitor.md) — MCP server · ★ 89408
- [Scrapling MCP Server](https://affpapa.org/en/nevibecode/mcp/scrapling-mcp-server.md) — MCP server · ★ 89433
- [MCP Toolbox for Databases](https://affpapa.org/en/nevibecode/mcp/googleapis-mcp-toolbox-for-databases.md) — MCP server · ★ 16717
- [PostHog MCP Server](https://affpapa.org/en/nevibecode/mcp/posthog-mcp-server.md) — MCP server · ★ 40409
- [dbx](https://affpapa.org/en/nevibecode/mcp/dbx.md) — MCP server · ★ 27669
- [Metabase](https://affpapa.org/en/nevibecode/mcp/metabase.md) — MCP server · ★ 49845

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
