Skip to main content
Glama

Universal MCP Server Framework

by appdevlpr
toolRegistry.js1.69 kB
const config = require('config'); const whatsappConnector = require('../services/whatsappConnector'); const telegramConnector = require('../services/telegramConnector'); const toolImplementations = new Map(); let toolManifest = []; const connectors = { 'whatsapp': whatsappConnector, 'telegram': telegramConnector }; async function loadTools() { console.log('Loading tools from enabled services...'); for (const serviceName in connectors) { if (config.has(`services.${serviceName}`) && config.get(`services.${serviceName}.enabled`)) { const connector = connectors[serviceName]; const isInitialized = await connector.initialize(); if (isInitialized) { connector.tools.forEach(tool => { toolManifest.push(tool); toolImplementations.set(tool.name, connector.implementations[tool.name]); }); console.log(` -> Loaded ${connector.tools.length} tools from ${serviceName}`); } } } } function listTools() { return toolManifest; } async function executeTool(toolName, params) { if (!toolImplementations.has(toolName)) { return { error: { code: -32601, message: `Method '${toolName}' not found.` } }; } try { const implementation = toolImplementations.get(toolName); const data = await implementation(params); return { data }; } catch (e) { console.error(`Error executing tool ${toolName}:`, e); return { error: { code: -32600, message: `Execution error: ${e.message}` } }; } } module.exports = { loadTools, listTools, executeTool };

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

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