localstack-azure-client: the shell-syntax refusal doesn't say that quoting fixes it

Abierto Apto para principiantes
#110 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
72/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
typescript

Línea de trabajo

Empieza en argv.ts, donde el issue indica que la sintaxis de shell prohibida provoca el mismo mensaje de AzSyntaxError para varios caracteres y patrones. Sigue cómo se detecta la entrada rechazada y cómo llega el error a la respuesta del comando. Se considera terminado cuando el rechazo identifica el carácter o patrón y explica que poner el valor entre comillas lo soluciona, con cobertura para el caso reportado de & y el resto de la sintaxis indicada.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

What happens

localstack-azure-client refuses an unquoted & with a generic message. An agent calling rest with a two-parameter URL got:

rest --method get --url /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/local-rg/providers/Microsoft.ApiManagement/service/local-inventory-apim-test/apis/inventory-api/policies/policy?api-version=2022-08-01&format=rawxml
❌ Command not understood

Command contains forbidden shell syntax.

The agent concluded that "the MCP Azure tool rejects & in az rest URLs, so URLs can carry only one query parameter", dropped format=rawxml, and reported that as a limitation. That's not true. The same URL in double quotes works:

rest --method get --url "/subscriptions/…/policies/policy?api-version=2022-08-01&format=rawxml" --query properties.format
"rawxml"

Expected

The refusal should say which character was refused and that quoting the value fixes it. For example: "& outside quotes is shell syntax. Quote the value, for example --url \"…?a=1&b=2\"." argv.ts throws the same AzSyntaxError text for ;&|<>, $(, ${, backticks and newlines, so the message never says which one it found.

The same applies to $filter, $top and other query parameters. An agent that can't tell why its call was refused will route around the feature.

Context

  • MCP server 0.7.0 via npx
  • LocalStack Azure emulator 2026.11.0.dev501
  • Claude Code with claude-opus-5-5, deploying the api-management-function-app sample from localstack-azure-samples
Lenguaje dominante
TypeScript
Estrellas
29
Forks
14
Merge medio
3 d 16 h
PR fusionados (30 d)
18

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de localstack/localstack-mcp-server

Todos los issues de localstack/localstack-mcp-server

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.