Skip to main content
Glama

Letta MCP Server

by oculairmedia
index.js1.96 kB
#!/usr/bin/env node import dotenv from 'dotenv'; import { LettaServer } from './core/server.js'; import { registerToolHandlers } from './tools/index.js'; import { registerPromptHandlers } from './handlers/prompts.js'; import { registerResourceHandlers } from './handlers/resources.js'; import { initializeExamples } from './examples/index.js'; import { runStdio, runSSE, runHTTP } from './transports/index.js'; import { createLogger } from './core/logger.js'; // Load environment variables dotenv.config(); // Create logger for main module const logger = createLogger('Main'); /** * Initialize and run the Letta MCP server */ async function main() { try { // Create server instance const server = new LettaServer(); // Register all handlers before connecting to transport registerToolHandlers(server); registerPromptHandlers(server); registerResourceHandlers(server); // Initialize example prompts and resources initializeExamples(server); // Mark handlers as registered server.handlersRegistered = true; // Determine transport mode from command line arguments const useSSE = process.argv.includes('--sse'); const useHTTP = process.argv.includes('--http'); // Run server with appropriate transport if (useHTTP) { logger.info('Starting Letta server with HTTP transport'); await runHTTP(server); } else if (useSSE) { logger.info('Starting Letta server with SSE transport'); await runSSE(server); } else { logger.info('Starting Letta server with stdio transport'); await runStdio(server); } } catch (error) { logger.error('Failed to start Letta server:', error); process.exit(1); } } // Run the server main().catch((error) => { logger.error('Uncaught error in main:', error); process.exit(1); });

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/oculairmedia/Letta-MCP-server'

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