Skip to main content
Glama
index.ts1.56 kB
import type { Server } from "@modelcontextprotocol/sdk/server/index.js"; import { GetPromptRequestSchema, ListPromptsRequestSchema, type Prompt } from "@modelcontextprotocol/sdk/types.js"; import { prompt as bestPracticesPrompt } from "./best_practices.js"; import { logger } from "../services/logger.js"; // Register all available prompts const prompts = [bestPracticesPrompt]; // Export prompts for server capabilities export const promptCapabilities = { prompts: Object.fromEntries( prompts.map(p => [p.name, { name: p.name, description: p.description }]) ) }; export function setupPromptHandlers(server: Server) { // Register prompt list handler server.setRequestHandler(ListPromptsRequestSchema, async () => { try { return { prompts: Object.values(promptCapabilities.prompts) }; } catch (error) { // Log the error but don't fail - return default prompts if (error instanceof Error) { logger.error("Critical error listing prompts:", error.message); } else { logger.error("Critical error listing prompts:", error); } // Return empty list on error return { prompts: [] }; } }); // Register prompt get handler server.setRequestHandler(GetPromptRequestSchema, async (request) => { const { name } = request.params; // Find matching prompt const prompt = prompts.find(p => p.name === name); if (!prompt) { throw new Error(`Unknown prompt: ${name}`); } // Handle the prompt request return prompt.handler(); }); }

Latest Blog Posts

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/turbot/steampipe-mcp'

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