UNPKG

twenty-mcp-server

Version:

Easy-to-install Model Context Protocol server for Twenty CRM. Try instantly with 'npx twenty-mcp-server setup' or install globally for permanent use.

48 lines 1.8 kB
#!/usr/bin/env node import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'; import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'; import { TwentyClient } from './client/twenty-client.js'; import { registerPersonTools, registerCompanyTools, registerTaskTools, registerOpportunityTools, registerActivityTools, registerMetadataTools, registerRelationshipTools } from './tools/index.js'; async function main() { const apiKey = process.env.TWENTY_API_KEY; const baseUrl = process.env.TWENTY_BASE_URL; if (!apiKey) { console.error('TWENTY_API_KEY environment variable is required'); process.exit(1); } const authEnabled = process.env.AUTH_ENABLED === 'true'; const server = new McpServer({ name: 'twenty-mcp-server', version: '1.0.0', }, { capabilities: { tools: {}, experimental: { authentication: { type: 'oauth2', required: false, // Stdio mode doesn't require auth enabled: authEnabled } } } }); const client = new TwentyClient({ apiKey, baseUrl, }); registerPersonTools(server, client); registerCompanyTools(server, client); registerTaskTools(server, client); registerOpportunityTools(server, client); registerActivityTools(server, client); registerMetadataTools(server, client); registerRelationshipTools(server, client); const transport = new StdioServerTransport(); await server.connect(transport); console.error('Twenty MCP Server running on stdio'); } main().catch((error) => { console.error('Server error:', error); process.exit(1); }); //# sourceMappingURL=index.js.map