
Dv Connect
Configure the Dataverse MCP server for GitHub Copilot or Claude Code after connecting to an environment URL.
Install
npx skills add https://github.com/microsoft/dataverse-skills --skill dv-connectWhat is this skill?
- Chooses GitHub Copilot vs Claude Code MCP configuration from context or a short prompt
- Sets tool-specific MCP_CLIENT_ID values documented for Copilot and Claude
- Expects DATAVERSE_URL in `.env` from the broader dv-connect environment discovery flow
- Minimizes interactive prompts by reading context and environment variables first
- References Step 2 of dv-connect when the environment URL is missing
Adoption & trust: 32 installs on skills.sh; 136 GitHub stars; 2/3 security scanners passed (skills.sh audits).
Recommended Skills
Azure Deploymicrosoft/azure-skills
Azure Preparemicrosoft/azure-skills
Azure Storagemicrosoft/azure-skills
Azure Validatemicrosoft/azure-skills
Appinsights Instrumentationmicrosoft/azure-skills
Azure Resource Lookupmicrosoft/azure-skills
Journey fit
Primary fit
MCP wiring for Dataverse is integration setup during product build, not launch SEO or operate monitoring. The skill focuses on TOOL_TYPE, MCP_CLIENT_ID, and MCP server parameters—not schema design or deployment pipelines.
Common Questions / FAQ
Is Dv Connect safe to install?
skills.sh reports 2 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.
SKILL.md
READMESKILL.md - Dv Connect
# MCP Server Configuration Reference Detailed instructions for configuring the Dataverse MCP server for GitHub Copilot or Claude Code. The environment URL should already be known from the `dv-connect` flow (stored in `DATAVERSE_URL` in `.env`). If it's not set, go back to Step 2 of the `dv-connect` skill to discover and select the environment first. The parameters for the MCP server should be determined from context or environment variables where possible, and interactive prompts should only be used when it cannot be done. --- ## 0. Determine which tool to configure Determine whether to configure MCP for GitHub Copilot or for Claude Code: - If explicitly mentioned in prompt, use that. - Otherwise, determine which tool the user is running from the context. - Only if choosing based on the context is impossible, ask the user: > Which tool would you like to configure the Dataverse MCP server for? > 1. **GitHub Copilot** > 2. **Claude** Based on the result, set the `TOOL_TYPE` variable to either `copilot` or `claude`. Store this for use in all subsequent steps. Set the `MCP_CLIENT_ID` variable in `.env` based on the tool choice: - If `copilot`: `MCP_CLIENT_ID` = `aebc6443-996d-45c2-90f0-388ff96faa56` - If `claude`: `MCP_CLIENT_ID` = `0c412cc3-0dd6-449b-987f-05b053db9457` - If `claude` and the VSCode extension is used: set it to the same value as `CLIENT_ID` if already set, otherwise offer to create a new app registration following the auth setup in the `dv-connect` skill. --- ## 1. Determine the MCP scope Choose the configuration scope based on the tool. Use the scope explicitly mentioned by the user, or choose the default without asking to confirm it. **If TOOL_TYPE is `copilot`:** The options are: 1. **Globally** (default, available in all projects) 2. **Project-only** (available only in this project) Based on the scope, set the `CONFIG_PATH` variable: - **Global**: `~/.copilot/mcp-config.json` (use the user's home directory) - **Project**: `.mcp.json` (relative to the current working directory) Store this path for use in steps 2 and 5. **If TOOL_TYPE is `claude`:** The options are: 1. **User** (available in all projects for this user) 2. **Project** (default, available only in this project) 3. **Local** (scoped to current project directory) Based on the scope, set the `CLAUDE_SCOPE` variable: - **User**: `CLAUDE_SCOPE` = `user` - **Project**: `CLAUDE_SCOPE` = `project` - **Local**: `CLAUDE_SCOPE` = `local` Store this value for use in step 5. --- ## 2. Check already-configured MCP servers **If TOOL_TYPE is `copilot`:** Read the MCP configuration file at `CONFIG_PATH` (determined in step 1) to check for already-configured servers. The configuration file is a JSON file with the following structure: ```json { "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: ```json ["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. If the environment URL from `.env` is already in `CONFIGURED_URLS`, the MCP server is **already configured**. Confirm with the user whether they want to re-register it (e.g. to change the endpoint type) before proceeding. If not, skip to the end. **If TOOL_TYPE is `claude`:** Skip this step — Claude uses CLI commands to manage MCP servers, so we don't need to check existing configuration. --- ## 3. Determine the environment URL If the user provided a URL via command parameters it is: '$ARGUMENTS'. If the user mentioned the URL in the prompt, use it. Otherwise, take the URL from the `DATAVERSE_URL` variable in `.env`. If you ha