- Home
- MCP servers
- MCP Dataverse Server
MCP Dataverse Server
- typescript
0
GitHub Stars
typescript
Language
3 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
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.
How to use
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.
How to install
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.
One-click (VS Code)
Use the one-click VS Code route to add the MCP server to your environment.
Command line
# 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"]}'
Manual (mcp.json)
{
"servers": {
"dataverse": {
"type": "stdio",
"command": "npx",
"args": ["-y", "mcp-dataverse"]
}
}
}
Available tools
dataverse_whoami
Verify connection; returns UserId, BusinessUnitId, OrgId
dataverse_list_tables
List all tables with an optional customOnly filter
dataverse_get_table_metadata
Get full schema for a table including columns and types
dataverse_get_relationships
Retrieve 1:N, N:1, and N:N relationships for a table with optional filters
dataverse_list_global_option_sets
List all global option sets in the environment
dataverse_get_option_set
Show options and values for a specific option set
dataverse_get_entity_key
Retrieve alternate key definitions for a table
dataverse_query
Run an OData query with select, filter, order, expand, and count
dataverse_execute_fetchxml
Return raw FetchXML for aggregations and complex joins
dataverse_retrieve_multiple_with_paging
Paginate through results with next links and a maxTotal cap
dataverse_get
Retrieve a single record by GUID
dataverse_create
Create a new record and return its GUID
dataverse_update
Patch a record with only the specified fields
dataverse_delete
Delete a record with explicit confirmation
dataverse_upsert
Create-or-update via alternate key
dataverse_assign
Assign a record to a different user or team owner
dataverse_associate
Associate two records via a named relationship
dataverse_disassociate
Remove an association between two records
dataverse_execute_action
Execute a global (unbound) Dataverse action
dataverse_execute_function
Execute a global read-only function (e.g. WhoAmI)
dataverse_execute_bound_action
Execute an action bound to a specific record
dataverse_execute_bound_function
Execute an OData bound function on a specific record
dataverse_retrieve_dependencies_for_delete
Check components blocking deletion of a Dataverse component
dataverse_list_dependencies
List component dependencies before modifying or deleting
dataverse_batch_execute
Up to 1000 operations in a single HTTP batch with optional atomic changeset
dataverse_change_detection
Delta tracking using change tokens to detect changes since last sync
dataverse_solution_components
List components in a named solution with optional type filtering
dataverse_publish_customizations
Publish pending customizations for entities, web resources, and option sets
dataverse_impersonate
Execute any tool on behalf of another user via MSCRMCallerId
dataverse_list_custom_actions
List custom actions in the environment
dataverse_list_plugin_steps
List plugin steps registrations with details
dataverse_get_environment_variable
Retrieve an environment variable definition and value
dataverse_set_environment_variable
Set or update an environment variable value
dataverse_get_plugin_trace_logs
Retrieve plugin execution trace logs for debugging
dataverse_get_workflow_trace_logs
Retrieve async workflow and system job logs
dataverse_search
Full-text search across configured tables
dataverse_get_audit_log
Retrieve audit trail for a record
dataverse_detect_duplicates
Check for potential duplicates before creating a record
dataverse_get_annotations
Retrieve notes and file attachments linked to a record
dataverse_list_users
Search system users by name or email with BU filtering
dataverse_get_user_roles
Security roles assigned to a system user
dataverse_create_annotation
Create a note or file attachment linked to a record
dataverse_get_attribute_option_set
Get local/entity option set values like statecode and picklists
dataverse_list_solutions
List all solutions in the environment
dataverse_set_workflow_state
Enable or disable a workflow or process
dataverse_list_views
List system and personal saved views for a table
dataverse_upload_file_column
Upload binary content to a file or image column on a record
dataverse_download_file_column
Download binary content from a file or image column
dataverse_list_business_units
List business units in the environment
dataverse_list_teams
List Dataverse teams with optional filtering by type