Skip to main content
Glama

Terraform Registry MCP Server

by thrashr888
moduleRecommendations.ts1.86 kB
import { ALGOLIA_CONFIG } from "../../config.js"; import { searchAlgolia, formatModuleResults } from "../utils/searchUtils.js"; import { ModuleRecommendationsInput, ResponseContent } from "../types/index.js"; import logger from "../utils/logger.js"; import { createStandardResponse } from "../utils/responseUtils.js"; export async function handleModuleRecommendations(request: ModuleRecommendationsInput): Promise<ResponseContent> { try { const query = request.query || request.keyword || ""; if (!query) { return createStandardResponse("error", "No search query provided"); } const config = { applicationId: ALGOLIA_CONFIG.APPLICATION_ID, apiKey: ALGOLIA_CONFIG.API_KEY, indexName: ALGOLIA_CONFIG.MODULES_INDEX }; const results = await searchAlgolia(config, query, request.provider); if (!results.hits || results.hits.length === 0) { return createStandardResponse("error", `No modules found for query "${query}"`); } const formattedResults = formatModuleResults(results.hits); // Create markdown content let content = `## Module Recommendations for "${query}"\n\n`; formattedResults.forEach((mod, i) => { content += `### ${i + 1}. ${mod.full_name}\n\n`; content += `**Description**: ${mod.description}\n`; content += `**Downloads**: ${mod.downloads?.toLocaleString() || 0}\n`; content += `**Latest Version**: ${mod.version}\n\n`; content += `\`\`\`hcl\nmodule "${mod.name}" {\n source = "${mod.full_name}"\n version = "${mod.version}"\n}\n\`\`\`\n\n`; }); return createStandardResponse("success", content, { results: formattedResults }); } catch (error) { logger.error("Error in module recommendations:", error); return createStandardResponse("error", error instanceof Error ? error.message : "Unknown error occurred"); } }

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/thrashr888/terraform-mcp-server'

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