[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:
- Dev tunnel - Instalalo desde acá
- MCP Inspector (opcional, pero re copado para testear las herramientas del servidor MCP localmente) - Instalalo desde acá
- Node.js v.22 o superior - Descargalo acá
Instalando Dev Tunnel
Seguí estos pasos:
- Abrí el Command Prompt
- Ejecutá el siguiente comando:
winget install Microsoft.devtunnel

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:
Descargá los archivos del proyecto MCP desde acá
Abrí el proyecto en VSCode
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

- Otro archivo importante es
appsettings.Development.json, que especifica el puerto47002.

No necesitás hacer ningún cambio al proyecto descargado.
Ahora hacé el Build (
dotnet build) y ejecutalo (dotnet run) para asegurarte de que todo ande sin dramas.

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

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
Abrí la consola de PowerShell
Ejecutá el siguiente comando:
devtunnel user login

- 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:

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

Ejecutá el siguiente comando:
devtunnel host mmolina-hr-mcpLa 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.

¡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
- 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:

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

El navegador se va a abrir automáticamente.
Configurá el MCP Inspector con estos ajustes:
- Transport type: Streamable HTTP
- URL: la URL que guardaste del "Connect via browser" del dev tunnel

Hacé click en Connect, lo que va a mostrar las herramientas disponibles del servidor MCP.
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:

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
Andá a https://copilotstudio.microsoft.com para empezar a usar Microsoft Copilot Studio.
Hacé click en Agents > New Agent
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.

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

- De las opciones, elegí Model Context Protocol

- 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.

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

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


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

¡Configuramos exitosamente el servidor MCP como herramienta del agente de Copilot Studio! Ahora es momento de testear el agente.
Testeando el Agente
- 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_candidatesy generar la respuesta como se muestra abajo:

- Si sos desarrollador y te gusta meterte en la implementación del servidor MCP, podés agregar breakpoints al archivo
HRTools.csy 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:
- Agregar más herramientas al servidor MCP con funcionalidades custom
- Expandir el agente con más prompts y casos de uso
- Integrar con bases de datos reales en lugar de datos mockeados
- Implementar autenticación para escenarios de producción
- 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
