Dataverse MCP Server

1

Add it to Claude Code

Run this in a terminal.

Run in terminal
claude mcp add -e "DATAVERSE_URL=${DATAVERSE_URL}" -e "TENANT_ID=${TENANT_ID}" -e "CLIENT_ID=${CLIENT_ID}" -e "CLIENT_SECRET=${CLIENT_SECRET}" dataverse-mcp -- npx -y dataverse-mcp-server
Required:DATAVERSE_URLTENANT_IDCLIENT_IDCLIENT_SECRET
README.md

Perform CRUD operations on Microsoft Dataverse databases.

MCP Dataverse Server

MCP server for performing CRUD operations on Microsoft Dataverse databases using service principal authentication.

Prerequisites

  1. Azure AD App Registration:

    • Register an application in Azure AD
    • Create a client secret
    • Note the Tenant ID, Client ID, and Client Secret
  2. Dataverse Setup:

    • Grant the app "Dynamics CRM" API permissions in Azure AD
    • Add the application as a user in Dataverse
    • Assign appropriate security role (e.g., System Administrator)

Environment Variables

DATAVERSE_URL=https://yourorg.crm.dynamics.com
TENANT_ID=your-tenant-id
CLIENT_ID=your-client-id
CLIENT_SECRET=your-client-secret

Local Development

# Install dependencies
npm install

# Build
npm run build

# Run
npm start

Docker Deployment

# Build image
docker build -t mcp-dataverse-server .

# Run container
docker run -i \
  -e DATAVERSE_URL=https://yourorg.crm.dynamics.com \
  -e TENANT_ID=your-tenant-id \
  -e CLIENT_ID=your-client-id \
  -e CLIENT_SECRET=your-client-secret \
  mcp-dataverse-server

Available Tools

  • create_record: Create new records in tables
  • update_record: Update existing records
  • delete_record: Delete records
  • query_records: Query records with OData filters
  • list_tables: List all available tables
  • get_table_schema: Get column metadata for a table

Usage with bolt.new

Configure your bolt.new app to connect to this MCP server via stdio transport. The server handles all authentication transparently.

Example Operations

Create a record:

{
  "table": "accounts",
  "data": {
    "name": "Contoso Ltd",
    "telephone1": "555-0100"
  }
}

Query records:

{
  "table": "accounts",
  "select": ["name", "telephone1"],
  "filter": "revenue gt 1000000",
  "top": 10
}

dataverse_mcp_server

"# dataverse_mcp_server"

Tools (6)

create_recordCreate new records in tables
update_recordUpdate existing records
delete_recordDelete records
query_recordsQuery records with OData filters
list_tablesList all available tables
get_table_schemaGet column metadata for a table

Environment Variables

DATAVERSE_URLrequiredThe URL of your Dataverse environment
TENANT_IDrequiredAzure AD Tenant ID
CLIENT_IDrequiredAzure AD Client ID
CLIENT_SECRETrequiredAzure AD Client Secret

Configuration

claude_desktop_config.json
{"mcpServers": {"dataverse": {"command": "npx", "args": ["-y", "dataverse-mcp-server"], "env": {"DATAVERSE_URL": "...", "TENANT_ID": "...", "CLIENT_ID": "...", "CLIENT_SECRET": "..."}}}}

Try it

List all available tables in my Dataverse environment.
Get the schema for the accounts table to see what columns are available.
Query the accounts table for records where revenue is greater than 1,000,000.
Create a new record in the accounts table with the name 'Contoso Ltd' and phone number '555-0100'.

Frequently Asked Questions

What are the key features of Dataverse MCP Server?

CRUD operations for Dataverse records. Schema exploration for table metadata. OData filter support for complex queries. Service principal authentication for secure access.

What can I use Dataverse MCP Server for?

Automating data entry into CRM systems via natural language. Quickly retrieving specific customer records using natural language queries. Exploring database structures without needing to navigate the Power Apps portal. Integrating Dataverse data into AI-driven reporting workflows.

How do I install Dataverse MCP Server?

Install Dataverse MCP Server by running: npm install && npm run build && npm start

What MCP clients work with Dataverse MCP Server?

Dataverse MCP Server works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep Dataverse MCP Server docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare