arbentia-dataverse-mcp
v1.0.9
Published
Model Context Protocol (MCP) server for Microsoft Dataverse Metadata
Maintainers
Readme
Dataverse MCP Server
Un servidor Model Context Protocol (MCP) para Microsoft Dataverse.
Este servidor proporciona herramientas para explorar definiciones de tablas (metadatos), columnas (campos), relaciones, claves y OptionSets (columnas de elección) de Dataverse, además de crear entidades y gestionar campos mediante lenguaje natural usando un cliente MCP (como Claude Desktop u otros agentes de IA).
Características
- Actualizar metadatos: Descarga la definición completa de
$metadatayStringMaps(OptionSets locales) de tu entorno de Dataverse. - Listar tablas: Busca tablas por patrón de nombre.
- Obtener detalles de tabla: Obtiene información detallada del esquema para tablas específicas, incluyendo Campos, Relaciones y Claves.
- Obtener OptionSets globales: Recupera detalles para opciones globales (Global OptionSets).
- Obtener OptionSets locales: Recupera valores para opciones locales (StringMaps) específicas de una entidad y atributo.
- Crear entidad: Crea nuevas entidades en una solución específica de Dataverse.
- Gestionar campos: Crea o elimina campos (atributos) de forma masiva en una entidad.
Nota importante: Las herramientas de manipulación de datos (
create_entityymanage_fields) requieren que se inicie el servidor con el parámetro--solutionindicando el nombre único de la solución donde se realizarán los cambios.
Instalación
npm install -g dataverse-mcpUso
Prerrequisitos
- Un entorno de Microsoft Dataverse.
- Una cuenta de usuario con permisos para leer metadatos y personalizar el sistema (si se usan herramientas de creación).
- Un cliente MCP.
Ejecución del servidor
Puedes ejecutar el servidor directamente usando npx o instalándolo globalmente.
Usando npx:
npx dataverse-mcp --url "https://your-org.crm.dynamics.com" --solution "NombreSolucion"El parámetro --solution es opcional para lectura, pero obligatorio para crear entidades o campos.
Configuración en VsCode:
Agrega lo siguiente a tu mcp.json en la carpeta .vscode:
{
"servers": {
"dataverse": {
"command": "npx",
"args": [
"-y",
"arbentia-dataverse-mcp",
"--url",
"https://your-org.crm.dynamics.com",
"--solution",
"NombreSolucion"
]
}
}
}Configuración en Claude Desktop:
Agrega lo siguiente a tu claude_desktop_config.json:
{
"mcpServers": {
"dataverse": {
"command": "npx",
"args": [
"-y",
"arbentia-dataverse-mcp",
"--url",
"https://your-org.crm.dynamics.com",
"--solution",
"NombreSolucion"
]
}
}
}Autenticación
Esta herramienta utiliza InteractiveBrowserCredential de @azure/identity. Cuando uses por primera vez una herramienta que requiera acceso, se abrirá una ventana del navegador pidiéndote que inicies sesión en tu cuenta de Microsoft.
Herramientas
refresh_metadata: Vuelve a descargar la caché de metadatos.list_tables_by_name: Lista tablas que coinciden con un patrón regex.get_tables_details: Esquema detallado para tablas dadas. Soporta filtrado porFields(Campos),Relationships(Relaciones) oKeys(Claves).get_global_optionset_details: Detalles para OptionSets globales.get_local_optionset_details: Detalles para OptionSets locales (StringMaps) para entidades específicas.create_entity: Crea una nueva entidad en la solución especificada. Requiere el parámetrosolutional inicio.manage_fields: Creación o eliminación por lotes de campos en una entidad. Requiere el parámetrosolutional inicio.
Licencia
MIT
