Azure MCP Server
This server implements the Model Context Protocol for seamless interaction with Azure Blob Storage and Cosmos DB, enabling automatic logging and audit tracking of operations.
mashriram
Tools
blob_container_create
Create a new Blob Storage container
blob_container_list
List all Blob Storage containers
blob_container_delete
Delete a Blob Storage container
blob_upload
Upload a blob to Blob Storage
cosmosdb_container_create
Create a new Cosmos DB container
cosmosdb_container_describe
Get details about a Cosmos DB container
cosmosdb_container_list
List all Cosmos DB containers in a database
blob_delete
Delete a blob from Blob Storage
blob_list
List blobs in a Blob Storage container
blob_read
Read a blob's content from Blob Storage
cosmosdb_container_delete
Delete a Cosmos DB container
cosmosdb_item_create
Create a new item in a Cosmos DB container
cosmosdb_item_read
Read an item from a Cosmos DB container
cosmosdb_item_replace
Replace an item in a Cosmos DB container
cosmosdb_item_delete
Delete an item from a Cosmos DB container
cosmosdb_item_query
Query items in a Cosmos DB container using SQL
README
Azure MCP Server
An implementation of a Model Context Protocol server for interacting with Azure services. Currently supports Azure Blob Storage and Azure Cosmos DB (NoSQL API). All operations performed through this server are automatically logged and accessible via the audit://azure-operations
resource endpoint.
<a href="https://glama.ai/mcp/servers/cczdogb799"><img width="380" height="200" src="https://glama.ai/mcp/servers/cczdogb799/badge" alt="Azure Server MCP server" /></a>
Running Locally with the Claude Desktop App
Installing via Smithery
To install Azure MCP Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @mashriram/azure_mcp_server --client claude
Manual Installation
-
Clone the Repository: Clone this repository to your local machine.
-
Configure Azure Credentials: Configure your Azure credentials. This server requires an Azure account with appropriate permissions for Blob Storage, Cosmos DB and App Configuration. We recommend using
DefaultAzureCredential
which attempts to authenticate via various methods in order.- Environment Variables: Set the following environment variables:
AZURE_STORAGE_ACCOUNT_URL
: The URL of your Azure Storage account (e.g.,https://<your_account_name>.blob.core.windows.net
).AZURE_COSMOSDB_ENDPOINT
: The endpoint URL for your Azure Cosmos DB account.AZURE_COSMOSDB_KEY
: The primary or secondary key for your Azure Cosmos DB account. Important: Treat this key like a password and keep it secure.AZURE_APP_CONFIGURATION_ENDPOINT
: The URL of your Azure App Configuration instance.
- Azure CLI: Alternatively, you can authenticate using the Azure CLI. Ensure you are logged in with an account that has the necessary permissions. This server uses
DefaultAzureCredential
so it will automatically authenticate with the Azure CLI credentials if environment variables are not specified. Useaz login
to log in.
- Environment Variables: Set the following environment variables:
-
Configure Claude Desktop: Add the following configuration to your
claude_desktop_config.json
file:- macOS:
~/Library/Application\ Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%/Claude/claude_desktop_config.json
"mcpServers": { "mcp-server-azure": { "command": "uv", "args": [ "--directory", "/path/to/repo/azure-mcp-server", "run", "azure-mcp-server" ] } }
Replace
/path/to/repo/azure-mcp-server
with the actual path to the cloned repository. - macOS:
-
Install and Launch Claude Desktop: Install and open the Claude desktop app.
-
Test the Setup: Ask Claude to perform a read or write operation using the Azure tools (e.g., create a Blob Storage container or add an item to Cosmos DB). If you encounter issues, consult the MCP debugging documentation here.
Available Tools
Azure Blob Storage Operations
- blob_container_create: Creates a new Blob Storage container. Requires the
container_name
. - blob_container_list: Lists all Blob Storage containers in the configured account.
- blob_container_delete: Deletes a Blob Storage container. Requires the
container_name
. - blob_upload: Uploads a blob (file) to a Blob Storage container. Requires the
container_name
,blob_name
, and thefile_content
(Base64 encoded). - blob_delete: Deletes a blob from a Blob Storage container. Requires the
container_name
andblob_name
. - blob_list: Lists the blobs within a Blob Storage container. Requires the
container_name
. - blob_read: Reads the content of a blob from Blob Storage. Requires the
container_name
andblob_name
. Returns the content as text.
Azure Cosmos DB (NoSQL API) Operations
Container Operations
- cosmosdb_container_create: Creates a new Cosmos DB container within a database. Requires the
container_name
andpartition_key
. Thedatabase_name
is optional and defaults todefaultdb
. Thepartition_key
should be a JSON object defining the partition key (e.g.,{"paths": ["/myPartitionKey"], "kind": "Hash"}
). - cosmosdb_container_describe: Retrieves details about a Cosmos DB container. Requires the
container_name
. Thedatabase_name
is optional and defaults todefaultdb
. - cosmosdb_container_list: Lists all Cosmos DB containers within a database. The
database_name
is optional and defaults todefaultdb
. - cosmosdb_container_delete: Deletes a Cosmos DB container. Requires the
container_name
. Thedatabase_name
is optional and defaults todefaultdb
.
Item Operations
- cosmosdb_item_create: Creates a new item within a Cosmos DB container. Requires the
container_name
and theitem
(a JSON object representing the item). Thedatabase_name
is optional and defaults todefaultdb
. Make sure youritem
includes the partition key field and value. - cosmosdb_item_read: Reads an item from a Cosmos DB container. Requires the
container_name
,item_id
, andpartition_key
. Thedatabase_name
is optional and defaults todefaultdb
. Thepartition_key
must match the partition key value of the item being read. - cosmosdb_item_replace: Replaces an existing item within a Cosmos DB container. Requires the
container_name
,item_id
,partition_key
, and theitem
(a JSON object representing the complete updated item). Thedatabase_name
is optional and defaults todefaultdb
. Thepartition_key
must match the partition key value of the item being replaced. - cosmosdb_item_delete: Deletes an item from a Cosmos DB container. Requires the
container_name
,item_id
, andpartition_key
. Thedatabase_name
is optional and defaults todefaultdb
. Thepartition_key
must match the partition key value of the item being deleted. - cosmosdb_item_query: Queries items in a Cosmos DB container using a SQL query. Requires the
container_name
andquery
. Thedatabase_name
is optional and defaults todefaultdb
. Optionally accepts aparameters
array for parameterized queries.
Azure App Configuration Operations
- app_configuration_kv_read: Reads key-values from Azure App Configuration. The
key
parameter is optional and allows filtering by key patterns (supports wildcards, e.g., 'app1/'). Thelabel
parameter is optional for filtering by label values ('\0' for no label, '' for any label). - app_configuration_kv_write: Writes or updates a key-value in Azure App Configuration. Requires the
key
andvalue
parameters. Optional parameters includelabel
to apply a label to the key-value andcontent_type
to specify the content type (e.g., 'application/json'). - app_configuration_kv_delete: Deletes a key-value from Azure App Configuration. Requires the
key
parameter. Thelabel
parameter is optional and specifies which labeled version of the key to delete.
Important Cosmos DB Notes:
- Partition Keys: Cosmos DB requires a partition key for efficient data storage and retrieval. When creating containers, you must define a partition key. When reading, replacing, or deleting items, you must provide the correct partition key value for the item you are accessing. The partition key is a property within your data.
- Case Sensitivity: Cosmos DB resource names (databases, containers, item IDs) and partition key values are case-sensitive. Ensure that you use the correct casing in your tool calls.
- Default Database: If the
database_name
is not provided, the server defaults to a database namedSampleDB
. Ensure this database exists, or explicitly provide the name of your desired database in the tool call arguments.
This README provides the information needed to set up and use the Azure MCP Server with the Claude desktop application. Remember to handle your Azure credentials securely and consult the MCP documentation for further information on the protocol
Recommended Servers

Supabase MCP Server
A Model Context Protocol (MCP) server that provides programmatic access to the Supabase Management API. This server allows AI models and other clients to manage Supabase projects and organizations through a standardized interface.
MCP DuckDB Knowledge Graph Memory Server
A memory server for Claude that stores and retrieves knowledge graph data in DuckDB, enhancing performance and query capabilities for conversations with persistent user information.
dbt Semantic Layer MCP Server
A server that enables querying the dbt Semantic Layer through natural language conversations with Claude Desktop and other AI assistants, allowing users to discover metrics, create queries, analyze data, and visualize results.
Metabase MCP Server
Enables AI assistants to interact with Metabase databases and dashboards, allowing users to list and execute queries, access data visualizations, and interact with database resources through natural language.

Airtable MCP Server
A Model Context Protocol server that provides tools for programmatically managing Airtable bases, tables, fields, and records through Claude Desktop or other MCP clients.
VirusTotal MCP Server
A MCP server for querying the VirusTotal API. This server provides tools for scanning URLs, analyzing file hashes, and retrieving IP address reports.
mcp-shodan
MCP server for querying the Shodan API and Shodan CVEDB. This server provides tools for IP lookups, device searches, DNS lookups, vulnerability queries, CPE lookups, and more.

Azure MCP Server
Enables natural language interaction with Azure services through Claude Desktop, supporting resource management, subscription handling, and tenant selection with secure authentication.
Verodat MCP Server
An MCP server that integrates Verodat's data management capabilities with AI systems like Claude Desktop, enabling users to manage accounts, workspaces, and datasets, as well as perform AI-powered queries on their data.

Story SDK MCP Server
This server provides MCP (Model Context Protocol) tools for interacting with Story's Python SDK. Features Get license terms Mint and register IP Asset with PIL Terms Mint license tokens Send $IP to a wallet Upload image to ipfs via Pinata [External] Upload ip and nft metadata via Pinata [External]