MCP Server Azure Function
M

MCP Server Azure Function

This project demonstrates how to create an MCP server using Azure Functions and interact through the proxy mode of GitHub Copilot Chat. It includes configuration methods for local and remote MCP servers, as well as a guide for deploying Azure Functions via Terraform.
2 points
8.6K

Installation

Copy the following command to your Client for configuration
Note: Your key is sensitive information, do not share it with anyone.

🚀 Azure Functions ⚡️❤️ MCP Server

This repository is part of a video on my YouTube channel, which demonstrates how to create an MCP (Model Context Protocol) server using Azure Functions and integrate it with the proxy mode of GitHub Copilot Chat.

🚀 Quick Start

✨ Features

This project allows you to create an MCP server using Azure Functions and interact with it through GitHub Copilot Chat.

📦 Installation

To create an MCP server using Azure Functions, you can use the following library:

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

For more details about this NuGet package, please visit: https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Mcp

💻 Usage Examples

Basic Usage

To test the example code, you need to run the project locally:

func start

You can use the MCP inspector:

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

You can also interact with this MCP server using GitHub Copilot Chat. To do this, simply create a .vscode/mcp.json file or include the following section in your .vscode/settings.json:

{
    "inputs": [
        {
            "type": "promptString",
            "id": "mcp-azure-function-key",
            "description": "Key to access the Azure function",
            "password": true
        },
        {
            "type": "promptString",
            "id": "mcp-azure-function-name",
            "description": "Name to access the Azure function"
        }
    ],
    "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}"
        //     }
        // }
    }
}

You can also add an MCP via the command line:

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

Advanced Usage

If you are using Terraform to deploy Azure resources, make sure to include the following in your outputs.tf file:

output "function_name" {
  value = azure_function.name
}

output "function_master_key" {
  value = azure_function.master_key
}

After deployment, you can find the function name and master key in the Terraform output.

📚 Documentation

Install the NuGet Package

Install the following NuGet package in your project:

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

Run the Project

Start your Azure Functions project:

func start

When prompted for the function name and master key, provide the corresponding information you found in the Azure portal.

Test the MCP Server

Use the following command to test if the MCP server is running correctly:

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

Configure GitHub Copilot Chat

To configure the MCP server in GitHub Copilot Chat, follow these steps:

  1. Create or edit the .vscode/settings.json file in your project root directory.
  2. Add the following content to configure the MCP server:
{
    "inputs": [
        {
            "type": "promptString",
            "id": "mcp-azure-function-key",
            "description": "Key to access the Azure function",
            "password": true
        },
        {
            "type": "promptString",
            "id": "mcp-azure-function-name",
            "description": "Name to access the Azure function"
        }
    ],
    "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}"
        //     }
        // }
    }
}

📄 Conclusion

I hope this guide is helpful to you! If you have any questions, please feel free to contact me.

Alternatives

M
MCP Agent Mail
MCP Agent Mail is a mail - based coordination layer designed for AI programming agents, providing identity management, message sending and receiving, file reservation, and search functions, supporting asynchronous collaboration and conflict avoidance among multiple agents.
Python
5.4K
5 points
K
Klavis
Klavis AI is an open-source project that provides a simple and easy-to-use MCP (Model Context Protocol) service on Slack, Discord, and Web platforms. It includes various functions such as report generation, YouTube tools, and document conversion, supporting non-technical users and developers to use AI workflows.
TypeScript
9.9K
5 points
M
MCP
The Microsoft official MCP server provides search and access functions for the latest Microsoft technical documentation for AI assistants
11.5K
5 points
A
Aderyn
Aderyn is an open - source Solidity smart contract static analysis tool written in Rust, which helps developers and security researchers discover vulnerabilities in Solidity code. It supports Foundry and Hardhat projects, can generate reports in multiple formats, and provides a VSCode extension.
Rust
6.1K
5 points
D
Devtools Debugger MCP
The Node.js Debugger MCP server provides complete debugging capabilities based on the Chrome DevTools protocol, including breakpoint setting, stepping execution, variable inspection, and expression evaluation.
TypeScript
7.1K
4 points
S
Scrapling
Scrapling is an adaptive web scraping library that can automatically learn website changes and re - locate elements. It supports multiple scraping methods and AI integration, providing high - performance parsing and a developer - friendly experience.
Python
8.7K
5 points
M
Mcpjungle
MCPJungle is a self-hosted MCP gateway used to centrally manage and proxy multiple MCP servers, providing a unified tool access interface for AI agents.
Go
0
4.5 points
C
Cipher
Cipher is an open-source memory layer framework designed for programming AI agents. It integrates with various IDEs and AI coding assistants through the MCP protocol, providing core functions such as automatic memory generation, team memory sharing, and dual-system memory management.
TypeScript
0
5 points
G
Gitlab MCP Server
Certified
The GitLab MCP server is a project based on the Model Context Protocol that provides a comprehensive toolset for interacting with GitLab accounts, including code review, merge request management, CI/CD configuration, and other functions.
TypeScript
17.9K
4.3 points
N
Notion Api MCP
Certified
A Python-based MCP Server that provides advanced to-do list management and content organization functions through the Notion API, enabling seamless integration between AI models and Notion.
Python
15.5K
4.5 points
M
Markdownify MCP
Markdownify is a multi-functional file conversion service that supports converting multiple formats such as PDFs, images, audio, and web page content into Markdown format.
TypeScript
26.3K
5 points
D
Duckduckgo MCP Server
Certified
The DuckDuckGo Search MCP Server provides web search and content scraping services for LLMs such as Claude.
Python
48.9K
4.3 points
U
Unity
Certified
UnityMCP is a Unity editor plugin that implements the Model Context Protocol (MCP), providing seamless integration between Unity and AI assistants, including real - time state monitoring, remote command execution, and log functions.
C#
21.4K
5 points
F
Figma Context MCP
Framelink Figma MCP Server is a server that provides access to Figma design data for AI programming tools (such as Cursor). By simplifying the Figma API response, it helps AI more accurately achieve one - click conversion from design to code.
TypeScript
47.5K
4.5 points
G
Gmail MCP Server
A Gmail automatic authentication MCP server designed for Claude Desktop, supporting Gmail management through natural language interaction, including complete functions such as sending emails, label management, and batch operations.
TypeScript
16.7K
4.5 points
M
Minimax MCP Server
The MiniMax Model Context Protocol (MCP) is an official server that supports interaction with powerful text-to-speech, video/image generation APIs, and is suitable for various client tools such as Claude Desktop and Cursor.
Python
32.7K
4.8 points
AIBase
Zhiqi Future, Your AI Solution Think Tank
© 2025AIBase