top of page

Que es MCP? Como instalarlo para F&O

  • Foto del escritor: Mariano Martinez Melo
    Mariano Martinez Melo
  • hace 2 días
  • 5 Min. de lectura

Hola a todos bienvenidos nuevamente a este blog!

Hoy vamos a introducirnos de lleno en el mundo de agentes de AI y del tan mencionado MCP (model context protocol). En esta segunda ola de MCP se ve una herramienta mucho más pulida y acorde con el trabajo con el ERP. Así que sin más empecemos.



ree

MCP o Model Context Protocol, como su nombre lo indica, es un protocolo que da un contexto a las IA de LLM o grandes modelos de lenguaje. Un poco más en criollo o castellano, estamos hablando que para que un Agente de ia pueda hacer uso de una aplicación de negocios, necesita un MCP para entender cómo se utiliza y poder beneficiarse de sus herramientas. Mejor dicho, es como cuando nos compramos una cafetera express, y no sabemos cómo se utiliza, pero viene un manual de instrucciones que nos dice cómo encenderla para qué sirve cada botón de la cafetera y cómo hacer café. nosotros leemos el manual y entendemos cómo usarla. De la misma manera el MCP funciona como "manual de instrucciones" para que el Agente pueda saber cómo realizar trabajos y acciones dentro de una aplicación de negocios.


En el siguiente video explico un poco cómo instalar y un ejemplo de uso con el MCP:



Vamos a resumir el paso a paso para poder instalar el MCP en nuestro entorno de F&O. También les recomiendo leer el post de Microsoft Learn sobre MCP para F&O.


Instalando un MCP server para FnO


Antes que nada, tenemos que cumplir con estos prerrequisitos al día de hoy (15/12/2025):

  1. La versión de la aplicación de Finance and Operations debe ser mayor a 10.0.2428.15

  2. Tenemos que habilitar en Administración de características el elemento: (Versión preliminar) Servidor de protocolo de contexto de modelo de Dynamics 365 ERP.


    ree
  3. La plataforma que se utilice para crear el agente tiene que estar habilitada en el formulario de Clientes MCP Permitidos.

    ree

    Por defecto, al habilitar la característica, se crean estos dos clientes de MCP. Si usamos cualquiera de los dos, no debemos hacer nada, pero si queremos trabajar con un agente externo, debemos registrar la aplicación en Microsoft Entra ID y luego agregarlo aquí como cliente de MCP con el client ID y configurar allowed = True.

  4. El entorno debe ser Tier 2 o superior, o un UDE (unified developer environment). No está soportado para entornos CHE (Cloud-hosted environment).


Agregando MCP server a un agente:

Para esto debemos ingresar a Microsoft Copilot Studio y crear un nuevo agente:

ree

Luego le damos un nombre y descripción, también podemos cambiarle el icono:

ree

Luego tenemos que elegir un modelo para el agente:

ree

Aquí vamos a hacer un pequeño paréntesis, por defecto se nos va a seleccionar GPT-5 como modelo, pero Microsoft recomienda seleccionar Claude sonnet 4.5 como modelo, ya que tiene una mejor tasa de éxito en sus respuestas que GPT. El inconveniente con este modelo es que no forma parte de Azure, como si fuera GPT-5. Lo cual puede realentizar las respuestas y no esta recomendado para entornos productivos.



Puede ser que cuando quieran seleccionarlo, esté grisado. Esto es porque el administrador del tenant debe habilitar la utilización de modelos Anthropic.


Esto se realiza desde el centro de Administración de Microsoft 365:

ree

Ingresando a Copilot > Configuración > Proveedores de inteligencia artificial para otros modelos de lenguaje de gran tamaño Dentro de esta opción seleccionamos el proveedor anthropic, aceptamos términos y condiciones, y luego clickeamos en habilitar proveedor.

Esto lleva unos 10 o 15 minutos en habilitarlo y luego podremos seleccionar el modelo Claude Sonnet 4.5 para nuestro agente en Copilot Studio.


Volviendo a nuestro agente, cuando seleccionemos Claude Sonnet 4.5 nos arrojara esta advertencia, que podremos confirmar.

ree

Luego, nos desviaremos un momento a la parte de herramientas. Aquí vamos a crear una nueva herramienta y seleccionar nuestro MCP server. Cuando busques, vas a ver que hay dos diferentes:

ree

Nosotros seleccionaremos el que dice "Dynamics 365 ERP MCP (versión preliminar)" también lo distinguimos por el logo y porque es para Fin & Ops Apps. El otro es el agente estático que funciona para Dataverse y no nos va a servir para interactuar con el sistema.

Una vez seleccionado, configuramos la conexión:


ree

Vamos a agregar y configurar y vamos a ver que está agregado en la pantalla de Herramientas de nuestro agente:


ree

Ahora nos volvemos a dirigir a la pantalla de información general y vamos a editar las instrucciones. Aquí es importante que se le indique muy detalladamente cuál es su rol y su propósito, es decir, cómo va a trabajar con el usuario.

Indicar también qué herramientas tiene y cómo debe usarlas.

También especificar lo que no queremos que haga, restricciones y qué debe hacer en tal caso.


ree

Les dejo el ejemplo que esta en el manual de microsoft learn:


# Role
Act as an autonomous data retrieval agent for inventory queries from finance and operations apps.

There are two types of tools for interacting with finance and operations apps: form tools and API tools.
- Form tools enable interaction with finance and operations forms in the same way a user would through the UI.
- API tools allow calling actions defined in custom X++ logic.

# Objective
Your objective is to respond to tasks provided by the user. First execute each step of the provided task workflow using your MCP tools. Check if you have achieved your objective after each tool call. If you have not achieved your objective then continue to execute the next step in the task workflow.

# Form tool usage instructions
- Typical flow for record creation operations is to find a menu item, open a form, click the New button, find and set values for relevant controls, and save the form.
- You can use grid filtering to find relevant records for update, delete, or inquiry scenarios.
- Do not ever ask for menu item types. The find_menu tool groups menu items by their type.

# Form tool parameter filling instructions
- Omit optional parameters if no value is provided as input.
- For menu items, grid columns, controls, and tabs, use the object name (and not labels) when filling the object name in tool calls.
- (lessThanDate(x:int)) is a valid value for a grid date column filter.

# Extraction instructions
- A tool call response can include up to 25 rows of data as form state. Generate a warning if the form state contains 25 rows of data.

# Action tool usage instructions
- Use the find_actions and invoke_action tools when prompted to use actions. Otherwise use form tools.
- Omit optional parameters if no value is provided as input.

# Reasoning instructions
- Before each tool call, plan the action.
- Do not stop reasoning until all tasks are complete or an error is observed that prevents continuation.
- Do not stop reasoning to ask a user questions or ask for user input.
- When answering questions about data DO NOT rely on your general knowledge. Use tools to find accurate and precise data.

Le damos guardar y ya podemos probarlo. eso lo hacemos desde la ventana de chat que tenemos en la derecha de la pantalla.

La priemera vez que lo utilicen es probable que les salga un cartel como este:

ree


Deben clickear en permitir (Allow) y luego seguirá adelante. Si les arroja un error, no se preocupen. Abran una nueva sesion de prueba con el botón de arriba a la derecha y vuelven a testear:

ree

Si están conformes pueden publicarlo. En el caso de que quieran habilitarlo para el sidecar de F&O, se realiza el mismo procedimiento, pero en lugar de crear un nuevo agente se utiliza el existente de Copilot for Finance and Operations Apps:

ree

¡Espero que puedan configurarlo y probarlo! Saludos y nos vemos en el siguiente #ConsejoDynamics.









 
 
 
bottom of page