azure-functions-notes
MCP server from arashjalalat/azure-functions-notes-mcp-server
claude mcp add --transport stdio arashjalalat-azure-functions-notes-mcp-server dotnet NotesMcp/NotesMcp.dll \ --env AZURE_SUBSCRIPTION_ID="Your Azure subscription ID" \ --env AZURE_FUNCTIONS_WEBSITE_SITE_NAME="Function App name (for local or Azure deployment)"
How to use
This MCP server is built on Azure Functions using .NET 8.0 and exposes a Model Context Protocol (MCP) endpoint for managing notes. It implements tools such as save_note, get_note, list_notes, search_notes, and delete_note to create, retrieve, list, search, and remove notes respectively. You can interact with these tools via an MCP client (for example, within GitHub Copilot Chat) by sending structured prompts that invoke the corresponding tool by name. The server is designed to work with the MCP runtime in supported environments (local development via Functions Core Tools or deployed to Azure). When running locally, the Function App listens on a local URL (e.g., http://localhost:7071/runtime/webhooks/mcp) and can be wired into your MCP client configuration.
How to install
Prerequisites for local development:
- Azure Developer CLI (azd) – https://aka.ms/install-azd
- .NET 8.0 SDK – https://dotnet.microsoft.com/download/dotnet/8.0
- Azure Functions Core Tools – https://learn.microsoft.com/azure/azure-functions/functions-run-local
- An Azure subscription
- Visual Studio Code with the C# Dev Kit, Azure Functions, and Bicep extensions
Installation steps:
- Clone the repository:
git clone <repository-url>
cd azure-functions-notes-mcp-server
- Build and restore dependencies:
dotnet restore
- Configure local settings for the Function App (copy sample and adjust as needed):
cp NotesMcp/local.settings.sample.json NotesMcp/local.settings.json
- Run the project locally (within the repository root):
cd NotesMcp
func start
- If you plan to deploy to Azure using azd, install and initialize your environment, then deploy:
azd init
azd auth login
azd up
- After deployment, note the Function App URL provided by azd and configure your MCP client accordingly. For local testing, you can use the local webhooks URL shown when running func start.
Additional notes
Notes and tips:
- The MCP tools operate via HTTP endpoints exposed by the Azure Functions app. Ensure network access to the Function App URL from your MCP client.
- In local development, the runtime URL is typically http://localhost:7071/runtime/webhooks/mcp. When deployed, use the Function App URL with the appropriate path.
- Environment variables can be used to customize subscription information, monitoring, or feature flags. Example variables include AZURE_SUBSCRIPTION_ID and AZURE_FUNCTIONS_WEBSITE_SITE_NAME.
- If you modify infrastructure, update the Bicep templates under infra to reflect resource changes and redeploy with azd.
- For production, enable Application Insights and RBAC as shown in the README to monitor and secure the MCP server.
- If you encounter port conflicts locally, verify that no other MCP server is occupying the 7071 port and adjust local.settings.json or function.json as needed.
Related MCP Servers
mssql
MSSQL Server MCP implementation written in C#
McpDotNet.Extensions.SemanticKernel
Microsoft SemanticKernel integration for the Model Context Protocol (MCP). Enables seamless use of MCP tools as AI functions.
DatabaseMcpServer
MCP server from ttcc666/DatabaseMcpServer
mcp-dataverse
MCP Server for querying Dataverse using SQL
xperience-community
ASP.NET Core MCP server for Xperience by Kentico projects
console-to-http
Example of converting a stdio MCP server to HTTP using ModelContextProtocol.AspNetCore