Skip to main content
Glama

Azure MCP Server

Official
MIT License
1,161
  • Linux
  • Apple
DeployOptionDefinitions.cs6.31 kB
// Copyright (c) Microsoft Corporation. // Licensed under the MIT License. using AzureMcp.Core.Areas.Server.Commands.ToolLoading; using AzureMcp.Core.Options; using AzureMcp.Deploy.Services.Util; namespace AzureMcp.Deploy.Options; public static class DeployOptionDefinitions { public static class RawMcpToolInput { public const string RawMcpToolInputName = CommandFactoryToolLoader.RawMcpToolInputOptionName; public static readonly Option<string> RawMcpToolInputOption = new( $"--{RawMcpToolInputName}", JsonSchemaLoader.LoadAppTopologyJsonSchema() ) { IsRequired = true }; } public class AzdAppLogOptions : SubscriptionOptions { public const string WorkspaceFolderName = "workspace-folder"; public const string AzdEnvNameName = "azd-env-name"; public const string LimitName = "limit"; public static readonly Option<string> WorkspaceFolder = new( $"--{WorkspaceFolderName}", "The full path of the workspace folder." ) { IsRequired = true }; public static readonly Option<string> AzdEnvName = new( $"--{AzdEnvNameName}", "The name of the environment created by azd (AZURE_ENV_NAME) during `azd init` or `azd up`. If not provided in context, try to find it in the .azure directory in the workspace or use 'azd env list'." ) { IsRequired = true }; public static readonly Option<int> Limit = new( $"--{LimitName}", () => 200, "The maximum row number of logs to retrieve. Use this to get a specific number of logs or to avoid the retrieved logs from reaching token limit. Default is 200." ) { IsRequired = false }; } public class PipelineGenerateOptions : SubscriptionOptions { public const string UseAZDPipelineConfigName = "use-azd-pipeline-config"; public const string OrganizationNameName = "organization-name"; public const string RepositoryNameName = "repository-name"; public const string GithubEnvironmentNameName = "github-environment-name"; public static readonly Option<bool> UseAZDPipelineConfig = new( $"--{UseAZDPipelineConfigName}", () => false, "Whether to use azd tool to set up the deployment pipeline. Set to true ONLY if azure.yaml is provided or the context suggests AZD tools." ) { IsRequired = false }; public static readonly Option<string> OrganizationName = new( $"--{OrganizationNameName}", "The name of the organization or the user account name of the current Github repository. DO NOT fill this in if you're not sure." ) { IsRequired = false }; public static readonly Option<string> RepositoryName = new( $"--{RepositoryNameName}", "The name of the current Github repository. DO NOT fill this in if you're not sure." ) { IsRequired = false }; public static readonly Option<string> GithubEnvironmentName = new( $"--{GithubEnvironmentNameName}", "The name of the environment to which the deployment pipeline will be deployed. DO NOT fill this in if you're not sure." ) { IsRequired = false }; } public static class PlanGet { public const string WorkspaceFolderName = "workspace-folder"; public const string ProjectNameName = "project-name"; public const string TargetAppServiceName = "target-app-service"; public const string ProvisioningToolName = "provisioning-tool"; public const string AzdIacOptionsName = "azd-iac-options"; public static readonly Option<string> WorkspaceFolder = new( $"--{WorkspaceFolderName}", "The full path of the workspace folder." ) { IsRequired = true }; public static readonly Option<string> ProjectName = new( $"--{ProjectNameName}", "The name of the project to generate the deployment plan for. If not provided, will be inferred from the workspace." ) { IsRequired = true }; public static readonly Option<string> TargetAppService = new( $"--{TargetAppServiceName}", "The Azure service to deploy the application. Valid values: ContainerApp, WebApp, FunctionApp, AKS. Recommend one based on user application." ) { IsRequired = true }; public static readonly Option<string> ProvisioningTool = new( $"--{ProvisioningToolName}", "The tool to use for provisioning Azure resources. Valid values: AZD, AzCli. Use AzCli if TargetAppService is AKS." ) { IsRequired = true }; public static readonly Option<string> AzdIacOptions = new( $"--{AzdIacOptionsName}", "The Infrastructure as Code option for azd. Valid values: bicep, terraform. Leave empty if Deployment tool is AzCli." ) { IsRequired = false }; } public static class IaCRules { public static readonly Option<string> DeploymentTool = new( "--deployment-tool", "The deployment tool to use. Valid values: AZD, AzCli") { IsRequired = true }; public static readonly Option<string> IacType = new( "--iac-type", "The Infrastructure as Code type. Valid values: bicep, terraform. Leave empty if deployment-tool is AzCli.") { IsRequired = false }; public static readonly Option<string> ResourceTypes = new( "--resource-types", "Specifies the Azure resource types to retrieve IaC rules for. It should be comma-separated. Supported values are: 'appservice', 'containerapp', 'function', 'aks'. If none of these services are used, this parameter can be left empty.") { IsRequired = false, AllowMultipleArgumentsPerToken = true }; } }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Azure/azure-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server