Skip to main content
Glama
index.js1.39 kB
/** * src/ai-providers/custom-sdk/mcp/index.js * * AI SDK factory function for MCP provider. * Creates MCP language model instances with session-based AI operations. */ import { MCPLanguageModel } from './language-model.js'; /** * Create MCP provider factory function following AI SDK patterns * @param {object} options - Provider options * @param {object} options.session - MCP session object * @param {object} options.defaultSettings - Default settings for the provider * @returns {Function} Provider factory function */ export function createMCP(options = {}) { if (!options.session) { throw new Error('MCP provider requires session object'); } // Return the provider factory function that AI SDK expects const provider = function (modelId, settings = {}) { if (new.target) { throw new Error( 'The MCP model function cannot be called with the new keyword.' ); } return new MCPLanguageModel({ session: options.session, modelId: modelId || 'claude-3-5-sonnet-20241022', settings: { temperature: settings.temperature, maxTokens: settings.maxTokens, ...options.defaultSettings, ...settings } }); }; // Add required methods for AI SDK compatibility provider.languageModel = (modelId, settings) => provider(modelId, settings); provider.chat = (modelId, settings) => provider(modelId, settings); return provider; }

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/eyaltoledano/claude-task-master'

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