@azure/mcp 2.0.0-beta.1 → 2.0.0-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # <img height="36" width="36" src="https://cdn-dynmedia-1.microsoft.com/is/content/microsoftcorp/acom_social_icon_azure" alt="Microsoft Azure Logo" /> Azure MCP Server NPM Package
2
2
 
3
- All Azure MCP tools in a single server. The Azure MCP Server implements the [MCP specification](https://modelcontextprotocol.io) to create a seamless connection between AI agents and Azure services. Azure MCP Server can be used alone or with the [GitHub Copilot for Azure extension](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azure-github-copilot) in VS Code.
4
3
 
4
+ All Azure MCP tools in a single server. The Azure MCP Server implements the [MCP specification](https://modelcontextprotocol.io) to create a seamless connection between AI agents and Azure services. Azure MCP Server can be used alone or with the [GitHub Copilot for Azure extension](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azure-github-copilot) in VS Code.
5
5
  ## Table of Contents
6
6
  - [Overview](#overview)
7
7
  - [Installation](#installation)
@@ -54,11 +54,25 @@ All Azure MCP tools in a single server. The Azure MCP Server implements the [MCP
54
54
  | **Claude Code** | `~/.claude.json` or `.mcp.json` (project) | [Claude Code MCP Configuration](https://scottspence.com/posts/configuring-mcp-tools-in-claude-code) |
55
55
  | **Claude Desktop** | `~/.claude/claude_desktop_config.json` (macOS)<br>`%APPDATA%\Claude\claude_desktop_config.json` (Windows) | [Claude Desktop MCP Setup](https://support.claude.com/en/articles/10949351-getting-started-with-local-mcp-servers-on-claude-desktop) |
56
56
  | **Cursor** | `~/.cursor/mcp.json` or `.cursor/mcp.json` | [Cursor MCP Documentation](https://docs.cursor.com/context/model-context-protocol) |
57
+ | **Eclipse IDE** | GitHub Copilot Chat -> Configure Tools -> MCP Servers | [Eclipse MCP Documentation](https://docs.github.com/en/copilot/how-tos/provide-context/use-mcp/extend-copilot-chat-with-mcp#configuring-mcp-servers-in-eclipse) |
57
58
  | **IntelliJ IDEA** | Built-in MCP server (2025.2+)<br>Settings > Tools > MCP Server | [IntelliJ MCP Documentation](https://www.jetbrains.com/help/ai-assistant/mcp.html) |
58
59
  | **Visual Studio** | `.mcp.json` (solution/workspace) | [Visual Studio MCP Setup](https://learn.microsoft.com/visualstudio/ide/mcp-servers?view=vs-2022) |
59
60
  | **VS Code** | `.vscode/mcp.json` (workspace)<br>`settings.json` (user) | [VS Code MCP Documentation](https://code.visualstudio.com/docs/copilot/chat/mcp-servers) |
60
61
  | **Windsurf** | `~/.codeium/windsurf/mcp_config.json` | [Windsurf Cascade MCP Integration](https://docs.windsurf.com/windsurf/cascade/mcp) |
61
62
 
63
+ ## Remote MCP Server (preview)
64
+
65
+ Microsoft Foundry and Microsoft Copilot Studio require remote MCP server endpoints. To self-host the Azure MCP Server for use with these platforms, deploy it as a remote MCP server on [Azure Container Apps](https://learn.microsoft.com/azure/container-apps/overview).
66
+
67
+ ### Microsoft Foundry
68
+
69
+ 1. Follow the [deployment guide](https://github.com/Azure-Samples/azmcp-foundry-aca-mi) for Microsoft Foundry.
70
+ 2. See [Microsoft Foundry's MCP documentation](https://learn.microsoft.com/azure/ai-foundry/agents/how-to/tools/model-context-protocol) for more details.
71
+
72
+ ### Microsoft Copilot Studio
73
+
74
+ 1. Follow the [deployment guide](https://github.com/Azure-Samples/azmcp-copilot-studio-aca-mi) for Microsoft Copilot Studio.
75
+
62
76
  # Usage
63
77
 
64
78
  ## Getting Started
@@ -76,13 +90,21 @@ All Azure MCP tools in a single server. The Azure MCP Server implements the [MCP
76
90
 
77
91
  ✨ The Azure MCP Server supercharges your agents with Azure context. Here are some cool prompts you can try:
78
92
 
79
- ### 🧮 Azure AI Foundry
93
+ ### 🧮 Microsoft Foundry
80
94
 
81
- * List Azure Foundry models
82
- * Deploy foundry models
83
- * List foundry model deployments
95
+ * List Microsoft Foundry models
96
+ * Deploy Microsoft Foundry models
97
+ * List Microsoft Foundry model deployments
84
98
  * List knowledge indexes
85
99
  * Get knowledge index schema configuration
100
+ * Create Microsoft Foundry agents
101
+ * List Microsoft Foundry agents
102
+ * Connect and query Microsoft Foundry agents
103
+ * Evaluate Microsoft Foundry agents
104
+ * Get SDK samples for interacting with Microsoft Foundry agent
105
+ * Create Microsoft Foundry agent threads
106
+ * List Microsoft Foundry agent threads
107
+ * Get messages of a Microsoft Foundry thread
86
108
 
87
109
  ### 🔎 Azure AI Search
88
110
 
@@ -95,6 +117,9 @@ All Azure MCP tools in a single server. The Azure MCP Server implements the [MCP
95
117
  * "Recognize speech from my audio file with language detection"
96
118
  * "Transcribe speech from audio with profanity filtering"
97
119
  * "Transcribe audio with phrase hints for better accuracy"
120
+ * "Convert text to speech and save to output.wav"
121
+ * "Synthesize speech from 'Hello, welcome to Azure' with Spanish voice"
122
+ * "Generate MP3 audio from text with high quality format"
98
123
 
99
124
  ### ⚙️ Azure App Configuration
100
125
 
@@ -232,11 +257,11 @@ All Azure MCP tools in a single server. The Azure MCP Server implements the [MCP
232
257
 
233
258
  ## Complete List of Supported Azure Services
234
259
 
235
- The Azure MCP Server provides tools for interacting with **40+ Azure service areas**:
260
+ The Azure MCP Server provides tools for interacting with **41+ Azure service areas**:
236
261
 
237
- - 🧮 **Azure AI Foundry** - AI model management, AI model deployment, and knowledge index management
262
+ - 🧮 **Microsoft Foundry** - AI model management, AI model deployment, and knowledge index management
238
263
  - 🔎 **Azure AI Search** - Search engine/vector database operations
239
- - 🎤 **Azure AI Services Speech** - Speech-to-text recognition
264
+ - 🎤 **Azure AI Services Speech** - Speech-to-text recognition and text-to-speech synthesis
240
265
  - ⚙️ **Azure App Configuration** - Configuration management
241
266
  - 🕸️ **Azure App Service** - Web app hosting
242
267
  - 🛡️ **Azure Best Practices** - Secure, production-grade guidance
@@ -270,6 +295,7 @@ The Azure MCP Server provides tools for interacting with **40+ Azure service are
270
295
  - 🗄️ **Azure SQL Elastic Pool** - Database resource sharing
271
296
  - 🗄️ **Azure SQL Server** - Server administration
272
297
  - 💾 **Azure Storage** - Blob storage
298
+ - 🔄 **Azure Storage Sync** - Azure File Sync management operations
273
299
  - 📋 **Azure Subscription** - Subscription management
274
300
  - 🏗️ **Azure Terraform Best Practices** - Infrastructure as code guidance
275
301
  - 🖥️ **Azure Virtual Desktop** - Virtual desktop infrastructure
@@ -287,6 +313,7 @@ The Azure MCP Server provides tools for interacting with **40+ Azure service are
287
313
  ## Feedback and Support
288
314
 
289
315
  - Check the [Troubleshooting guide](https://aka.ms/azmcp/troubleshooting) to diagnose and resolve common issues with the Azure MCP Server.
316
+ - For advanced troubleshooting, you can enable [support logging](https://github.com/microsoft/mcp/blob/main/servers/Azure.Mcp.Server/TROUBLESHOOTING.md#support-logging) using the `--dangerously-write-support-logs-to-dir` option.
290
317
  - We're building this in the open. Your feedback is much appreciated, and will help us shape the future of the Azure MCP server.
291
318
  - 👉 [Open an issue](https://github.com/microsoft/mcp/issues) in the public GitHub repository — we’d love to hear from you!
292
319
 
@@ -308,9 +335,27 @@ The software may collect information about you and your use of the software and
308
335
 
309
336
  ### Telemetry Configuration
310
337
 
311
- Telemetry collection is on by default.
338
+ Telemetry collection is on by default. The server supports two telemetry streams:
339
+
340
+ 1. **User-provided telemetry**: If you configure your own Application Insights connection string via the `APPLICATIONINSIGHTS_CONNECTION_STRING` environment variable, telemetry will be sent to your Application Insights resource.
341
+
342
+ 2. **Microsoft telemetry**: By default, telemetry is also sent to Microsoft to help improve the product. This can be disabled separately from user-provided telemetry. See [Disabling All Telemetry](#disabling-all-telemetry) section below for more details.
343
+
344
+ #### Disabling All Telemetry
345
+
346
+ To disable all telemetry collection (both user-provided and Microsoft), set the environment variable `AZURE_MCP_COLLECT_TELEMETRY` to `false`:
347
+
348
+ ```bash
349
+ export AZURE_MCP_COLLECT_TELEMETRY=false
350
+ ```
351
+
352
+ #### Disabling Microsoft Telemetry Only
353
+
354
+ To disable only Microsoft telemetry collection while keeping your own Application Insights telemetry active, set the environment variable `AZURE_MCP_COLLECT_TELEMETRY_MICROSOFT` to `false`:
312
355
 
313
- To opt out, set the environment variable `AZURE_MCP_COLLECT_TELEMETRY` to `false` in your environment.
356
+ ```bash
357
+ export AZURE_MCP_COLLECT_TELEMETRY_MICROSOFT=false
358
+ ```
314
359
 
315
360
  ## Compliance Responsibility
316
361
 
package/index.js CHANGED
@@ -1,11 +1,12 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  const os = require('os')
4
+ const packageJson = require('./package.json')
4
5
 
5
6
  // Check if DEBUG environment variable is set
6
7
  const isDebugMode = process.env.DEBUG && (
7
8
  process.env.DEBUG.toLowerCase() === 'true' ||
8
- process.env.DEBUG.includes('azure-mcp') ||
9
+ process.env.DEBUG.includes('mcp') ||
9
10
  process.env.DEBUG === '*'
10
11
  )
11
12
 
@@ -25,7 +26,9 @@ process.argv.forEach((val, index) => {
25
26
  const platform = os.platform()
26
27
  const arch = os.arch()
27
28
 
28
- const platformPackageName = `@azure/mcp-${platform}-${arch}`
29
+ const packageName = packageJson.name
30
+ const packageVersion = packageJson.version
31
+ const platformPackageName = `${packageName}-${platform}-${arch}`
29
32
 
30
33
  // Try to load the platform package
31
34
  let platformPackage
@@ -34,58 +37,59 @@ try {
34
37
  platformPackage = require(platformPackageName)
35
38
  } catch (err) {
36
39
  debugLog(`Failed to require ${platformPackageName}, attempting auto-install: ${err.message}`)
37
-
40
+
38
41
  // Try to automatically install the missing platform package
39
42
  try {
40
43
  const { execSync } = require('child_process')
41
-
44
+
42
45
  console.error(`Installing missing platform package: ${platformPackageName}`)
43
-
46
+
44
47
  // Try to install the platform package
45
48
  try {
46
- execSync(`npm install ${platformPackageName}@latest`, {
49
+ execSync(`npm install ${platformPackageName}@${packageVersion}`, {
47
50
  stdio: ['inherit', 'inherit', 'pipe'], // Only pipe stderr to capture errors
48
51
  timeout: 60000 // 60 second timeout
49
52
  })
50
53
  } catch (npmErr) {
51
54
  // If npm install fails, try with --no-save and different install strategies
52
55
  debugLog(`npm install failed, trying alternative installation methods: ${npmErr.message}`)
53
-
56
+
54
57
  // Try with --no-save and --prefer-online
55
- execSync(`npm install ${platformPackageName}@latest --no-save --prefer-online`, {
58
+ execSync(`npm install ${platformPackageName}@${packageVersion} --no-save --prefer-online`, {
56
59
  stdio: ['inherit', 'inherit', 'pipe'],
57
60
  timeout: 60000
58
61
  })
59
62
  }
60
-
63
+
61
64
  // Clear module cache and try to require again after installation
62
65
  Object.keys(require.cache).forEach(key => {
63
66
  if (key.includes(platformPackageName)) {
64
67
  delete require.cache[key]
65
68
  }
66
69
  })
67
-
70
+
68
71
  platformPackage = require(platformPackageName)
69
-
72
+
70
73
  console.error(`✅ Successfully installed and loaded ${platformPackageName}`)
71
-
74
+
72
75
  } catch (installErr) {
73
76
  debugLog(`Auto-install failed: ${installErr.message}`)
74
-
77
+
75
78
  console.error(`\n❌ Failed to load platform specific package '${platformPackageName}'`)
76
79
  console.error(`\n🔍 Troubleshooting steps:`)
77
- console.error(`\n1. Clear npm cache and reinstall:`)
80
+ console.error(`\n1. Clear npm cache:`)
78
81
  console.error(` npm cache clean --force`)
79
- console.error(` npm uninstall -g @azure/mcp`)
80
- console.error(` npm install -g @azure/mcp@latest`)
81
- console.error(`\n2. If using npx, clear the cache:`)
82
- console.error(` npx clear-npx-cache`)
83
- console.error(` npx -y @azure/mcp@latest server start`)
84
- console.error(`\n3. Manually install the platform package:`)
82
+ console.error(`\n2. If installing as a global tool, uninstall and reinstall:`)
83
+ console.error(` npm uninstall -g ${packageName}`)
84
+ console.error(` npm install -g ${packageName}`)
85
+ console.error(`\n3. If using npx, clear the npx cache and try again:`)
86
+ console.error(` npx -y clear-npx-cache`)
87
+ console.error(` npx -y ${packageName}@latest --version`)
88
+ console.error(`\n4. Manually install the platform package to check compatibility:`)
85
89
  console.error(` npm install ${platformPackageName}@latest`)
86
- console.error(`\n4. Check your internet connection and try again`)
87
- console.error(`\n5. If the issue persists, please report it at:`)
88
- console.error(` https://github.com/Azure/azure-mcp/issues`)
90
+ console.error(`\n5. Check your internet connection and try again`)
91
+ console.error(`\n6. If the issue persists, please report it at:`)
92
+ console.error(` https://github.com/microsoft/mcp/issues`)
89
93
  console.error(`\nOriginal error: ${err.message}`)
90
94
  console.error(`Install error: ${installErr.message}`)
91
95
  process.exit(1)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@azure/mcp",
3
- "version": "2.0.0-beta.1",
3
+ "version": "2.0.0-beta.10",
4
4
  "description": "Azure MCP Server - Model Context Protocol implementation for Azure",
5
5
  "author": "Microsoft",
6
6
  "homepage": "https://github.com/Microsoft/mcp/blob/main/servers/Azure.Mcp.Server#readme",
@@ -14,8 +14,8 @@
14
14
  "url": "https://github.com/microsoft/mcp/issues"
15
15
  },
16
16
  "repository": {
17
- "url": "https://github.com/microsoft/mcp.git",
18
- "type": "git"
17
+ "type": "git",
18
+ "url": "https://github.com/microsoft/mcp.git"
19
19
  },
20
20
  "engines": {
21
21
  "node": ">=20.0.0"
@@ -33,14 +33,15 @@
33
33
  "arm64"
34
34
  ],
35
35
  "optionalDependencies": {
36
- "@azure/mcp-win32-arm64": "2.0.0-beta.1",
37
- "@azure/mcp-darwin-arm64": "2.0.0-beta.1",
38
- "@azure/mcp-win32-x64": "2.0.0-beta.1",
39
- "@azure/mcp-darwin-x64": "2.0.0-beta.1",
40
- "@azure/mcp-linux-arm64": "2.0.0-beta.1",
41
- "@azure/mcp-linux-x64": "2.0.0-beta.1"
36
+ "@azure/mcp-darwin-arm64": "2.0.0-beta.10",
37
+ "@azure/mcp-linux-x64": "2.0.0-beta.10",
38
+ "@azure/mcp-darwin-x64": "2.0.0-beta.10",
39
+ "@azure/mcp-win32-x64": "2.0.0-beta.10",
40
+ "@azure/mcp-win32-arm64": "2.0.0-beta.10",
41
+ "@azure/mcp-linux-arm64": "2.0.0-beta.10"
42
42
  },
43
43
  "scripts": {
44
44
  "postinstall": "node ./scripts/post-install-script.js"
45
- }
45
+ },
46
+ "mcpName": "com.microsoft/azure"
46
47
  }
@@ -1,23 +1,19 @@
1
- const fs = require('fs')
2
- const path = require('path')
3
1
  const os = require('os');
4
2
 
5
3
  const platform = os.platform();
6
4
  const arch = os.arch();
7
5
 
8
- const pkgJsonPath = path.join(__dirname, '..', 'package.json');
9
- let baseName = '@azure/mcp';
10
- try {
11
- const pkg = JSON.parse(fs.readFileSync(pkgJsonPath, 'utf8'));
12
- if (pkg.name) {
13
- baseName = pkg.name;
14
- }
15
- } catch (e) {
16
- // fallback to default
6
+ let baseName = '';
7
+ try{
8
+ const packageJson = require('../package.json');
9
+ baseName = packageJson.name;
10
+ }
11
+ catch (err) {
12
+ console.error('Unable to verify platform package installation. Error reading package.json.');
13
+ process.exit(1);
17
14
  }
18
15
 
19
16
  const requiredPackage = `${baseName}-${platform}-${arch}`;
20
-
21
17
  try {
22
18
  require.resolve(requiredPackage);
23
19
  } catch (err) {