En este momento estás viendo [Paso a Paso] MCP – Cómo Hostear e Integrar un Servidor MCP de C# con Copilot Studio

[Paso a Paso] MCP – Cómo Hostear e Integrar un Servidor MCP de C# con Copilot Studio

[Paso a Paso] Cómo Hostear e Integrar un Servidor MCP de C# con Copilot Studio

En uno de mis artículos anteriores te expliqué cómo armar un servidor MCP usando el SDK de C#. Si no lo viste todavía, te recomiendo que le pegues una mirada Primero.

En este artículo vamos a ver:

  • Cómo hostear el servidor MCP que construimos localmente usando Dev Tunnels
  • Cómo agregar el servidor MCP como herramienta en un Agente de Copilot Studio

¿Qué onda con los Dev Tunnels?

Los Dev tunnels te permiten conectar tu ambiente de desarrollo local con servicios en la nube. Básicamente, son un golazo para los desarrolladores.

En nuestro caso, vamos a usar Dev Tunnels para hostear nuestro servidor MCP —que está armado como una aplicación web ASP.NET Core con .NET 8— en una URL segura y accesible desde cualquier lado.

Para este post, voy a usar el ejemplo de Consuming an MCP server que está disponible en el Copilot Developer Camp.

Arranquemos con los requisitos previos.

Requisitos Previos

Asegurate de tener instalado lo siguiente:

Instalando Dev Tunnel

Seguí estos pasos:

  1. Abrí el Command Prompt
  2. Ejecutá el siguiente comando:
    winget install Microsoft.devtunnel
    

Instalación de Dev Tunnel

Una vez que tengas todo instalado, pasamos a configurar el proyecto del servidor MCP en C#.

Configurando el Proyecto del Servidor MCP en C

No vamos a arrancar desde cero. En vez de eso, vamos a usar el proyecto pre-armado del servidor MCP de HR que está en el Copilot Developer Camp.

Seguí estos pasos:

  1. Descargá los archivos del proyecto MCP desde acá

  2. Abrí el proyecto en VSCode

  3. La lógica principal está en la clase HRTools.cs, que expone las siguientes herramientas MCP (que al final del día son funciones de C#):

    • ListCandidates: Trae todos los candidatos
    • AddCandidate: Agrega un nuevo candidato con validaciones
    • UpdateCandidate: Modifica la información de un candidato existente
    • RemoveCandidate: Elimina un candidato por email
    • SearchCandidates: Busca candidatos por nombre, email, skills o rol

Código de HRTools

  1. Otro archivo importante es appsettings.Development.json, que especifica el puerto 47002.

Configuración del puerto

  1. No necesitás hacer ningún cambio al proyecto descargado.

  2. Ahora hacé el Build (dotnet build) y ejecutalo (dotnet run) para asegurarte de que todo ande sin dramas.

Build y Run del proyecto

  1. Podés navegar a la URL http://localhost:47002/ que va a mostrar mensajes como los de abajo, y está todo bien:

Servidor corriendo localmente

Ahora que ya compilamos y ejecutamos el proyecto del servidor MCP en C#, pasemos a hostearlo usando Dev Tunnels.

Hosteando el Proyecto del Servidor MCP en C# con Dev Tunnel

  1. Abrí la consola de PowerShell

  2. Ejecutá el siguiente comando:

    devtunnel user login
    

Login en Dev Tunnel

  1. Completá el proceso de login. Una vez que lo hagas exitosamente, deberías ver un mensaje que dice "Logged in as…", como se muestra abajo:

Login exitoso

  1. Ahora tenemos que crear un puerto en el dev tunnel ejecutando estos comandos:
    • Reemplazá el nombre mmolina-hr-mcp con el que más te guste:
      devtunnel create mmolina-hr-mcp -a --host-header unchanged 
      
      devtunnel port create mmolina-hr-mcp -p 47002
      

Crear puerto

  1. Ejecutá el siguiente comando:

    devtunnel host mmolina-hr-mcp
    
  2. La línea de comandos va a mostrar la información de conexión:

    • Copiá la URL de "Connect via browser" y guardala en un lugar seguro.

Información de conexión

¡Listo! Hosteamos exitosamente nuestro proyecto del servidor MCP en C# usando Dev Tunnels.

Los próximos dos pasos son opcionales pero re recomendables, porque te ayudan a testear la funcionalidad de las herramientas de tu servidor MCP antes de integrar con Copilot Studio.

Testeando el Servidor MCP Localmente

  1. Abrí un navegador y andá a la URL que acabás de copiar. Es posible que tengas que confirmar que querés consumir el servidor MCP a través del dev tunnel mediante una página de confirmación como la siguiente:

Confirmación de acceso

  1. Vamos a usar el MCP Inspector para testear las herramientas. Para usarlo, abrí la consola de PowerShell y ejecutá este comando:
    npx @modelcontextprotocol/inspector
    

Ejecutar MCP Inspector

  1. El navegador se va a abrir automáticamente.

  2. Configurá el MCP Inspector con estos ajustes:

    • Transport type: Streamable HTTP
    • URL: la URL que guardaste del "Connect via browser" del dev tunnel

Configuración del Inspector

  1. Hacé click en Connect, lo que va a mostrar las herramientas disponibles del servidor MCP.

  2. Para testear, podés seleccionar la herramienta list_candidates, y después seleccionar Run tool para invocar la herramienta. Vas a ver la respuesta JSON en Tool Result:

Resultado del test

Con el proyecto del servidor MCP en C# ahora hosteado en Dev Tunnels y testeado exitosamente con el MCP Inspector, confirmamos que es accesible mediante una URL pública.

Ahora es momento de crear un agente en Copilot Studio y agregar el servidor MCP como herramienta.

Creando un Nuevo Agente

  1. Andá a https://copilotstudio.microsoft.com para empezar a usar Microsoft Copilot Studio.

  2. Hacé click en Agents > New Agent

  3. Elegí Configure y definí tu nuevo agente con estos ajustes:

    • Name: HR Candidate Management
    • Description: Un asistente de IA que ayuda a gestionar candidatos de RRHH usando integración con servidor MCP para una gestión completa de candidatos.
    • Instructions: Sos un asistente de RRHH útil que se especializa en la gestión de candidatos. Podés ayudar a los usuarios a buscar candidatos, verificar su disponibilidad, obtener información detallada de candidatos y agregar nuevos candidatos al sistema. Siempre proporcioná información clara y útil sobre los candidatos, incluyendo sus habilidades, experiencia, detalles de contacto y estado de disponibilidad.

Configuración del agente

  1. Andá a la sección Tools y seleccioná + New tool.

Agregar nueva herramienta

  1. De las opciones, elegí Model Context Protocol

Seleccionar MCP

  1. En el popup, proporcioná:
    • Server name: El nombre que quieras
    • Server Description: Permite gestionar una lista de candidatos para el departamento de RRHH.
    • Server URL: Proporcioná la URL que copiaste del dev tunnel con el nombre "Connect via browser of your dev tunnel".
    • Seleccioná None como método de autenticación y después seleccioná Create para configurar la herramienta.

Configuración del servidor MCP

  1. En la siguiente pantalla, configurá una Connection haciendo click en Create new connection

Crear nueva conexión

  1. Hacé click en Create
  1. Hacé click en Add and configure y vas a ver el servidor MCP y las herramientas configuradas correctamente.

Servidor configurado

Guardar configuración

  1. El servidor MCP se va a agregar como Tool en el agente como se muestra abajo:

Tool agregado

¡Configuramos exitosamente el servidor MCP como herramienta del agente de Copilot Studio! Ahora es momento de testear el agente.

Testeando el Agente

  1. En el panel Test your agent, escribí el prompt "Lista a todos los candidatos". El agente se va a conectar a nuestro servidor MCP, va a disparar el list_candidates y generar la respuesta como se muestra abajo:

Test del agente

  1. Si sos desarrollador y te gusta meterte en la implementación del servidor MCP, podés agregar breakpoints al archivo HRTools.cs y attachear un debugger desde Visual Studio Code. Vas a poder meterte en el código y debuggear el servidor MCP en acción. 😊

Conclusión

¡Felicitaciones! Acabás de:

  • ✅ Hostear un servidor MCP de C# usando Dev Tunnels
  • ✅ Integrarlo con Copilot Studio como herramienta
  • ✅ Crear un agente de IA funcional para gestión de RRHH
  • ✅ Testear todo el flujo de punta a punta

Próximos Pasos

Ahora que tenés todo funcionando, podés:

  1. Agregar más herramientas al servidor MCP con funcionalidades custom
  2. Expandir el agente con más prompts y casos de uso
  3. Integrar con bases de datos reales en lugar de datos mockeados
  4. Implementar autenticación para escenarios de producción
  5. Explorar otros tipos de transporte más allá de Streamable HTTP

Recursos Útiles


¿Te sirvió el artículo? Si tenés alguna pregunta o querés compartir tu experiencia con MCP y Copilot Studio, dejame un comentario. ¡Me re copa saber qué están armando!

Tags: #MCP #CSharp #CopilotStudio #DevTunnels #IA #Azure #Tutorial #Desarrollo

Deja un comentario