microsoft / microsoft/GitHub-Copilot-for-Azure
Remove VS Code-specific mcp_azure_mcp_ prefix from tool names in SKILL.md files
- Dominant language
- Python
- Stars
- 250
- Forks
- 204
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 67
Description
## Summary
10 SKILL.md files in the azure-skills use VS Code-specific MCP tool name prefixes (`mcp_azure_mcp_*`). Azure Skills officially supports 5 IDE/host environments, but only VS Code adds this client-side prefix. The other 4 hosts use server-registered tool names (no prefix), meaning skills referencing `mcp_azure_mcp_*` **fail on 4 out of 5 supported hosts**.
## The Problem
MCP tool names are **server-registered**. The Azure MCP Server registers tools like `aks_cluster_get`, `compute_disk_create`, `subscription_list`, etc. — with no prefix.
**VS Code adds a client-side prefix.** When VS Code's MCP client loads tools from a server named `azure_mcp`, it prefixes each tool name: `mcp_azure_mcp_aks_cluster_get`. This is a **VS Code-specific convention** — no other MCP client does this.
## Impact by Host
| Host | Tool name format | Impact of `mcp_azure_mcp_*` in SKILL.md |
|------|-----------------|----------------------------------------|
| VS Code | `mcp_azure_mcp_{tool}` (client adds prefix) | ✅ Works |
| GitHub Copilot CLI | `{tool}` (server-registered name) | ❌ Tool not found |
| Claude Code | `{tool}` (server-registered name) | ❌ Tool not found |
| Cursor | `{tool}` (server-registered name) | ❌ Tool not found |
| IntelliJ IDEA | `{tool}` (server-registered name) | ❌ Tool not found |
**Skills work on 1/5 supported hosts.** 4/5 hosts will fail to resolve tool names.
## 15 Tool Names That Need the Prefix Removed
1. `mcp_azure_mcp_aks` → `aks`
2. `mcp_azure_mcp_applens` → `applens`
3. `mcp_azure_mcp_applicationinsights` → `applicationinsights`
4. `mcp_azure_mcp_appservice` → `appservice`
5. `mcp_azure_mcp_azd` → `azd`
6. `mcp_azure_mcp_documentation` → `documentation`
7. `mcp_azure_mcp_eventhubs` → `eventhubs`
8. `mcp_azure_mcp_extension_azqr` → `extension_azqr`
9. `mcp_azure_mcp_extension_cli_generate` → `extension_cli_generate`
10. `mcp_azure_mcp_get_azure_bestpractices` → `get_azure_bestpractices`
11. `mcp_azure_mcp_group_list` → `group_list`
12. `mcp_azure_mcp_monitor` → `monitor`
13. `mcp_azure_mcp_resourcehealth` → `resourcehealth`
14. `mcp_azure_mcp_servicebus` → `servicebus`
15. `mcp_azure_mcp_subscription_list` → `subscription_list`
## Affected SKILL.md Files (10 files)
| # | File path |
|---|-----------|
| 1 | `skills/azure-cloud-migrate/SKILL.md` |
| 2 | `skills/azure-compliance/SKILL.md` |
| 3 | `skills/azure-deploy/SKILL.md` |
| 4 | `skills/azure-diagnostics/SKILL.md` |
| 5 | `skills/azure-kubernetes/SKILL.md` |
| 6 | `skills/azure-kubernetes/azure-kubernetes-automatic-readiness/SKILL.md` |
| 7 | `skills/azure-messaging/SKILL.md` |
| 8 | `skills/azure-resource-lookup/SKILL.md` |
| 9 | `skills/azure-upgrade/SKILL.md` |
| 10 | `skills/entra-agent-id/SKILL.md` |
## Downstream Impact
Published Learn articles also contain the wrong prefixed names:
| Article | Wrong tool name(s) | Published URL |
|---------|--------------------|----|
| `articles/azure-skills/skills/azure-kubernetes.md` | `mcp_azure_mcp_aks` | https://learn.microsoft.com/azure/developer/azure-skills/skills/azure-kubernetes |
| `articles/azure-skills/skills/azure-messaging.md` | 5 wrong tool names | https://learn.microsoft.com/azure/developer/azure-skills/skills/azure-messaging |
| `articles/azure-skills/skills/azure-resource-lookup.md` | 2 wrong tool names | https://learn.microsoft.com/azure/developer/azure-skills/skills/azure-resource-lookup |
## Recommended Fix
Replace all `mcp_azure_mcp_*` tool names with the server-registered names (strip `mcp_azure_mcp_` prefix) across all 10 SKILL.md files. Skills should use client-agnostic tool names — each MCP client is responsible for its own namespacing convention.
Once upstream is fixed, the downstream published articles should be regenerated.
Contributor guide
Research direction
Search the ten listed skills/*/SKILL.md files for the mcp_azure_mcp_ prefixes and compare each occurrence with the 15 server-registered names in the issue. Remove only that client-specific prefix, then verify no prefixed names remain in those files and review the three listed downstream articles for the regeneration follow-up.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- vscode
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 72/100