Skip to main content
Glama

Azure MCP Server

Official
MIT License
1,161
  • Linux
  • Apple
TemplateService.cs2.9 kB
// Copyright (c) Microsoft Corporation. // Licensed under the MIT License. using System.Reflection; using System.Text; namespace AzureMcp.Deploy.Services.Templates; /// <summary> /// Service for loading and processing embedded template resources. /// </summary> public static class TemplateService { private static readonly Assembly _assembly = Assembly.GetExecutingAssembly(); private const string TemplateNamespace = "AzureMcp.Deploy.Templates"; /// <summary> /// Loads an embedded template resource by name. /// </summary> /// <param name="templateName">The name of the template file (without extension).</param> /// <returns>The template content as a string.</returns> /// <exception cref="FileNotFoundException">Thrown when the template is not found.</exception> public static string LoadTemplate(string templateName) { string fileNamespace = TemplateNamespace; if (templateName.Contains("/")) { fileNamespace += "." + templateName.Split("/")[0]; templateName = templateName.Split("/")[1]; } var resourceName = $"{fileNamespace}.{templateName}.md"; using var stream = _assembly.GetManifestResourceStream(resourceName); if (stream == null) { throw new FileNotFoundException($"Template '{templateName}' not found in embedded resources."); } using var reader = new StreamReader(stream); return reader.ReadToEnd(); } /// <summary> /// Loads a template and replaces placeholders with provided values. /// </summary> /// <param name="templateName">The name of the template file (without extension).</param> /// <param name="replacements">Dictionary of placeholder names and their replacement values.</param> /// <returns>The processed template with placeholders replaced.</returns> public static string ProcessTemplate(string templateName, Dictionary<string, string> replacements) { var template = LoadTemplate(templateName); return ProcessTemplateContent(template, replacements); } /// <summary> /// Processes template content by replacing placeholders with provided values. /// </summary> /// <param name="templateContent">The template content to process.</param> /// <param name="replacements">Dictionary of placeholder names and their replacement values.</param> /// <returns>The processed template with placeholders replaced.</returns> public static string ProcessTemplateContent(string templateContent, Dictionary<string, string> replacements) { var result = new StringBuilder(templateContent); foreach (var (placeholder, value) in replacements) { var token = $"{{{{{placeholder}}}}}"; // {{placeholder}} result.Replace(token, value); } return result.ToString(); } }

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