Skip to main content
Glama

relay_models_list

List available AI models with capabilities and pricing to check valid model IDs before testing. Filter by provider to identify cost-effective options for workflow orchestration.

Instructions

List available AI models with capabilities and pricing. Use to check valid model IDs before testing. Cost shows provider pricing (OpenAI/Anthropic) - RelayPlane is BYOK, we don't charge for API usage.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
providerNoFilter by provider (optional)

Implementation Reference

  • The core handler function for relay_models_list that constructs the list of available models by combining pricing data, metadata, and configuration status, filters by provider if specified, sorts the results, and returns them.
    export async function relayModelsList( input: RelayModelsListInput ): Promise<RelayModelsListResponse> { const models: ModelInfo[] = []; for (const [modelId, pricing] of Object.entries(PRICING)) { const [provider] = modelId.split(':'); const metadata = MODEL_METADATA[modelId]; // Filter by provider if specified if (input.provider && input.provider !== 'all' && provider !== input.provider) { continue; } if (metadata) { models.push({ id: modelId, provider, name: metadata.name, capabilities: metadata.capabilities, contextWindow: metadata.contextWindow, inputCostPer1kTokens: pricing.input, outputCostPer1kTokens: pricing.output, configured: isProviderConfigured(provider), }); } } // Sort by provider, then by name models.sort((a, b) => { if (a.provider !== b.provider) { return a.provider.localeCompare(b.provider); } return a.name.localeCompare(b.name); }); return { models }; }
  • Zod schema for input validation, used in the server to parse arguments before calling the handler.
    export const relayModelsListSchema = z.object({ provider: z .enum(['openai', 'anthropic', 'google', 'xai', 'all']) .optional() .describe('Filter by provider'), });
  • MCP tool definition with name, description, and input schema structure, used for tool listing.
    export const relayModelsListDefinition = { name: 'relay_models_list', description: 'List available AI models with capabilities and pricing. Use to check valid model IDs before testing. Cost shows provider pricing (OpenAI/Anthropic) - RelayPlane is BYOK, we don\'t charge for API usage.', inputSchema: { type: 'object' as const, properties: { provider: { type: 'string', enum: ['openai', 'anthropic', 'google', 'xai', 'all'], description: 'Filter by provider (optional)', }, }, }, };
  • src/server.ts:59-67 (registration)
    Registration of the tool definition in the TOOLS array, returned by listTools MCP request.
    const TOOLS = [ relayModelsListDefinition, relayRunDefinition, relayWorkflowRunDefinition, relayWorkflowValidateDefinition, relaySkillsListDefinition, relayRunsListDefinition, relayRunGetDefinition, ];
  • src/server.ts:109-112 (registration)
    Dispatch logic in the callTool MCP request handler that routes to the specific tool handler after schema validation.
    case 'relay_models_list': { const parsed = relayModelsListSchema.parse(args || {}); result = await relayModelsList(parsed); break;

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

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