You signed in with another tab or window. Reload
to refresh your session. You signed out in another tab or window. Reload
to refresh your session. You switched accounts on another tab or window. Reload
to refresh your session. Dismiss alert
mashriram / azure_mcp_server Public
4 stars
3 forks
Branches
Tags
Activity
Notifications
You must be signed in to change notification settings
master
Go to file
Code
| Name | | Name | Last commit message | Last commit date |
| --- | --- | --- | --- |
| Latest commit
-------------
mashriram
Merge pull request
#5
from jimmypc92/jimmypc92/AzureAppConfiguration
Mar 13, 2025
6e3a347
· Mar 13, 2025
History
-------
8 Commits
| | |
| mcp_server_azure | | mcp_server_azure | Added Azure App Configuration tools. | Mar 12, 2025 |
| .gitignore | | .gitignore | feat: init_version | Feb 11, 2025 |
| .template.env | | .template.env | Added Azure App Configuration tools. | Mar 12, 2025 |
| Dockerfile | | Dockerfile | feat: init_version | Feb 11, 2025 |
| LICENSE | | LICENSE | feat: init_version | Feb 11, 2025 |
| README.md | | README.md | Added Azure App Configuration tools. | Mar 12, 2025 |
| pyproject.toml | | pyproject.toml | Added Azure App Configuration tools. | Mar 12, 2025 |
| smithery.yaml | | smithery.yaml | Add Smithery configuration | Feb 12, 2025 |
| uv.lock | | uv.lock | Added Azure App Configuration tools. | Mar 12, 2025 |
| View all files | | |
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.
To install Azure MCP Server for Claude Desktop automatically via Smithery
:
npx -y @smithery/cli install @mashriram/azure_mcp_server --client claude
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.
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.DefaultAzureCredential
so it will automatically authenticate with the Azure CLI credentials if environment variables are not specified. Use az login
to log in.Configure Claude Desktop: Add the following configuration to your claude_desktop_config.json
file:
macOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
%APPDATA%/Claude/claude_desktop_config.json
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.
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
.
container_name
.container_name
.container_name
, blob_name
, and the file_content
(Base64 encoded).container_name
and blob_name
.container_name
.container_name
and blob_name
. Returns the content as text.container_name
and partition_key
. The database_name
is optional and defaults to defaultdb
. The partition_key
should be a JSON object defining the partition key (e.g., {"paths": ["/myPartitionKey"], "kind": "Hash"}
).container_name
. The database_name
is optional and defaults to defaultdb
.database_name
is optional and defaults to defaultdb
.container_name
. The database_name
is optional and defaults to defaultdb
.container_name
and the item
(a JSON object representing the item). The database_name
is optional and defaults to defaultdb
. Make sure your item
includes the partition key field and value.container_name
, item_id
, and partition_key
. The database_name
is optional and defaults to defaultdb
. The partition_key
must match the partition key value of the item being read.container_name
, item_id
, partition_key
, and the item
(a JSON object representing the complete updated item). The database_name
is optional and defaults to defaultdb
. The partition_key
must match the partition key value of the item being replaced.container_name
, item_id
, and partition_key
. The database_name
is optional and defaults to defaultdb
. The partition_key
must match the partition key value of the item being deleted.container_name
and query
. The database_name
is optional and defaults to defaultdb
. Optionally accepts a parameters
array for parameterized queries.key
parameter is optional and allows filtering by key patterns (supports wildcards, e.g., 'app1/'). The label
parameter is optional for filtering by label values ('\0' for no label, '' for any label).key
and value
parameters. Optional parameters include label
to apply a label to the key-value and content_type
to specify the content type (e.g., 'application/json').key
parameter. The label
parameter is optional and specifies which labeled version of the key to delete.Important Cosmos DB Notes:
database_name
is not provided, the server defaults to a database named SampleDB
. 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
No description, website, or topics provided.
No releases published
No packages published
You can’t perform that action at this time.