home / mcp / mcp dataverse server
Exposes the Microsoft Dataverse Web API as 50 AI-callable tools to query, create, and manage Dataverse records.
Configuration
View docs{
"mcpServers": {
"codeurali-mcp-dataverse": {
"command": "npx",
"args": [
"-y",
"mcp-dataverse"
]
}
}
}You can use this MCP server to access the Microsoft Dataverse Web API through AI-powered tools. It exposes a set of utilities that let you query, create, update, delete, and manage Dataverse records without needing you to memorize complex API calls or schema details. This makes it easier to integrate Dataverse data into code assistants and automation workflows.
To work with the Dataverse MCP server, you connect your MCP client (such as GitHub Copilot in Agent mode) to the local or remote server using the provided command line or configuration. Once connected, you can perform common Dataverse operations through natural tool prompts. Think in terms of actions like listing tables, retrieving records, creating new entries, updating fields, establishing relationships, and running built-in actions or functions. The tools are designed to cover a wide range of data interactions, so you can build, query, and maintain Dataverse data from within your preferred coding or automation environment.
Prerequisites you need before installing the MCP server: Node.js 20 or newer, PAC CLI installed and authenticated (Power Apps CLI), and a development environment with VS Code and GitHub Copilot in Agent mode.
Choose one of the installation methods below and follow the steps in order.
Use the one-click VS Code route to add the MCP server to your environment.
# VS Code
code --add-mcp '{"name":"mcp-dataverse","command":"npx","args":["-y","mcp-dataverse"]}'
# VS Code Insiders
code-insiders --add-mcp '{"name":"mcp-dataverse","command":"npx","args":["-y","mcp-dataverse"]}'{
"servers": {
"dataverse": {
"type": "stdio",
"command": "npx",
"args": ["-y", "mcp-dataverse"]
}
}
}Verify connection; returns UserId, BusinessUnitId, OrgId
List all tables with an optional customOnly filter
Get full schema for a table including columns and types
Retrieve 1:N, N:1, and N:N relationships for a table with optional filters
List all global option sets in the environment
Show options and values for a specific option set
Retrieve alternate key definitions for a table
Run an OData query with select, filter, order, expand, and count
Return raw FetchXML for aggregations and complex joins
Paginate through results with next links and a maxTotal cap
Retrieve a single record by GUID
Create a new record and return its GUID
Patch a record with only the specified fields
Delete a record with explicit confirmation
Create-or-update via alternate key
Assign a record to a different user or team owner
Associate two records via a named relationship
Remove an association between two records
Execute a global (unbound) Dataverse action
Execute a global read-only function (e.g. WhoAmI)
Execute an action bound to a specific record
Execute an OData bound function on a specific record
Check components blocking deletion of a Dataverse component
List component dependencies before modifying or deleting
Up to 1000 operations in a single HTTP batch with optional atomic changeset
Delta tracking using change tokens to detect changes since last sync
List components in a named solution with optional type filtering
Publish pending customizations for entities, web resources, and option sets
Execute any tool on behalf of another user via MSCRMCallerId
List custom actions in the environment
List plugin steps registrations with details
Retrieve an environment variable definition and value
Set or update an environment variable value
Retrieve plugin execution trace logs for debugging
Retrieve async workflow and system job logs
Full-text search across configured tables
Retrieve audit trail for a record
Check for potential duplicates before creating a record
Retrieve notes and file attachments linked to a record
Search system users by name or email with BU filtering
Security roles assigned to a system user
Create a note or file attachment linked to a record
Get local/entity option set values like statecode and picklists
List all solutions in the environment
Enable or disable a workflow or process
List system and personal saved views for a table
Upload binary content to a file or image column on a record
Download binary content from a file or image column
List business units in the environment
List Dataverse teams with optional filtering by type