Sponsored by Deepsite.site

Azure Functions ⚡️❤️ MCP Servers

Created By
0GiS08 months ago
Crea tu servidor MCP con Azure Functions ⚡️🧰
Content

Azure Functions ⚡️❤️ MCP Servers

¡Hola developer 👋🏻! Este repo forma parte de un vídeo de mi canal de YouTube que muestra cómo podemos crear MCP (Model Context Protocol) servers apoyádonos en Azure Functions y usarlos con el modo agente de GitHub Copilot Chat.

Ver el video en YouTube

Paquete de NuGet para poder crear servidores MCP 📦

Para crear servidores MCP apoyandonos en Azure Functions podemos utilizar esta librería:

dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Mcp --version 1.0.0-preview.2

Aquí tienes toda la información sobre este paquete de Nuget: https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Mcp

Para probar este código de ejemplo, necesitas ejecutar el proyecto en local:

func start

Y puedes usar MCP inspector:

npx @modelcontextprotocol/inspector http://localhost:7071/runtime/webhooks/mcp/sse

También puedes usar GitHub Copilot Chat para interactuar con este MCP server. Para ello solo tienes que crear el archivo .vscode/mcp.json o puedes incluir esta sección dentro del archivo .vscode/settings.json:

{
    "inputs": [
        {
            "type": "promptString",
            "id": "mcp-azure-function-key",
            "description": "Azure Function Key to access the MCP server on Azure",
            "password": true
        },
        {
            "type": "promptString",
            "id": "mcp-azure-function-name",
            "description": "Azure Function name to access the MCP server on Azure"
        }
    ],
    "servers": {
        "local-mcp-azure-function": {
            "type": "sse",
            "url": "http://localhost:7071/runtime/webhooks/mcp/sse",
        },
        // "remote-mcp-azure-function": {
        //     "type": "sse",
        //     "url": "https://${input:mcp-azure-function-name}.azurewebsites.net/runtime/webhooks/mcp/sse",
        //     "headers": {
        //         "x-functions-key": "${input:mcp-azure-function-key}"
        //     }
        // }
    }
}

También puedes añadir el mcp a través de la línea de comandos:

code --add-mcp '{"name": "local-mcp", "type":  "sse", "url": "http://localhost:7071/runtime/webhooks/mcp/sse"}'

Configuración de GitHub Copilot Chat para usar el MCP server 🛠️

Este configuración se compone de dos partes principales:

  • inputs: que nos van a permitir no tener que harcodear cierto contenido sensible
  • servers: que van a ser todos aquellos servidores, locales y remotos, que vamos a poder habilitar para GitHub Copilot Chat.

En este ejemplo tengo la configuración para dos servidores, la Azure Function que estoy ejecutando en entorno de desarrollo y la Azure Function que ya tengo desplegada en Microsoft Azure. Como puedes ver en esta segunda configuración, utilizo los inputs definidos en el primer apartado para utilizar el nombre de la Azure Function creada y la key asociada a la misma para poder acceder.

Crear una Azure Function en Azure ⚡️

Para crear una Azure Function en Azure, puedes usar el código en Terraform alojado en el directorio infra, pero antes necesitas crear un archivo terraform.tfvars con la siguiente información:

# ID de la suscripción de Azure
subscription_id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
# API Key para YouTube, la cual podrías crear aquí: https://console.cloud.google.com/apis/credentials
youtube_api_key = "XXXXXXXXXXXX"

Una vez lo tengas, necesitas iniciar sesión con Azure CLI:

az login

Y después ya puedes ejecutar los siguientes comandos para crear la Azure Function:

terraform init
terraform apply

Esto creará una Azure Function en Azure y la configurará para que use el código de este repositorio. Recuerda que debes tener configuradas las credenciales de Azure en tu máquina local.

NOTE

Una vez tengas la infrastructura, debes desplegar el código de tu Azure Function. Puedes hacerlo de forma sencilla usando el plugin de Visual Studio Code.

Una vez lo tengas, cuando intentes iniciar el servidor MCP, te pedirá el nombre de la función que quieres usar en Azure y la master key, que podrás encontrarlas en el portal de Azure.

¡Nos vemos 👋🏻!

Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
WindsurfThe new purpose-built IDE to harness magic
Serper MCP ServerA Serper MCP Server
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.
Tavily Mcp
Amap Maps高德地图官方 MCP Server
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
CursorThe AI Code Editor
Context7Context7 MCP Server -- Up-to-date code documentation for LLMs and AI code editors
Playwright McpPlaywright MCP server
ChatWiseThe second fastest AI chatbot™
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.
TimeA Model Context Protocol server that provides time and timezone conversion capabilities. This server enables LLMs to get current time information and perform timezone conversions using IANA timezone names, with automatic system timezone detection.
DeepChatYour AI Partner on Desktop
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题; Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"