Skip to main content
Glama

RetellAI MCP Server

by abhaybabbar
retell-llm.ts2.57 kB
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import Retell from "retell-sdk"; import { CreateRetellLLMInputSchema, GetRetellLLMInputSchema, UpdateRetellLLMInputSchema, } from "../schemas/index.js"; import { transformRetellLLMInput, transformUpdateRetellLLMInput, transformRetellLLMOutput, } from "../transformers/index.js"; import { createToolHandler } from "./utils.js"; export const registerRetellLLMTools = ( server: McpServer, retellClient: Retell ) => { server.tool( "list_retell_llms", "Lists all Retell LLMs", {}, createToolHandler(async () => { const llms = await retellClient.llm.list(); return llms.map(transformRetellLLMOutput); }) ); server.tool( "create_retell_llm", "Creates a new Retell LLM", CreateRetellLLMInputSchema.shape, createToolHandler(async (data) => { const createLLMDto = transformRetellLLMInput(data); const llm = await retellClient.llm.create(createLLMDto); return transformRetellLLMOutput(llm); }) ); server.tool( "get_retell_llm", "Gets a Retell LLM by ID", GetRetellLLMInputSchema.shape, createToolHandler(async (data) => { try { const llm = await retellClient.llm.retrieve(data.llmId); if (!llm) { throw new Error(`Retell LLM with ID ${data.llmId} not found`); } return transformRetellLLMOutput(llm); } catch (error: any) { console.error(`Error getting Retell LLM: ${error.message}`); throw error; } }) ); server.tool( "update_retell_llm", "Updates an existing Retell LLM", UpdateRetellLLMInputSchema.shape, createToolHandler(async (data) => { try { const llmId = data.llmId; const updateLLMDto = transformUpdateRetellLLMInput(data); const updatedLLM = await retellClient.llm.update(llmId, updateLLMDto); return transformRetellLLMOutput(updatedLLM); } catch (error: any) { console.error(`Error updating Retell LLM: ${error.message}`); throw error; } }) ); server.tool( "delete_retell_llm", "Deletes a Retell LLM", GetRetellLLMInputSchema.shape, createToolHandler(async (data) => { try { await retellClient.llm.delete(data.llmId); return { success: true, message: `Retell LLM ${data.llmId} deleted successfully`, }; } catch (error: any) { console.error(`Error deleting Retell LLM: ${error.message}`); throw error; } }) ); };

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/abhaybabbar/retellai-mcp-server'

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