Configure your Dataverse environment for GitHub Copilot's MCP server integration.
Works with
Supports both global (all projects) and project-scoped configuration paths with automatic directory creation
Auto-discovers Dataverse environments from your Azure account via Power Apps API, or accepts manual URL entry as fallback
Generates unique server names from organization identifiers and registers servers in the MCP configuration file with GA or Preview endpoint options
Validates existing confi
AI-first code editor with Composer
Before installing skills in Cursor, ensure your development environment meets these requirements:
node --versionmcp-configureExecute the skills CLI command in your project's root directory to begin installation:
Fetches mcp-configure from github/awesome-copilot and configures it for Cursor.
The CLI shows a list of agents. Use arrow keys and space to select Cursor:
Confirm successful installation by checking the skill directory location:
Restart Cursor to activate mcp-configure. Access via /mcp-configure in your agent's command palette.
We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.
Skills execute code in your environment. Always review source, verify the publisher, and test in isolation before production.
Submit your Claude Code skill and start earning
Create detailed user stories, acceptance criteria, and feature specs
Example
Generate user stories for 'password reset feature' with acceptance criteria, edge cases, and test scenarios
Reduce spec writing time by 50%, ensure comprehensive coverage
Research competitors, compare features, identify gaps
Example
Analyze 5 competitor products, create feature comparison matrix, suggest differentiation opportunities
Complete competitive research in 2 hours instead of 2 days
Evaluate features using frameworks (RICE, ICE, Kano) and create prioritized backlogs
Example
Score 20 feature ideas using RICE framework, generate prioritized roadmap with rationale
0
total installs
0
this week
28.7K
GitHub stars
0
upvotes
Run in your terminal
0
installs
0
this week
28.7K
stars
This skill configures the Dataverse MCP server for GitHub Copilot with your organization's environment URL. Each organization is registered with a unique server name based on the org identifier (e.g., DataverseMcporgbc9a965c). If the user provided a URL it is: $ARGUMENTS.
Ask the user whether they want to configure the MCP server globally or for this project only:
Would you like to configure the Dataverse MCP server:
- Globally (available in all projects)
- Project-only (available only in this project)
Based on their choice, set the CONFIG_PATH variable:
~/.copilot/mcp-config.json (use the user's home directory).mcp/copilot/mcp.json (relative to the current working directory)Store this path for use in steps 1 and 6.
Read the MCP configuration file at CONFIG_PATH (determined in step 0) to check for already-configured servers.
The configuration file is a JSON file with the following structure:
{
"mcpServers": {
"ServerName1": {
"type": "http",
"url": "https://example.com/api/mcp"
}
}
}
Or it may use "servers" instead of "mcpServers" as the top-level key.
Extract all url values from the configured servers and store them as CONFIGURED_URLS. For example:
["https://orgfbb52bb7.crm.dynamics.com/api/mcp"]
If the file doesn't exist or is empty, treat CONFIGURED_URLS as empty ([]). This step must never block the skill.
Ask the user:
How would you like to provide your Dataverse environment URL?
- Auto-discover — List available environments from your Azure account (requires Azure CLI)
- Manual entry — Enter the URL directly
Based on their choice:
Check prerequisites:
az) is installed (check with which az or where az on Windows)Make the API call:
Check if the user is logged into Azure CLI:
az account show
If this fails, prompt the user to log in:
az login
Get an access token for the Power Apps API:
az account get-access-token --resource https://service.powerapps.com/ --query accessToken --output tsv
Call the Power Apps API to list environments:
GET https://api.powerapps.com/providers/Microsoft.PowerApps/environments?api-version=2016-11-01
Authorization: Bearer {token}
Accept: application/json
Parse the JSON response and filter for environments where properties?.linkedEnvironmentMetadata?.instanceUrl is not null.
For each matching environment, extract:
properties.displayName as displayNameproperties.linkedEnvironmentMetadata.instanceUrl (remove trailing slash) as instanceUrlCreate a list of environments in this format:
[
{ "displayName": "My Org (default)", "instanceUrl": "https://orgfbb52bb7.crm.dynamics.com" },
{ "displayName": "Another Env", "instanceUrl": "https://orgabc123.crm.dynamics.com" }
]
If the API call succeeds, proceed to step 3.
If the API call fails (user not logged in, network error, no environments found, or any other error), tell the user what went wrong and fall back to step 2b.
Ask the user to provide their environment URL directly:
Please enter your Dataverse environment URL.
Example:
https://myorg.crm10.dynamics.comYou can find this in the Power Platform Admin Center under Environments.
Then skip to step 4.
Present the environments as a numbered list. For each environment, check whether any URL in CONFIGURED_URLS starts with that environment's instanceUrl — if so, append (already configured) to the line.
I found the following Dataverse environments on your account. Which one would you like to configure?
- My Org (default) —
https://orgfbb52bb7.crm.dynamics.com(already configured)- Another Env —
https://orgabc123.crm.dynamics.comEnter the number of your choice, or type "manual" to enter a URL yourself.
If the user selects an already-configured environment, confirm that they want to re-register it (e.g. to change the endpoint type) before proceeding.
If the user types "manual", fall back to step 2b.
Take the instanceUrl from the chosen environment (or the manually entered URL) and strip any trailing slash. This is USER_URL for the remainder of the skill.
Ask the user:
Which endpoint would you like to use?
- Generally Available (GA) —
/api/mcp(recommended)- Preview —
/api/mcp_preview(latest features, may be unstable)
Based on their choice:
MCP_URL to {USER_URL}/api/mcpMCP_URL to {USER_URL}/api/mcp_previewUpdate the MCP configuration file at CONFIG_PATH (determined in step 0) to add the new server.
Generate a unique server name from the USER_URL:
https://orgbc9a965c.crm10.dynamics.com → orgbc9a965cDataverseMcp to create the server name
DataverseMcporgbc9a965cThis is the SERVER_NAME.
Update the configuration file:
If CONFIG_PATH is for a project-scoped configuration (.mcp/copilot/mcp.json), ensure the directory exists first:
mkdir -p .mcp/copilot
Read the existing configuration file at CONFIG_PATH, or create a new empty config if it doesn't exist:
{}
Determine which top-level key to use:
"servers", use that"mcpServers"Add or update the server entry:
{
"mcpServers": {
"{SERVER_NAME}": {
"type": "http",
"url": "{MCP_URL}"
}
}
}
Write the updated configuration back to CONFIG_PATH with proper JSON formatting (2-space indentation).
Important notes:
SERVER_NAME already exists, update it with the new MCP_URLProceed to step 7.
Tell the user:
✅ Dataverse MCP server configured for GitHub Copilot at
{MCP_URL}.Configuration saved to:
{CONFIG_PATH}IMPORTANT: You must restart your editor for the changes to take effect.
Restart your editor or reload the window, then you will be able to:
- List all tables in your Dataverse environment
- Query records from any table
- Create, update, or delete records
- Explore your schema and relationships
If something goes wrong, help the user check:
https://<org>.<region>.dynamics.com).mcp/copilot/mcp.json file was created successfully~/.copilot/ directoryMake data-driven prioritization decisions faster
Draft PRDs, status updates, and stakeholder presentations
Example
Create executive summary of Q3 roadmap, monthly progress report, feature launch announcement
Save 3-5 hours/week on communication overhead
Prerequisites
Time Estimate
30-60 minutes to see productivity improvements
Steps
Common Pitfalls
✓ Do
✗ Don't
💡 Pro Tips
✓ Use when
Use for user story writing, competitive research, roadmap prioritization, stakeholder communication, and PRD drafting. Best for reducing repetitive documentation and research work.
✗ Avoid when
Avoid for strategic product vision (requires deep customer empathy), pricing decisions (needs market and financial expertise), or when face-to-face customer discovery is more valuable than speed.
github/awesome-copilot
github/awesome-copilot
mattpocock/skills
parcadei/continuous-claude-v3
cursor/plugins
ailabs-393/ai-labs-claude-skills
I recommend mcp-configure for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.
mcp-configure fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
Solid pick for teams standardizing on skills: mcp-configure is focused, and the summary matches what you get after install.
mcp-configure reduced setup friction for our internal harness; good balance of opinion and flexibility.
mcp-configure is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
Keeps context tight: mcp-configure is the kind of skill you can hand to a new teammate without a long onboarding doc.
mcp-configure has been reliable in day-to-day use. Documentation quality is above average for community skills.
Registry listing for mcp-configure matched our evaluation — installs cleanly and behaves as described in the markdown.
We added mcp-configure from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
mcp-configure reduced setup friction for our internal harness; good balance of opinion and flexibility.
showing 1-10 of 49