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

Aberta Para iniciantes
#110 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
2/5
Tempo estimado
1-3 horas
Facilidade para iniciantes
72/100
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
typescript

Direção de pesquisa

Comece em argv.ts, onde a issue diz que uma sintaxe de shell proibida gera a mesma mensagem de AzSyntaxError para vários caracteres e padrões. Rastreie como a entrada recusada é detectada e como o erro chega à resposta do comando. O trabalho está concluído quando a recusa identifica o caractere ou padrão e explica que colocar o valor entre aspas resolve o problema, com cobertura para o caso relatado de & e as outras sintaxes listadas.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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
Linguagem predominante
TypeScript
Estrelas
29
Forks
14
Merge médio
3d 16h
PRs com merge (30d)
18

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de localstack/localstack-mcp-server

Todas as issues de localstack/localstack-mcp-server

Issues semelhantes

Mais issues de TypeScript

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.