Server Configuration
Describes the environment variables required to run the server.
Name | Required | Description | Default |
---|---|---|---|
DEBUG | No | Set to 'true' for verbose logging | false |
DATAVERSE_URL | Yes | Your Dataverse environment URL (e.g., https://yourorg.crm.dynamics.com) | |
DATAVERSE_CLIENT_ID | Yes | Client ID from your Azure app registration | |
DATAVERSE_TENANT_ID | Yes | Tenant ID from Azure AD | |
DATAVERSE_CLIENT_SECRET | Yes | Client Secret from your Azure app registration |
Schema
Prompts
Interactive templates invoked by user choice
Name | Description |
---|---|
No prompts |
Resources
Contextual data attached and managed by the client
Name | Description |
---|---|
powerpages-auth | Common authentication and user context patterns for PowerPages |
webapi-retrieve-account | Generate HTTP requests, curl commands, and JavaScript examples for Dataverse WebAPI operations |
webapi-list-contacts | Generate HTTP requests, curl commands, and JavaScript examples for Dataverse WebAPI operations |
webapi-create-account | Generate HTTP requests, curl commands, and JavaScript examples for Dataverse WebAPI operations |
webapi-update-account | Generate HTTP requests, curl commands, and JavaScript examples for Dataverse WebAPI operations |
webapi-delete-account | Generate HTTP requests, curl commands, and JavaScript examples for Dataverse WebAPI operations |
webapi-examples-retrieve | Common WebAPI operation examples with best practices |
webapi-examples-list | Common WebAPI operation examples with best practices |
webapi-examples-create | Common WebAPI operation examples with best practices |
webapi-examples-update | Common WebAPI operation examples with best practices |
webapi-examples-delete | Common WebAPI operation examples with best practices |
powerpages-retrieve-contact | Generate PowerPages-specific API calls, JavaScript examples, and React components |
powerpages-list-contacts | Generate PowerPages-specific API calls, JavaScript examples, and React components |
powerpages-create-contact | Generate PowerPages-specific API calls, JavaScript examples, and React components |
powerpages-update-contact | Generate PowerPages-specific API calls, JavaScript examples, and React components |
powerpages-delete-contact | Generate PowerPages-specific API calls, JavaScript examples, and React components |
powerpages-examples-retrieve | Common PowerPages WebAPI patterns with authentication and React components |
powerpages-examples-list | Common PowerPages WebAPI patterns with authentication and React components |
powerpages-examples-create | Common PowerPages WebAPI patterns with authentication and React components |
powerpages-examples-update | Common PowerPages WebAPI patterns with authentication and React components |
powerpages-examples-delete | Common PowerPages WebAPI patterns with authentication and React components |
Tools
Functions exposed to the LLM to take actions
Name | Description |
---|---|
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
create_dataverse_optionset | 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. |
get_dataverse_optionset | 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. |
update_dataverse_optionset | 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. |
delete_dataverse_optionset | 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. |
list_dataverse_optionsets | 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. |
get_dataverse_optionset_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. |
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. |
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. |
get_dataverse_solution | Retrieves detailed information about a specific solution including its metadata, version, publisher details, and configuration. Use this to inspect solution properties and understand solution structure. |
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. |
list_dataverse_solutions | Retrieves a list of solutions in the Dataverse environment with filtering options. Use this to discover available solutions, find unmanaged solutions for customization, or get an overview of solution packages. Includes publisher information for each solution. |
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. |
set_solution_context | Sets the active solution context for all subsequent metadata operations. When a solution context is set, all created tables, columns, relationships, and other components will be automatically added to this solution. This is required before creating any custom components. |
get_solution_context | Retrieves the currently active solution context information. Use this to check which solution is currently set for metadata operations and to verify the customization prefix being used for new components. |
clear_solution_context | Clears the currently active solution context. After clearing, metadata operations will not be associated with any specific solution. Use this when you want to work without a solution context or before switching to a different solution. |
create_dataverse_role | Creates a new security role in Dataverse to define permissions and access levels for users and teams. Security roles control what users can see and do within the system. Use this to establish custom permission sets for different user types or job functions. |
get_dataverse_role | Retrieves detailed information about a specific security role including its properties, business unit association, and configuration settings. Use this to inspect role definitions and understand permission structures. |
update_dataverse_role | Updates the properties and configuration of an existing security role. Use this to modify role settings like name, description, auto-assignment behavior, or inheritance settings without changing the actual privileges. |
delete_dataverse_role | Permanently deletes a security role from Dataverse. WARNING: This action cannot be undone and will fail if the role is assigned to any users or teams. Ensure the role is not in use before deletion. |
list_dataverse_roles | Retrieves a list of security roles in the Dataverse environment with filtering options. Use this to discover available roles, find custom roles, or get an overview of permission structures. Supports filtering by business unit, custom/system roles, and managed/unmanaged status. |
add_privileges_to_role | Adds specific privileges with defined access levels to a security role. Use this to grant permissions for specific operations (create, read, write, delete, etc.) on entities or system functions. Each privilege can have different access levels (Basic, Local, Deep, Global). |
remove_privilege_from_role | Removes a specific privilege from a security role, revoking the associated permissions. Use this to restrict access by removing specific operation permissions from a role. |
replace_role_privileges | Completely replaces all existing privileges in a security role with a new set of privileges. WARNING: This removes all current privileges and replaces them with the specified ones. Use this for comprehensive role permission restructuring. |
get_role_privileges | Retrieves all privileges currently assigned to a security role, showing what permissions the role grants. Use this to audit role permissions and understand what access a role provides to users and teams. |
assign_role_to_user | Assigns a security role to a specific user, granting them all the permissions defined in that role. Use this to provide users with the appropriate access levels for their job functions and responsibilities. |
remove_role_from_user | Removes a security role assignment from a specific user, revoking the permissions granted by that role. Use this when users change roles or no longer need certain access levels. |
assign_role_to_team | Assigns a security role to a team, granting all team members the permissions defined in that role. Use this to provide consistent access levels to groups of users working together on similar tasks. |
remove_role_from_team | Removes a security role assignment from a team, revoking the permissions granted by that role for all team members. Use this when teams no longer need certain access levels or when restructuring team permissions. |
create_dataverse_team | Creates a new team in Dataverse for organizing users and managing permissions. Teams can be owner teams (for record ownership) or access teams (for sharing records). Use this to establish groups of users who work together and need similar access levels. |
get_dataverse_team | Retrieves detailed information about a specific team including its properties, administrator, business unit association, and configuration settings. Use this to inspect team definitions and understand team structure. |
update_dataverse_team | Updates the properties and configuration of an existing team. Use this to modify team settings like name, description, administrator, or other team properties without changing team membership. |
delete_dataverse_team | Permanently deletes a team from Dataverse. WARNING: This action cannot be undone and will fail if the team owns records or has assigned security roles. Ensure the team is not in use before deletion. |
list_dataverse_teams | Retrieves a list of teams in the Dataverse environment with filtering options. Use this to discover available teams, find teams by business unit or type, or get an overview of team organization. Supports filtering by business unit, team type, and system-managed status. |
add_members_to_team | Adds users as members to a team, granting them access to team-owned records and team-based permissions. Use this to expand team membership and provide users with team-level access to resources. |
remove_members_from_team | Removes users from team membership, revoking their access to team-owned records and team-based permissions. Use this when users no longer need team access or are changing roles. |
get_team_members | Retrieves a list of all users who are members of a specific team, including their basic information and status. Use this to audit team membership and understand who has team-based access. |
convert_owner_team_to_access_team | Converts an owner team to an access team, changing how the team can be used for record ownership and sharing. WARNING: This action cannot be undone and affects how records owned by this team are managed. |
create_dataverse_businessunit | Creates a new business unit in Dataverse with comprehensive configuration options including contact information, addresses, and organizational hierarchy. Business units are used to organize users and control data access in Dataverse. |
get_dataverse_businessunit | Retrieves detailed information about a specific business unit including all properties, addresses, and related information. Use this to inspect business unit configuration and hierarchy relationships. |
update_dataverse_businessunit | Updates the properties and configuration of an existing business unit. Use this to modify business unit information, contact details, addresses, and organizational settings. Only provided fields will be updated. |
delete_dataverse_businessunit | Permanently deletes a business unit from Dataverse. WARNING: This action cannot be undone and may affect users and teams associated with the business unit. Use with extreme caution. |
list_dataverse_businessunits | Retrieves a list of business units in the Dataverse environment with filtering and sorting options. Use this to discover available business units, understand organizational hierarchy, and find specific business units by criteria. |
get_businessunit_hierarchy | Retrieves the complete organizational hierarchy for a specific business unit, showing parent-child relationships and the full organizational structure. Use this to understand business unit relationships and organizational structure. |
set_businessunit_parent | Changes the parent business unit for a given business unit, effectively moving it within the organizational hierarchy. Use this to reorganize business unit structure and reporting relationships. |
get_businessunit_users | Retrieves all users associated with a specific business unit, with option to include users from subsidiary business units. Use this to understand user assignments and organizational membership. |
get_businessunit_teams | Retrieves all teams associated with a specific business unit, with option to include teams from subsidiary business units. Use this to understand team organization and business unit relationships. |
export_solution_schema | Exports a comprehensive JSON schema of Dataverse tables, columns, relationships, and option sets. Use this to document your data model, generate diagrams, or analyze solution structure. Supports filtering by prefixes, system/custom components, and specific tables. |
generate_mermaid_diagram | Generates a Mermaid entity relationship diagram from an exported schema JSON file. Creates visual documentation of your data model with tables, columns, and relationships. Perfect for documentation, presentations, and understanding data structure. |
generate_webapi_call | Generate HTTP requests, curl commands, and JavaScript examples for Dataverse WebAPI operations. Supports all CRUD operations, associations, actions, and functions with proper OData query parameters and headers. |
generate_powerpages_webapi_call | Generate PowerPages-specific API calls, JavaScript examples, and React components for Dataverse operations through PowerPages portals. Includes authentication context and portal-specific patterns. |
manage_powerpages_webapi_config | Manage PowerPages WebAPI configurations and table permissions. Add/remove WebAPI access for tables, configure table permissions, and check configuration status for PowerPages portals. |
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. |
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. |
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. |
get_autonumber_column | Retrieves detailed information about an AutoNumber column including its current format, properties, and configuration. |
list_autonumber_columns | Lists all AutoNumber columns in a specific table or across all tables in the environment. Helps identify existing AutoNumber implementations. |
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. |