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.
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
DefaultAzureCredentialwhich 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
DefaultAzureCredentialso it will automatically authenticate with the Azure CLI credentials if environment variables are not specified. Useaz loginto log in.
-
Environment Variables: Set the following environment variables:
-
Configure Claude Desktop: Add the following configuration to your
claude_desktop_config.jsonfile:-
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-serverwith 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_nameandblob_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_nameandblob_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_nameandpartition_key. Thedatabase_nameis optional and defaults todefaultdb. Thepartition_keyshould 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_nameis optional and defaults todefaultdb. -
cosmosdb_container_list: Lists all Cosmos DB containers within a database. The
database_nameis optional and defaults todefaultdb. -
cosmosdb_container_delete: Deletes a Cosmos DB container. Requires the
container_name. Thedatabase_nameis optional and defaults todefaultdb.
Item Operations
-
cosmosdb_item_create: Creates a new item within a Cosmos DB container. Requires the
container_nameand theitem(a JSON object representing the item). Thedatabase_nameis optional and defaults todefaultdb. Make sure youritemincludes 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_nameis optional and defaults todefaultdb. Thepartition_keymust 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_nameis optional and defaults todefaultdb. Thepartition_keymust 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_nameis optional and defaults todefaultdb. Thepartition_keymust 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_nameandquery. Thedatabase_nameis optional and defaults todefaultdb. Optionally accepts aparametersarray for parameterized queries.
Azure App Configuration Operations
-
app_configuration_kv_read: Reads key-values from Azure App Configuration. The
keyparameter is optional and allows filtering by key patterns (supports wildcards, e.g., 'app1/'). Thelabelparameter 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
keyandvalueparameters. Optional parameters includelabelto apply a label to the key-value andcontent_typeto specify the content type (e.g., 'application/json'). -
app_configuration_kv_delete: Deletes a key-value from Azure App Configuration. Requires the
keyparameter. Thelabelparameter 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_nameis 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
相关推荐
I craft unique cereal names, stories, and ridiculously cute Cereal Baby images.
I find academic articles and books for research and literature reviews.
Evaluator for marketplace product descriptions, checks for relevancy and keyword stuffing.
Confidential guide on numerology and astrology, based of GG33 Public information
Advanced software engineer GPT that excels through nailing the basics.
Emulating Dr. Jordan B. Peterson's style in providing life advice and insights.
Your go-to expert in the Rust ecosystem, specializing in precise code interpretation, up-to-date crate version checking, and in-depth source code analysis. I offer accurate, context-aware insights for all your Rust programming questions.
Découvrez la collection la plus complète et la plus à jour de serveurs MCP sur le marché. Ce référentiel sert de centre centralisé, offrant un vaste catalogue de serveurs MCP open-source et propriétaires, avec des fonctionnalités, des liens de documentation et des contributeurs.
L'application tout-en-un desktop et Docker AI avec chiffon intégré, agents AI, constructeur d'agent sans code, compatibilité MCP, etc.
Plateforme d'automatisation de workflow à code équitable avec des capacités d'IA natives. Combinez le bâtiment visuel avec du code personnalisé, de l'auto-hôte ou du cloud, 400+ intégrations.
Manipulation basée sur Micropython I2C de l'exposition GPIO de la série MCP, dérivée d'Adafruit_MCP230XX
🧑🚀 全世界最好的 LLM 资料总结 (数据处理、模型训练、模型部署、 O1 模型、 MCP 、小语言模型、视觉语言模型) | Résumé des meilleures ressources LLM du monde.
Une liste organisée des serveurs de protocole de contexte de modèle (MCP)
Reviews
user_v4wQdx9H
As a dedicated user of nr-mcp: New Relic MCP Server by ducduyn31, I am thoroughly impressed with its seamless performance and exceptional monitoring capabilities. This product excels in providing comprehensive insights into server metrics, ensuring optimal efficiency and reliability. The user-friendly interface and powerful analytics make it an indispensable tool for managing server health. Highly recommended for anyone seeking a robust and efficient server management solution!