Skip to main content
Glama

Twenty CRM MCP Server

by denisalmeida
index.js2.5 kB
import { peopleTools, executePeopleTool } from './people.js'; import { companyTools, executeCompanyTool } from './companies.js'; import { opportunityTools, executeOpportunityTool } from './opportunities.js'; import { noteTools, executeNoteTool } from './notes.js'; import { taskTools, executeTaskTool } from './tasks.js'; import { conversaTools, executeConversaTool } from './conversas.js'; import { faturaTools, executeFaturaTool } from './faturas.js'; // Tool registry - single source of truth export const toolRegistry = [ ...peopleTools, ...companyTools, ...opportunityTools, ...noteTools, ...taskTools, ...conversaTools, ...faturaTools ]; // Map of tool executors const toolExecutors = { // People list_people: executePeopleTool, create_person: executePeopleTool, get_person: executePeopleTool, update_person: executePeopleTool, delete_person: executePeopleTool, // Companies list_companies: executeCompanyTool, create_company: executeCompanyTool, get_company: executeCompanyTool, update_company: executeCompanyTool, delete_company: executeCompanyTool, // Opportunities list_opportunities: executeOpportunityTool, create_opportunity: executeOpportunityTool, get_opportunity: executeOpportunityTool, update_opportunity: executeOpportunityTool, delete_opportunity: executeOpportunityTool, // Notes list_notes: executeNoteTool, create_note: executeNoteTool, get_note: executeNoteTool, update_note: executeNoteTool, delete_note: executeNoteTool, // Tasks list_tasks: executeTaskTool, create_task: executeTaskTool, get_task: executeTaskTool, update_task: executeTaskTool, delete_task: executeTaskTool, // Conversas list_conversas: executeConversaTool, create_conversa: executeConversaTool, get_conversa: executeConversaTool, update_conversa: executeConversaTool, delete_conversa: executeConversaTool, // Faturas list_faturas: executeFaturaTool, create_fatura: executeFaturaTool, get_fatura: executeFaturaTool, update_fatura: executeFaturaTool, delete_fatura: executeFaturaTool }; export function getAllTools() { return toolRegistry; } export function getToolByName(toolName) { return toolRegistry.find(tool => tool.name === toolName); } export async function executeTool(toolName, params, apiClient) { const executor = toolExecutors[toolName]; if (!executor) { throw new Error(`Tool '${toolName}' not found`); } return await executor(toolName, params, apiClient); }

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/denisalmeida/twenty-crm-mcp'

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