AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
MCP verified MIT Self-run

Dataverse Mcp

mcp-mwhesse-dataverse-mcp · by mwhesse

A Model Context Protocol (MCP) server for Microsoft Dataverse that enables schema operations including creating and updating tables, columns, relationships, and option sets using the Dataverse Web API.

No reviews yet
0 installs
56 views
0.0% view→install

Install

$ agentstack add mcp-mwhesse-dataverse-mcp

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access Used
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets Used
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/mcp-mwhesse-dataverse-mcp)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
stale · 1y ago

Declared compatibility

Claude CodeClaude DesktopCursorWindsurf

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Dataverse Mcp? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Dataverse MCP Server

A Model Context Protocol (MCP) server for Microsoft Dataverse that enables schema operations including creating and updating tables, columns, relationships, and option sets using the Dataverse Web API.

🚀 Key Features

Manage Tables & Columns - Create, update, delete, and list custom tables with all column types (String, Integer, Boolean, DateTime, Picklist, Lookup, AutoNumber, etc.)

Manage Relationships - Create One-to-Many and Many-to-Many relationships between entities with proper cascade behaviors

Manage Option Sets - Create and manage global option sets with custom options, colors, and values

Solution-Based Architecture - Enterprise-grade solution management with persistent context and automatic customization prefixes

Security & Access Control - Complete security role management, team operations, and business unit hierarchy management

WebAPI Call Generator - Generate ready-to-use HTTP requests, cURL commands, and JavaScript code for any Dataverse operation

PowerPages WebAPI Generator - Generate PowerPages-specific WebAPI calls using the /_api/[logicalEntityName] format with React examples

PowerPages Configuration Management - Manage table permissions and WebAPI site settings for PowerPages Code Sites with YAML file automation

Schema Export & Visualization - Export complete solution schemas to JSON with advanced filtering, then generate professional Mermaid ERD diagrams with relationship visualization

Mermaid Diagram Generation - Convert exported schemas into professional Entity Relationship Diagrams with enhanced column markers, lookup target display, and unlimited table support

AutoNumber Column Management - Create and manage AutoNumber columns with customizable format patterns for automatic serial numbers, reference codes, and unique identifiers

Professional Integration - OAuth2 authentication, comprehensive error handling, and enterprise-ready deployment

Production Ready - Comprehensive testing completed with 7 critical bugs found and fixed, 100% tool coverage achieved

Table of Contents

  • [Features](#features)
  • [Table Operations](#table-operations)
  • [Column Operations](#column-operations)
  • [AutoNumber Column Operations](#autonumber-column-operations)
  • [Relationship Operations](#relationship-operations)
  • [Option Set Operations](#option-set-operations)
  • [Solution & Publisher Operations](#solution--publisher-operations)
  • [Security Role Operations](#security-role-operations)
  • [Team Operations](#team-operations)
  • [Business Unit Operations](#business-unit-operations)
  • [Schema Export Operations](#schema-export-operations)
  • [WebAPI Call Generator](#webapi-call-generator)
  • [PowerPages WebAPI Generator](#powerpages-webapi-generator)
  • [PowerPages Configuration Management](#powerpages-configuration-management)
  • [Solution-Based Architecture](#solution-based-architecture)
  • [Key Benefits](#key-benefits)
  • [Solution Workflow](#solution-workflow)
  • [Example: XYZ Organization Setup](#example-xyz-organization-setup)
  • [Persistent Solution Context](#persistent-solution-context)
  • [Supported Column Types](#supported-column-types)
  • [Column Type Details](#column-type-details)
  • [Tested Column Scenarios](#tested-column-scenarios)
  • [Column Operations Status](#column-operations-status)
  • [Testing & Quality Assurance](#testing--quality-assurance)
  • [Prerequisites](#prerequisites)
  • [Setup](#setup)
  • [1. Azure App Registration](#1-azure-app-registration)
  • [2. Create Client Secret](#2-create-client-secret)
  • [3. Create Application User in Dataverse](#3-create-application-user-in-dataverse)
  • [4. Get Required Information](#4-get-required-information)
  • [Installation](#installation)
  • [Configuration](#configuration)
  • [Windows MCP Configuration](#windows-mcp-configuration)
  • [Option 1: Using .env file (Recommended for MCP Server Development)](#option-1-using-env-file-recommended-for-mcp-server-development)
  • [Option 2: Using MCP environment variables (Recommended for Normal Usage)](#option-2-using-mcp-environment-variables-recommended-for-normal-usage)
  • [Option 3: Hybrid Configuration](#option-3-hybrid-configuration)
  • [Usage Examples](#usage-examples)
  • [Creating a Custom Table](#creating-a-custom-table)
  • [Adding Columns to a Table](#adding-columns-to-a-table)
  • [Creating AutoNumber Columns](#creating-autonumber-columns)
  • [Creating Relationships](#creating-relationships)
  • [Managing Option Sets](#managing-option-sets)
  • [Managing Security Roles](#managing-security-roles)
  • [Managing Teams](#managing-teams)
  • [Managing Business Units](#managing-business-units)
  • [Exporting Solution Schema](#exporting-solution-schema)
  • [Mermaid Diagram Generation](#mermaid-diagram-generation)
  • [WebAPI Call Generator](#webapi-call-generator)
  • [PowerPages WebAPI Generator](#powerpages-webapi-generator)
  • [PowerPages Configuration Management](#powerpages-configuration-management)
  • [Authentication](#authentication)
  • [Error Handling](#error-handling)
  • [Security Considerations](#security-considerations)
  • [Troubleshooting](#troubleshooting)
  • [Common Issues](#common-issues)
  • [Debug Mode](#debug-mode)
  • [API Reference](#api-reference)
  • [Solution Management Best Practices](#solution-management-best-practices)
  • [Publisher Configuration](#publisher-configuration)
  • [Solution Context Management](#solution-context-management)
  • [Environment Promotion](#environment-promotion)
  • [Git Integration](#git-integration)
  • [Developer Notebook](#developer-notebook)
  • [MCP Configuration Recommendations](#mcp-configuration-recommendations)
  • [Read-Only Tools for alwaysAllow Configuration](#read-only-tools-for-alwaysallow-configuration)
  • [Benefits of This Configuration](#benefits-of-this-configuration)
  • [Common Development Workflows](#common-development-workflows)
  • [Developer Security Considerations](#developer-security-considerations)
  • [Advanced Configuration Tips](#advanced-configuration-tips)
  • [Contributing](#contributing)
  • [Releasing](#releasing)
  • [Creating a Release](#creating-a-release)
  • [Automated GitHub Releases](#automated-github-releases)
  • [Manual Release Process](#manual-release-process)
  • [Changelog](#changelog)
  • [License](#license)
  • [Support](#support)

Features

This MCP server provides comprehensive tools for Dataverse schema management:

Table Operations

  • createdataversetableFully Tested - Create Dataverse Table: Creates a new custom table in Dataverse with the specified configuration. Use this when you need to create a new entity to store business data. Requires a solution context to be set first.
  • getdataversetableFully Tested - Get Dataverse Table: Retrieves detailed information about a specific Dataverse table including its metadata, properties, and configuration. Use this to inspect table definitions and understand table structure.
  • updatedataversetableFully Tested - Update Dataverse Table: Updates the properties and configuration of an existing Dataverse table. Use this to modify table settings like display names, descriptions, or feature enablement (activities, notes, auditing, etc.). Changes are published automatically.
  • deletedataversetableFully Tested - Delete Dataverse Table: Permanently deletes a custom table from Dataverse. WARNING: This action cannot be undone and will remove all data in the table. Use with extreme caution and only for tables that are no longer needed.
  • listdataversetablesFully Tested - List Dataverse Tables: Retrieves a list of tables in the Dataverse environment with filtering options. Use this to discover available tables, find custom tables, or get an overview of the data model. Supports filtering by custom/system tables and managed/unmanaged status.

Column Operations

  • createdataversecolumnFully Tested - Create Dataverse Column: Creates a new column (field) in a Dataverse table with the specified data type and configuration. Supports various column types including text, numbers, dates, lookups, and choice lists. Use this to add new fields to store specific data in your tables. Requires a solution context to be set first.
  • getdataversecolumnFully Tested - Get Dataverse Column: Retrieves detailed information about a specific column in a Dataverse table, including its data type, properties, and configuration settings. Use this to inspect column definitions and understand field structure.
  • updatedataversecolumnFully Tested - Update Dataverse Column: Updates the properties and configuration of an existing column in a Dataverse table. Use this to modify column settings like display names, descriptions, required levels, or audit settings. Note that data type cannot be changed after creation.
  • deletedataversecolumnFully Tested - Delete Dataverse Column: Permanently deletes a column from a Dataverse table. WARNING: This action cannot be undone and will remove all data stored in this column. Use with extreme caution and only for columns that are no longer needed.
  • listdataversecolumnsFully Tested - List Dataverse Columns: Retrieves a list of columns in a specific Dataverse table with filtering options. Use this to discover available fields in a table, find custom columns, or get an overview of the table structure. Supports filtering by custom/system columns and managed/unmanaged status.

AutoNumber Column Operations

  • createautonumbercolumnFully Tested - Create AutoNumber Column: Creates a new AutoNumber column in a Dataverse table with specified format. AutoNumber columns automatically generate alphanumeric strings using sequential numbers, random strings, and datetime placeholders. Requires a solution context to be set first.
  • updateautonumberformatFully Tested - Update AutoNumber Format: Updates the AutoNumberFormat of an existing AutoNumber column. This changes how future values will be generated but does not affect existing records.
  • setautonumberseedFully Tested - Set AutoNumber Seed: Sets the seed value for an AutoNumber column's sequential segment using the SetAutoNumberSeed action. This controls the starting number for future records. Note: Seed values are environment-specific and not included in solutions.
  • getautonumbercolumnFully Tested - Get AutoNumber Column: Retrieves detailed information about an AutoNumber column including its current format, properties, and configuration.
  • listautonumbercolumnsFully Tested - List AutoNumber Columns: Lists all AutoNumber columns in a specific table or across all tables in the environment. Helps identify existing AutoNumber implementations.
  • converttoautonumberFully Tested - Convert to AutoNumber: Converts an existing text column to an AutoNumber column by adding an AutoNumberFormat. The column must be a String type with Text format and should be empty or contain compatible data.

Relationship Operations

  • createdataverserelationshipFully Tested - Create Dataverse Relationship: Creates a relationship between two Dataverse tables. Supports One-to-Many relationships (parent-child with lookup field) and Many-to-Many relationships (junction table). Use this to establish data connections between tables, enable navigation, and maintain referential integrity.
  • getdataverserelationshipFully Tested - Get Dataverse Relationship: Retrieves detailed information about a specific relationship between Dataverse tables, including its configuration, cascade settings, and menu behavior. Use this to inspect relationship definitions and understand table connections.
  • deletedataverserelationshipFully Tested - Delete Dataverse Relationship: Permanently deletes a relationship between Dataverse tables. WARNING: This action cannot be undone and will remove the connection between tables, including any lookup fields for One-to-Many relationships. Use with extreme caution.
  • listdataverserelationshipsFully Tested - List Dataverse Relationships: Retrieves a list of relationships in the Dataverse environment with filtering options. Use this to discover table connections, find custom relationships, or get an overview of the data model relationships. Supports filtering by entity, relationship type, and managed/unmanaged status.

Option Set Operations

  • createdataverseoptionsetFully Tested - Create Dataverse Option Set: Creates a new global option set (choice list) in Dataverse with predefined options. Use this to create reusable choice lists that can be used across multiple tables and columns. Option sets provide consistent data entry options and improve data quality.
  • getdataverseoptionsetFully Tested - Get Dataverse Option Set: Retrieves detailed information about a specific option set including its metadata, options, and configuration. Use this to inspect option set definitions and understand available choices.
  • updatedataverseoptionsetFully Tested - Update Dataverse Option Set: Updates an existing option set by modifying its properties and managing its options. Use this to add new choices, update existing ones, remove obsolete options, or change the option set's display name and description. Changes affect all columns using this option set.
  • deletedataverseoptionsetFully Tested - Delete Dataverse Option Set: Permanently deletes an option set from Dataverse. WARNING: This action cannot be undone and will fail if the option set is being used by any columns. Ensure no columns reference this option set before deletion.
  • listdataverseoptionsetsFully Tested - List Dataverse Option Sets: Retrieves a list of option sets in the Dataverse environment with filtering options. Use this to discover available choice lists, find custom option sets, or get an overview of reusable options. Supports filtering by custom/system and managed/unmanaged status.
  • getdataverseoptionset_optionsFully Tested - Get Dataverse Option Set Options: Retrieves all options (choices) within a specific option set, including their values, labels, descriptions, and colors. Use this to inspect the available choices in an option set and understand their configuration.

Solution & Publisher Operations

  • createdataversepublisherFully Tested - Create Dataverse Publisher: Creates a new publisher in Dataverse. Publishers are required for creating solutions and provide customization prefixes for schema names. Use this to establish a publisher identity before creating solutions and custom components.
  • getdataversepublisherFully Tested - Get Dataverse Publisher: Retrieves detailed information about a specific publisher including its customization prefix, option value prefix, and configuration. Use this to inspect publisher properties and understand customization settings.
  • listdataversepublishersFully Tested - List Dataverse Publishers: Retrieves a list of publishers in the Dataverse environment with filtering options. Use this to discover available publishers, find custom publishers for solution creation, or get an overview of publisher configurations including customization prefixes.
  • createdataversesolutionFully Tested - Create Dataverse Solution: Creates a new unmanaged solution in Dataverse. Solutions are containers for customizations and allow you to package, deploy, and manage custom components. Use this to create a solution before adding tables, columns, and other customizations.
  • getdataversesolutionFully Tested - Get Dataverse Solution: Retrieves detailed information about a specific solution

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.