Azure MCP Server

by mashriram
Verified

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Provides tools for interacting with Azure services, specifically Azure Blob Storage and Azure Cosmos DB (NoSQL API). Enables operations like creating/listing/deleting containers, uploading/reading/deleting blobs, and creating/reading/querying/deleting items in Cosmos DB.

Servidor MCP de Azure

Implementación de un servidor de Protocolo de Contexto de Modelo para interactuar con los servicios de Azure. Actualmente es compatible con Azure Blob Storage y Azure Cosmos DB (API NoSQL). Todas las operaciones realizadas a través de este servidor se registran automáticamente y son accesibles a través del punto de conexión del recurso audit://azure-operations .

Ejecución local con la aplicación de escritorio Claude

Instalación mediante herrería

Para instalar Azure MCP Server para Claude Desktop automáticamente a través de Smithery :

npx -y @smithery/cli install @mashriram/azure_mcp_server --client claude

Instalación manual

  1. Clonar el repositorio: clona este repositorio en tu máquina local.
  2. Configurar credenciales de Azure: Configure sus credenciales de Azure. Este servidor requiere una cuenta de Azure con los permisos adecuados para Blob Storage, Cosmos DB y App Configuration. Recomendamos usar DefaultAzureCredential , que intenta autenticarse mediante varios métodos en orden.
    • Variables de entorno: establezca las siguientes variables de entorno:
      • AZURE_STORAGE_ACCOUNT_URL : la URL de su cuenta de Azure Storage (por ejemplo, https://<your_account_name>.blob.core.windows.net ).
      • AZURE_COSMOSDB_ENDPOINT : la URL del punto de conexión para su cuenta de Azure Cosmos DB.
      • AZURE_COSMOSDB_KEY : La clave principal o secundaria de su cuenta de Azure Cosmos DB. Importante: Trate esta clave como una contraseña y manténgala segura.
      • AZURE_APP_CONFIGURATION_ENDPOINT : la URL de su instancia de Azure App Configuration.
    • CLI de Azure: Como alternativa, puede autenticarse mediante la CLI de Azure. Asegúrese de haber iniciado sesión con una cuenta con los permisos necesarios. Este servidor usa DefaultAzureCredential , por lo que se autenticará automáticamente con las credenciales de la CLI de Azure si no se especifican variables de entorno. Use az login para iniciar sesión.
  3. Configurar Claude Desktop: agregue la siguiente configuración a su archivo claude_desktop_config.json :
    • macOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
    • Ventanas: %APPDATA%/Claude/claude_desktop_config.json
    "mcpServers": { "mcp-server-azure": { "command": "uv", "args": [ "--directory", "/path/to/repo/azure-mcp-server", "run", "azure-mcp-server" ] } }

    Reemplace /path/to/repo/azure-mcp-server con la ruta real al repositorio clonado.

  4. Instalar y ejecutar Claude Desktop: Instale y abra la aplicación de escritorio Claude .
  5. Pruebe la configuración: Solicite a Claude que realice una operación de lectura o escritura con las herramientas de Azure (por ejemplo, crear un contenedor de Blob Storage o agregar un elemento a Cosmos DB). Si encuentra algún problema, consulte la documentación de depuración de MCP aquí .

Herramientas disponibles

Operaciones de almacenamiento de blobs de Azure

  • blob_container_create: Crea un nuevo contenedor de Blob Storage. Requiere container_name .
  • blob_container_list: enumera todos los contenedores de Blob Storage en la cuenta configurada.
  • blob_container_delete: Elimina un contenedor de Blob Storage. Requiere container_name .
  • blob_upload: Sube un blob (archivo) a un contenedor de Blob Storage. Requiere container_name , blob_name y file_content (codificado en Base64).
  • blob_delete: Elimina un blob de un contenedor de Blob Storage. Requiere container_name y blob_name .
  • blob_list: Enumera los blobs dentro de un contenedor de Blob Storage. Requiere container_name .
  • blob_read: Lee el contenido de un blob desde Blob Storage. Requiere container_name y blob_name . Devuelve el contenido como texto.

Operaciones de Azure Cosmos DB (API NoSQL)

Operaciones de contenedores

  • cosmosdb_container_create: Crea un nuevo contenedor de Cosmos DB dentro de una base de datos. Requiere container_name y partition_key . database_name es opcional y su valor predeterminado es defaultdb . partition_key debe ser un objeto JSON que defina la clave de partición (p. ej., {"paths": ["/myPartitionKey"], "kind": "Hash"} ).
  • cosmosdb_container_describe: Obtiene información sobre un contenedor de Cosmos DB. Requiere container_name . database_name es opcional y su valor predeterminado es defaultdb .
  • cosmosdb_container_list: Lista todos los contenedores de Cosmos DB dentro de una base de datos. El database_name es opcional y su valor predeterminado es defaultdb .
  • cosmosdb_container_delete: Elimina un contenedor de Cosmos DB. Requiere container_name . database_name es opcional y su valor predeterminado es defaultdb .

Operaciones de artículos

  • cosmosdb_item_create: Crea un nuevo elemento dentro de un contenedor de Cosmos DB. Requiere container_name y el item (un objeto JSON que representa el elemento). database_name es opcional y su valor predeterminado es defaultdb . Asegúrese de que el item incluya el campo de clave de partición y su valor.
  • cosmosdb_item_read: Lee un elemento de un contenedor de Cosmos DB. Requiere container_name , item_id y partition_key . database_name es opcional y su valor predeterminado es defaultdb . La partition_keydebe coincidir con el valor de la clave de partición del elemento que se lee.
  • cosmosdb_item_replace: Reemplaza un elemento existente dentro de un contenedor de Cosmos DB. Requiere container_name , item_id , partition_key y el item (un objeto JSON que representa el elemento actualizado completo ). database_name es opcional y su valor predeterminado es defaultdb . La partition_keydebe coincidir con el valor de la clave de partición del elemento que se reemplaza.
  • cosmosdb_item_delete: Elimina un elemento de un contenedor de Cosmos DB. Requiere container_name , item_id y partition_key . database_name es opcional y su valor predeterminado es defaultdb . La partition_keydebe coincidir con el valor de la clave de partición del elemento que se va a eliminar.
  • cosmosdb_item_query: Consulta elementos en un contenedor de Cosmos DB mediante una consulta SQL. Requiere container_name y query . database_name es opcional y su valor predeterminado es defaultdb . Opcionalmente, acepta una matriz parameters para consultas parametrizadas.

Operaciones de configuración de aplicaciones de Azure

  • app_configuration_kv_read: Lee pares clave-valor de Azure App Configuration. El parámetro key es opcional y permite filtrar por patrones de clave (admite comodines, p. ej., "app1/ "). El parámetro label es opcional para filtrar por valores de etiqueta ('\0' para ninguna etiqueta, ' ' para cualquier etiqueta).
  • app_configuration_kv_write: Escribe o actualiza un valor clave en Azure App Configuration. Requiere los parámetros key y value . Los parámetros opcionales incluyen label para aplicar una etiqueta al valor clave y content_type para especificar el tipo de contenido (p. ej., "application/json").
  • app_configuration_kv_delete: Elimina un valor clave de Azure App Configuration. Requiere el parámetro key . El parámetro label es opcional y especifica la versión etiquetada de la clave que se eliminará.

Notas importantes de Cosmos DB:

  • Claves de partición: Cosmos DB requiere una clave de partición para un almacenamiento y recuperación de datos eficientes. Al crear contenedores, debe definir una clave de partición. Al leer, reemplazar o eliminar elementos, debe proporcionar el valor correcto de la clave de partición para el elemento al que accede. La clave de partición es una propiedad de sus datos.
  • Distinción entre mayúsculas y minúsculas: Los nombres de recursos de Cosmos DB (bases de datos, contenedores, ID de elementos) y los valores de clave de partición distinguen entre mayúsculas y minúsculas. Asegúrese de usar las mayúsculas y minúsculas correctas en las llamadas a herramientas.
  • Base de datos predeterminada: Si no se proporciona el database_name , el servidor utiliza por defecto una base de datos llamada SampleDB . Asegúrese de que esta base de datos exista o proporcione explícitamente el nombre de la base de datos deseada en los argumentos de la llamada a la herramienta.

Este archivo README proporciona la información necesaria para configurar y usar el servidor Azure MCP con la aplicación de escritorio Claude. Recuerde gestionar sus credenciales de Azure de forma segura y consultar la documentación de MCP para obtener más información sobre el protocolo.

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Este servidor implementa el Protocolo de contexto de modelo para una interacción fluida con Azure Blob Storage y Cosmos DB, lo que permite el registro automático y el seguimiento de auditoría de las operaciones.

  1. Running Locally with the Claude Desktop App
    1. Installing via Smithery
    2. Manual Installation
  2. Available Tools
    1. Azure Blob Storage Operations
    2. Azure Cosmos DB (NoSQL API) Operations
    3. Azure App Configuration Operations
ID: cczdogb799