Skip to main content

MCP Tools

auth

ToolDescription
ppds_auth_whoGet the current authentication profile context including identity, connected environment, and token status. Use this to understand which Dataverse environment queries will run against.

connectionreferences

ToolDescription
ppds_connection_references_analyzeAnalyze connection references for orphaned references (not used by any flow) and orphaned flows (referencing missing connection references). Useful for deployment cleanup.
ppds_connection_references_getGet full details of a specific connection reference including dependent flows and connection info. Use the logicalName from ppds_connection_references_list.
ppds_connection_references_listList connection references in the current environment. Shows connector bindings and whether connections are bound. Optionally filter by solution name.

customapis

ToolDescription
ppds_custom_apis_listList all Custom APIs registered in the Dataverse environment. Custom APIs are developer-defined messages that extend the Dataverse API surface with custom business logic. Returns each API with its request parameters and response properties.

data

ToolDescription
ppds_data_analyzeAnalyze data for a Dataverse entity. Returns record count, primary attributes, and sample records. Use this to understand the data in an entity before querying.
ppds_data_providers_listList all virtual entity data sources and data providers registered in the Dataverse environment. Data providers implement plugin-based virtual entity adapters that connect Dataverse virtual entities to external data sources. Returns both data source definitions and their associated data provider plugin bindings.
ppds_data_schemaGet the schema (fields/attributes) for a Dataverse entity. Returns attribute names, types, and metadata. Use this to understand entity structure before querying.

env

ToolDescription
ppds_env_listList available Dataverse environments. Use this to discover which environments are accessible with the current authentication profile. The currently selected environment is marked with isActive=true.
ppds_env_selectSelect a Dataverse environment for subsequent queries. You can specify the environment by URL (e.g., 'https://contoso.crm.dynamics.com'), display name (e.g., 'Contoso Production'), or unique name. All subsequent ppds tools will use this environment.
ppds_environment_variables_getGet full details of a specific environment variable including description, type, and values. Use the schemaName from ppds_environment_variables_list.
ppds_environment_variables_listList environment variable definitions and their current values. Shows default vs current values, type, and override status. Optionally filter by solution name.
ppds_environment_variables_setSet the current value of an environment variable. Creates the value record if none exists. AI agents can use this to fix misconfigurations during deployment troubleshooting.

importjobs

ToolDescription
ppds_import_jobs_getGet full details of a specific import job including the XML import log. Use the id from ppds_import_jobs_list. The import log XML contains detailed component-level success/failure information for troubleshooting failed imports.
ppds_import_jobs_listList recent solution import jobs for the current environment. Shows import status, progress, solution name, and timing. Use this to check if a solution import succeeded or failed.

metadata

ToolDescription
ppds_metadata_add_columnAdds a new column (attribute) to an existing Dataverse table. Supports all standard column types. Use dry-run to validate before committing.
ppds_metadata_add_option_valueAdds a new option value to an existing option set (global or local choice). Returns the assigned integer value.
ppds_metadata_create_choiceCreates a new global choice (option set) in the specified solution. Options are provided as a JSON array of {label, value} objects. Supports dry-run mode.
ppds_metadata_create_keyCreates an alternate key on a Dataverse table. Attributes can be provided as a comma-separated list or a JSON array of column logical names. Supports dry-run mode.
ppds_metadata_create_relationshipCreates a relationship (one-to-many or many-to-many) between two Dataverse tables. For one-to-many, a lookup column is created on the referencing entity. Supports dry-run mode.
ppds_metadata_create_tableCreates a new Dataverse table (entity) in the specified solution. Supports dry-run mode for validation without persisting changes. Use ppds_metadata_entities to verify the table was created.
ppds_metadata_entitiesLists all entities (tables) in the connected Dataverse environment. Returns entity logical names, display names, schema names, and ownership type. Use this to discover available entities before querying with ppds_metadata_entity for full details.
ppds_metadata_entityGet detailed metadata for a Dataverse entity including attributes, relationships, and keys. Use this to understand entity structure, field types, and how entities relate to each other.
ppds_metadata_update_choiceUpdates an existing global choice (option set). Only the provided optional fields are changed; omitted fields remain unchanged. Supports dry-run mode.
ppds_metadata_update_columnUpdates an existing column (attribute) on a Dataverse table. Only the provided optional fields are changed; omitted fields remain unchanged. Supports dry-run mode.
ppds_metadata_update_relationshipUpdates an existing Dataverse relationship's cascade configuration. Only the provided optional fields are changed; omitted fields remain unchanged. Supports dry-run mode.
ppds_metadata_update_tableUpdates an existing Dataverse table (entity). Only the provided optional fields are changed; omitted fields remain unchanged. Supports dry-run mode.

plugin

ToolDescription
ppds_plugin_traces_deleteDelete plugin trace logs. Provide exactly one mode: specific IDs for targeted deletion, olderThanDays for age-based cleanup, or filter parameters (typeName, messageName, primaryEntity, errorsOnly) for criteria-based deletion.
ppds_plugin_traces_getGet detailed information about a specific plugin trace including the full message block (trace output) and exception details. Use the trace ID from ppds_plugin_traces_list.
ppds_plugin_traces_listList plugin trace logs from Dataverse. Use this to find plugin execution logs, identify errors, and debug plugin behavior. Requires trace logging to be enabled in the environment.
ppds_plugin_traces_timelineBuild an execution timeline showing all plugin executions for a single transaction. Use the correlationId from ppds_plugin_traces_list to see how plugins chain together and identify performance bottlenecks.
ppds_plugins_getGet detailed information for a specific plugin registration entity (assembly, package, type, step, or image). Use ppds_plugins_list first to discover entity names/IDs.
ppds_plugins_listList registered plugin assemblies in the Dataverse environment. Shows plugin types and their registered steps (message/entity/stage combinations). By default excludes hidden system assemblies and Microsoft.* assemblies.

query

ToolDescription
ppds_query_fetchExecute a FetchXML query against Dataverse. Use this when you have raw FetchXML or need advanced query features not available in SQL. Prefer ppds_query_sql for simpler queries.
ppds_query_sqlExecute a SQL SELECT query against Dataverse. The SQL is transpiled to FetchXML internally. Supports JOINs, WHERE, ORDER BY, TOP, and aggregate functions. Example: SELECT name, revenue FROM account WHERE statecode = 0 ORDER BY revenue DESC

serviceendpoints

ToolDescription
ppds_service_endpoints_listList all service endpoints and webhooks registered in the Dataverse environment. Includes Azure Service Bus (Queue, Topic, EventHub), REST endpoints, and HTTP webhooks. Used for event-driven integrations that receive Dataverse change notifications.

solutions

ToolDescription
ppds_solutions_componentsGet components of a Dataverse solution. Returns entities, workflows, plugins, and other components. Use the solution id from ppds_solutions_list. Optionally filter by component type code.
ppds_solutions_listList Dataverse solutions for the current environment. Shows solution name, version, publisher, and managed status. Use includeManaged to also show managed (system) solutions.

webresources

ToolDescription
ppds_web_resources_getGet web resource content for viewing or analysis. Returns decoded text content for text types (JS, HTML, CSS, XML, etc.) and metadata-only for binary types (PNG, JPG, GIF). Use the id from ppds_web_resources_list.
ppds_web_resources_listList web resources in a Dataverse environment, optionally filtered by solution. Returns name, type, managed status, and modification info. Use textOnly=true (default) to exclude binary types like images. Supports pagination via maxRows and nextPageToken parameters — when more records exist the response includes a nextPageToken to pass on the next call.
ppds_web_resources_publishPublish specific web resources to make changes live. After updating web resource content, you must publish for changes to take effect. Provide one or more web resource IDs.