Token导航 LogoToken导航TokenDH.com
Davaverse Metadata MCP logo
开发工具未说明官方级别未说明来源级核验

Davaverse Metadata MCP

MCP Server

Dataverse Metadata MCP Server 是一个用于查询 Microsoft Dataverse 元数据的服务器,支持多环境访问和灵活的认证方式,适用于开发和生产环境中的元数据管理。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
C#VS Code开发工具VS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

sergiocabellopacha

提供方

sergiocabellopacha

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Dataverse Metadata MCP Server

Un servidor MCP (Model Context Protocol) para consultar metadatos de Microsoft Dataverse, incluyendo entidades, atributos, relaciones y conjuntos de opciones a través de múltiples entornos.

🚀 Características

  • Consulta de Metadatos: Acceso completo a metadatos de entidades, atributos y relaciones
  • Múltiples Entornos: Soporte para múltiples entornos de Dataverse (desarrollo, producción, sandbox, etc.)
  • Autenticación Flexible: Soporta autenticación interactiva y service principal
  • Integración con GitHub Copilot: Funciona perfectamente con GitHub Copilot en VS Code
  • Fácil Instalación: Disponible como paquete NuGet, no requiere clonar el repositorio

📋 Requisitos Previos

🔧 Instalación

Opción 1: Instalación vía NuGet (Próximamente)

⚠️ Nota: El paquete aún no está publicado en NuGet. Por ahora, usa la Opción 2: Desarrollo Local.

Una vez publicado, podrás instalarlo así:

  1. Instalar .NET SDK (si aún no lo tienes):
   # Verificar instalación
   dotnet --version
  1. Instalar la herramienta globalmente:
   dotnet tool install -g DataverseMetadataMcp

Nota: Si ya la tienes instalada y quieres actualizar a la última versión:

   dotnet tool update -g DataverseMetadataMcp
  1. Configurar en VS Code:

Crea o edita el archivo de configuración MCP en VS Code: - Windows: %APPDATA%\Roaming\Code\User\mcp.json

O crea un archivo .vscode/mcp.json en la raíz de tu workspace.

  1. Agregar configuración del servidor:
   {
     "mcpServers": {
       "dataverse-metadata": {
         "type": "stdio",
         "command": "dataverse-mcp-server",
         "args": [],
         "env": {
           "DATAVERSE_MCP_Dataverse__CurrentEnvironment": "production",
           "DATAVERSE_MCP_Dataverse__Environments__production__DisplayName": "Mi Entorno de Producción",
           "DATAVERSE_MCP_Dataverse__Environments__production__OrganizationUrl": "https://tuorg.crm.dynamics.com",
           "DATAVERSE_MCP_Dataverse__Environments__production__Authentication__AuthType": "Interactive"
         }
       }
     }
   }

Nota: Para autenticación interactiva, solo necesitas el AuthType. El ClientId y TenantId son opcionales (se usarán valores por defecto si no se especifican).

  1. Reinicia VS Code y ¡listo! El servidor estará disponible en GitHub Copilot.

Opción 2: Desarrollo Local (Recomendado actualmente)

  1. Clonar el repositorio:
   git clone https://github.com/sergiocabellopacha/Davaverse_Metadata_MCP.git
   cd Davaverse_Metadata_MCP
  1. Restaurar dependencias:
   dotnet restore src/DataverseMetadataMcp/DataverseMetadataMcp.csproj
  1. Configurar entorno local:

Crea un archivo .vscode/mcp.json en la raíz del proyecto con esta configuración:

   {
     "mcpServers": {
       "dataverse-metadata": {
         "type": "stdio",
         "command": "dotnet",
         "args": [
           "run",
           "--project",
           "src/DataverseMetadataMcp/DataverseMetadataMcp.csproj"
         ],
         "env": {
           "DATAVERSE_MCP_Dataverse__CurrentEnvironment": "development",
           "DATAVERSE_MCP_Dataverse__Environments__development__DisplayName": "Desarrollo",
           "DATAVERSE_MCP_Dataverse__Environments__development__OrganizationUrl": "https://tuorg-dev.crm.dynamics.com",
           "DATAVERSE_MCP_Dataverse__Environments__development__Authentication__AuthType": "Interactive"
         }
       }
     }
   }

Nota: es posible que ese path al proyecto no sirva y tengas que ponerlo completo a donde lo hayas clonado. Nota: Reemplaza https://tuorg-dev.crm.dynamics.com con la URL de tu organización de Dataverse.

  1. Reinicia VS Code y el servidor MCP estará disponible en GitHub Copilot.

⚙️ Configuración

Variables de Entorno

El servidor se configura mediante variables de entorno con el prefijo DATAVERSE_MCP_. Puedes configurar múltiples entornos:

Configuración General

  • DATAVERSE_MCP_Dataverse__CurrentEnvironment: Nombre del entorno actual a utilizar

Configuración por Entorno

Para cada entorno (reemplaza {env} con el nombre del entorno, ej: development, production, sandbox):

  • DATAVERSE_MCP_Dataverse__Environments__{env}__DisplayName: Nombre descriptivo del entorno
  • DATAVERSE_MCP_Dataverse__Environments__{env}__OrganizationUrl: URL de la organización Dataverse
  • DATAVERSE_MCP_Dataverse__Environments__{env}__Authentication__AuthType: Tipo de autenticación (Interactive o ServicePrincipal)
  • DATAVERSE_MCP_Dataverse__Environments__{env}__Authentication__TenantId: ID del tenant de Azure AD (opcional para Interactive)
  • DATAVERSE_MCP_Dataverse__Environments__{env}__Authentication__ClientId: ID de la aplicación Azure AD (opcional para Interactive)
  • DATAVERSE_MCP_Dataverse__Environments__{env}__Authentication__ClientSecret: Secreto del cliente (requerido solo para ServicePrincipal)

Ejemplo con Múltiples Entornos

{
  "mcpServers": {
    "dataverse-metadata": {
      "type": "stdio",
      "command": "dataverse-mcp-server",
      "args": [],
      "env": {
        "DATAVERSE_MCP_Dataverse__CurrentEnvironment": "development",
        
        "DATAVERSE_MCP_Dataverse__Environments__development__DisplayName": "Desarrollo",
        "DATAVERSE_MCP_Dataverse__Environments__development__OrganizationUrl": "https://dev.crm.dynamics.com",
        "DATAVERSE_MCP_Dataverse__Environments__development__Authentication__AuthType": "Interactive",
        
        "DATAVERSE_MCP_Dataverse__Environments__production__DisplayName": "Producción",
        "DATAVERSE_MCP_Dataverse__Environments__production__OrganizationUrl": "https://prod.crm.dynamics.com",
        "DATAVERSE_MCP_Dataverse__Environments__production__Authentication__AuthType": "ServicePrincipal",
        "DATAVERSE_MCP_Dataverse__Environments__production__Authentication__ClientId": "client-id",
        "DATAVERSE_MCP_Dataverse__Environments__production__Authentication__ClientSecret": "secret"
      }
    }
  }
}

Notas importantes:

  • Para autenticación Interactive: Solo necesitas AuthType. ClientId y TenantId son opcionales.
  • Para autenticación ServicePrincipal: Debes proporcionar ClientId y ClientSecret (ambos requeridos).

🔑 Configuración de Azure AD

Para autenticación interactiva, no necesitas configurar una Azure AD App Registration. El servidor utilizará la aplicación por defecto de Microsoft.

Para autenticación Service Principal, sigue estos pasos:

  1. Ve a Azure Portal
  2. Navega a Azure Active Directory > App registrations > New registration
  3. Configura la aplicación:

- Name: Dataverse MCP Server - Supported account types: Single tenant

  1. Copia el Application (client) ID y Directory (tenant) ID
  2. Ve a Certificates & secrets > New client secret

- Copia el secreto generado

  1. Configura permisos API:

- API permissions > Add a permission > Dynamics CRM - Agrega user_impersonation permission

  1. Asegúrate de que el Service Principal tenga acceso al entorno de Dataverse

🛠️ Herramientas Disponibles

El servidor expone las siguientes herramientas para GitHub Copilot:

GetEnvironmentInfo

Obtiene información sobre el entorno Dataverse actual, incluyendo estado de conexión y versión.

Ejemplo de uso en Copilot:

@workspace ¿Cuál es el estado de mi entorno de Dataverse?

ListEnvironments

Lista todos los entornos de Dataverse configurados en el servidor.

Ejemplo de uso:

@workspace Muéstrame los entornos disponibles

SetEnvironment

Cambia a un entorno de Dataverse diferente.

Parámetros:

  • environmentName: Nombre del entorno (ej: development, production, sandbox)

Ejemplo de uso:

@workspace Cambia al entorno de producción

ListEntities

Lista todas las entidades (tablas) en el entorno actual.

Parámetros:

  • customOnly (opcional): Si es true, solo devuelve entidades personalizadas

Ejemplo de uso:

@workspace Lista todas las entidades personalizadas
@workspace Muéstrame todas las tablas en Dataverse

GetEntityDetails

Obtiene metadatos detallados de una entidad específica.

Parámetros:

  • entityLogicalName: Nombre lógico de la entidad (ej: account, contact)

Ejemplo de uso:

@workspace Dame los detalles de la entidad account
@workspace ¿Qué metadatos tiene la tabla contact?

ListEntityAttributes

Lista todos los atributos (columnas/campos) de una entidad específica.

Parámetros:

  • entityLogicalName: Nombre lógico de la entidad
  • customOnly (opcional): Si es true, solo devuelve atributos personalizados

Ejemplo de uso:

@workspace Lista los campos de la entidad account
@workspace Muéstrame los atributos personalizados de contact

📚 Ejemplos de Uso

Explorar Metadatos

Usuario: @workspace ¿Qué entidades tengo disponibles?
Copilot: [Usa ListEntities para mostrar todas las entidades]

Usuario: @workspace Dame detalles sobre la entidad account
Copilot: [Usa GetEntityDetails con entityLogicalName="account"]

Usuario: @workspace ¿Qué campos tiene la tabla de contactos?
Copilot: [Usa ListEntityAttributes con entityLogicalName="contact"]

Cambiar entre Entornos

Usuario: @workspace Cambia a mi entorno de producción
Copilot: [Usa SetEnvironment con environmentName="production"]

Usuario: @workspace ¿En qué entorno estoy?
Copilot: [Usa GetEnvironmentInfo]

🐛 Solución de Problemas

Error: "No se encontró el comando dataverse-mcp-server"

Este error significa que la herramienta no está instalada globalmente. Soluciones:

  1. Instala la herramienta:
   dotnet tool install -g DataverseMetadataMcp
  1. Verifica que esté instalada:
   dotnet tool list -g
   # Debe aparecer "dataversemetadatamcp" en la lista
  1. Si ya está instalada, actualízala:
   dotnet tool update -g DataverseMetadataMcp
  1. Verifica la ruta de las herramientas globales:

- Las herramientas se instalan en %USERPROFILE%\.dotnet\tools (Windows) - Asegúrate de que esta ruta esté en tu variable de entorno PATH

Error de autenticación Interactive

  • Si no especificas ClientId, se usa la aplicación por defecto de Microsoft
  • Asegúrate de tener permisos para acceder al entorno de Dataverse
  • Si aparece un error de autenticación, intenta especificar tu propio ClientId y TenantId

Error de autenticación ServicePrincipal

  • Verifica que el ClientId y ClientSecret sean correctos
  • Asegúrate de que el Service Principal tenga acceso al entorno de Dataverse
  • Verifica que la aplicación tenga permisos para Dynamics CRM en Azure AD

El servidor no aparece en Copilot

  1. Verifica que el archivo mcp.json esté en la ubicación correcta
  2. Reinicia VS Code
  3. Comprueba los logs en la consola de desarrollador de VS Code (Help > Toggle Developer Tools)

Error de conexión a Dataverse

  • Verifica que la OrganizationUrl sea correcta
  • Asegúrate de tener acceso al entorno
  • Prueba la conexión manualmente primero

📦 Publicación (Para Mantenedores)

Para publicar una nueva versión en NuGet:

# 1. Actualizar versión en .csproj y .mcp/server.json

# 2. Compilar en modo Release
dotnet build -c Release src/DataverseMetadataMcp/DataverseMetadataMcp.csproj

# 3. Empaquetar
dotnet pack -c Release src/DataverseMetadataMcp/DataverseMetadataMcp.csproj

# 4. Publicar a NuGet
dotnet nuget push src/DataverseMetadataMcp/bin/Release/*.nupkg --api-key  --source https://api.nuget.org/v3/index.json

🤝 Contribuir

Las contribuciones son bienvenidas! Por favor:

  1. Haz fork del repositorio
  2. Crea una rama para tu feature (git checkout -b feature/AmazingFeature)
  3. Commit tus cambios (git commit -m 'Add some AmazingFeature')
  4. Push a la rama (git push origin feature/AmazingFeature)
  5. Abre un Pull Request

📄 Licencia

Este proyecto está licenciado bajo la Licencia MIT - ver el archivo LICENSE para más detalles.

👤 Autor

Sergio Cabello Pacha

🙏 Agradecimientos


Nota: Este es un proyecto independiente y no está afiliado oficialmente con Microsoft.

目录标签

目录标签

C#VS Code开发工具元数据查询本地部署多环境支持DataverseVSCode集成GitHubCopilot

支持客户端

VS Code

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP