MCP ExplorerExplorer

Mcp Server Azure Function

@0GiS0on a year ago
4 MIT
FreeCommunity
AI Systems
#returngis#azure-functions#mcp#mcp-server#microsoft-azure
Create MCP servers using Azure Functions for GitHub Copilot Chat.

Overview

What is Mcp Server Azure Function

mcp-server-azure-function is a project that enables developers to create MCP (Model Context Protocol) servers using Azure Functions, facilitating integration with GitHub Copilot Chat.

Use cases

Use cases include developing AI-driven applications, creating interactive coding assistants, and testing server responses in a local development environment.

How to use

To use mcp-server-azure-function, install the NuGet package with the command ‘dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Mcp --version 1.0.0-preview.2’. Run the project locally using ‘func start’ and interact with the MCP server using the MCP inspector or GitHub Copilot Chat.

Key features

Key features include easy setup with Azure Functions, integration with GitHub Copilot Chat, and the ability to inspect MCP servers using a dedicated tool.

Where to use

mcp-server-azure-function can be used in software development environments where developers want to implement and test MCP servers, particularly in projects involving AI and code assistance tools.

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 👋🏻!

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers