localstack-azure-client: .bicepparam files that use readEnvironmentVariable() can't be deployed

Ouverte
#111 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
64/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
Active
Stack technique
azure, typescript
Domaine
cloud, security

Piste de recherche

Start with child-env.ts to see how the Azure CLI environment allow-list is built, then read docs/AZURE.md and the tool description. Document that variables are not forwarded and .bicepparam files using readEnvironmentVariable() need inline --parameters, or explore a setting for explicitly forwarded variables while blocking Azure credential prefixes. Done means the limitation and supported behavior are clear, with any forwarding option preserving the stated credential restrictions.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

What happens

The Azure tool builds az's environment from an allow-list (child-env.ts). That's the right call for keeping az away from real Azure, but it also means a .bicepparam file that reads a value with readEnvironmentVariable() can't be deployed through the tool:

deployment group validate --resource-group local-rg --template-file bicep/main.bicep --parameters bicep/main.bicepparam
❌ Command Failed (exit 1)
ERROR: …/bicep/main.bicepparam(11,47) : Error BCP427: Environment variable "BACKEND_SECRET" does not exist and there's no default value set.

The api-management-function-app sample in localstack-azure-samples does this: its deploy.sh exports BACKEND_SECRET before calling az. Through the MCP tool there is no way to set it, so an agent has to drop the .bicepparam file and pass --template-file main.bicep --parameters backendSecret=…. That puts the secret in the agent's transcript.

Expected

At least, docs/AZURE.md and the tool description should say that the environment isn't forwarded and that .bicepparam files using readEnvironmentVariable() need inline --parameters instead.

A possible option is a setting that names extra variables to forward to az, while still refusing AZURE_*, ARM_* and MSI_*. That would also keep secrets out of tool-call arguments.

Context

  • MCP server 0.7.0 via npx
  • LocalStack Azure emulator 2026.11.0.dev501
  • Bicep 0.48.1
  • Azure CLI 2.70.0
Langage dominant
TypeScript
Étoiles
29
Forks
14
Merge moyen
3 j 16 h
PR mergées (30 j)
18

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de localstack/localstack-mcp-server

Toutes les issues de localstack/localstack-mcp-server

Issues similaires

Plus d'issues TypeScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.