Skip to main content
Glama

Letta MCP Server

by oculairmedia
mock-server.js2.71 kB
import { vi } from 'vitest'; /** * Creates a mock LettaServer instance for testing */ export function createMockLettaServer(overrides = {}) { const mockApi = { get: vi.fn(), post: vi.fn(), put: vi.fn(), patch: vi.fn(), delete: vi.fn(), request: vi.fn(), }; const mockServer = { api: mockApi, server: createMockMCPServer(), logger: createMockLogger(), getApiHeaders: vi.fn().mockReturnValue({ Authorization: 'Bearer test-token', 'Content-Type': 'application/json', }), createErrorResponse: vi.fn((errorOrMessage, context) => { let message = typeof errorOrMessage === 'string' ? errorOrMessage : errorOrMessage.message || 'Unknown error'; if (context) { message = `${context}: ${message}`; } throw new Error(message); }), ...overrides, }; return mockServer; } /** * Creates a mock MCP Server instance */ export function createMockMCPServer() { const mockMCPServer = { setRequestHandler: vi.fn(), onerror: vi.fn(), connect: vi.fn(), close: vi.fn(), handleRequest: vi.fn(), _handlers: new Map(), }; // Mock the setRequestHandler to store handlers mockMCPServer.setRequestHandler.mockImplementation((type, handler) => { mockMCPServer._handlers.set(type, handler); }); // Helper to trigger a handler mockMCPServer.triggerHandler = async (type, args) => { const handler = mockMCPServer._handlers.get(type); if (!handler) { throw new Error(`No handler registered for ${type}`); } return await handler(args); }; // Mock handleRequest for transport tests mockMCPServer.handleRequest.mockImplementation(async (request) => { if (request.method === 'initialize') { return { protocolVersion: '2025-06-18', capabilities: {}, serverInfo: { name: 'letta-mcp-server', version: '1.0.0', }, }; } return { result: {} }; }); return mockMCPServer; } /** * Creates a mock logger */ export function createMockLogger() { return { info: vi.fn(), warn: vi.fn(), error: vi.fn(), debug: vi.fn(), child: vi.fn().mockReturnThis(), }; } /** * Creates a mock transport */ export function createMockTransport() { return { start: vi.fn(), close: vi.fn(), send: vi.fn(), }; }

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