azure-mcp-server
matthewfreshit
README
azure-mcp-server
A Model Context Protocol (MCP) server built with mcp-framework.
Quick Start
# Install dependencies
npm install
# Build the project
npm run build
Project Structure
azure-mcp-server/
├── src/
│ ├── tools/ # MCP Tools
│ │ ├── Storage/ # Azure Storage tools
│ │ │ ├── BaseAzureStorageTool.ts # Base class for Azure tools
│ │ │ ├── ListContainersTool.ts # List containers
│ │ │ ├── CreateContainerTool.ts # Create container
│ │ │ ├── DeleteContainerTool.ts # Delete container
│ │ │ ├── ListBlobsTool.ts # List blobs
│ │ │ ├── UploadBlobTool.ts # Upload blob
│ │ │ ├── DownloadBlobTool.ts # Download blob
│ │ │ └── DeleteBlobTool.ts # Delete blob
│ │ └── ExampleTool.ts # Example tool template
│ └── index.ts # Server entry point
├── package.json
└── tsconfig.json
Tool Development
Example Tool Structure
import { MCPTool } from 'mcp-framework';
import { z } from 'zod';
interface MyToolInput {
message: string;
}
class MyTool extends MCPTool<MyToolInput> {
name = 'my_tool';
description = 'Describes what your tool does';
schema = {
message: {
type: z.string(),
description: 'Description of this input parameter'
}
};
async execute(input: MyToolInput) {
// Your tool logic here
return `Processed: ${input.message}`;
}
}
export default MyTool;
Azure Storage Tools
This MCP server includes several tools for interacting with Azure Blob Storage using DefaultAzureCredential for authentication.
Required Azure Permissions
To use the Azure Storage tools, you need the following Azure RBAC roles:
- Storage Account Contributor: Required for listing containers and managing storage account settings
- Storage Blob Data Contributor: Required for creating/reading/updating/deleting blobs and containers
Without these permissions, certain operations may fail with authorization errors.
Authentication
All tools use DefaultAzureCredential from @azure/identity, which tries multiple authentication methods in the following order:
- Environment variables (AZURE_TENANT_ID, AZURE_CLIENT_ID, AZURE_CLIENT_SECRET)
- Managed Identity
- Azure CLI credentials
- Visual Studio Code credentials
- Interactive browser login (as a fallback)
Ensure at least one of these authentication methods is properly configured.
Available Tools
The following Azure Storage tools are available:
Container Operations
- azure_list_containers: Lists all containers in a storage account
- azure_create_container: Creates a new container
- azure_delete_container: Deletes a container
Blob Operations
- azure_list_blobs: Lists all blobs in a container
- azure_upload_blob: Uploads a blob to a container
- azure_download_blob: Downloads a blob and returns its content
- azure_delete_blob: Deletes a blob from a container
Example Usage
List Containers
{
"accountName": "yourstorageaccount"
}
Create Container
{
"accountName": "yourstorageaccount",
"containerName": "mycontainer"
}
List Blobs
{
"accountName": "yourstorageaccount",
"containerName": "mycontainer"
}
Upload Blob
{
"accountName": "yourstorageaccount",
"containerName": "mycontainer",
"blobName": "example.txt",
"content": "This is the content of the blob"
}
Download Blob
{
"accountName": "yourstorageaccount",
"containerName": "mycontainer",
"blobName": "example.txt"
}
Delete Blob
{
"accountName": "yourstorageaccount",
"containerName": "mycontainer",
"blobName": "example.txt"
}
Delete Container
{
"accountName": "yourstorageaccount",
"containerName": "mycontainer"
}
Debugging
If you encounter issues with the Azure Storage tools, check the console logs for detailed debugging information. Common issues include:
- Authentication failures
- Missing permissions
- Non-existent containers or blobs
- Network connectivity problems
Building and Testing
- Make changes to your tools
- Run
npm run build
to compile - The server will automatically load your tools on startup
Learn More
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
MCP Package Docs Server
Facilitates LLMs to efficiently access and fetch structured documentation for packages in Go, Python, and NPM, enhancing software development with multi-language support and performance optimization.
Claude Code MCP
An implementation of Claude Code as a Model Context Protocol server that enables using Claude's software engineering capabilities (code generation, editing, reviewing, and file operations) through the standardized MCP interface.
@kazuph/mcp-taskmanager
Model Context Protocol server for Task Management. This allows Claude Desktop (or any MCP client) to manage and execute tasks in a queue-based system.
Linear MCP Server
Enables interaction with Linear's API for managing issues, teams, and projects programmatically through the Model Context Protocol.
mermaid-mcp-server
A Model Context Protocol (MCP) server that converts Mermaid diagrams to PNG images.
Jira-Context-MCP
MCP server to provide Jira Tickets information to AI coding agents like Cursor

Linear MCP Server
A Model Context Protocol server that integrates with Linear's issue tracking system, allowing LLMs to create, update, search, and comment on Linear issues through natural language interactions.

Sequential Thinking MCP Server
This server facilitates structured problem-solving by breaking down complex issues into sequential steps, supporting revisions, and enabling multiple solution paths through full MCP integration.