Skip to main content
Glama

Omi Memories MCP Server

server.ts2.38 kB
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; import { z } from "zod"; import axios from "axios"; // Create an MCP server const server = new McpServer({ name: "OmiMemoriesServer", version: "1.0.0" }); // Configuration const EXPRESS_API_URL = "https://omira.riteshh.workers.dev"; const SPECIFIC_USER_ID = "Your User ID"; interface Conversation { id: string; created_at: string; started_at: string; finished_at: string; source: string; structured: { emoji: string; events: any[]; overview: string; title: string; action_items: any[]; category: string; }; transcript_segments: { is_user: boolean; start: number; end: number; text: string; speaker_id: number; speaker: string; person_id: null; }[]; } // Add a tool to fetch memories server.tool( "fetch-memories", {}, // No parameters needed since we're using a specific user ID async () => { try { const response = await axios.get(`${EXPRESS_API_URL}/memories`, { params: { uid: SPECIFIC_USER_ID } }); const conversations: Conversation[] = response.data.conversations; // Format conversations for better readability const formattedText = conversations.map(conv => { return ` Memory: ${conv.id} Time: ${new Date(conv.created_at).toLocaleString()} Title: ${conv.structured.title} Overview: ${conv.structured.overview} Category: ${conv.structured.category} Emoji: ${conv.structured.emoji} Transcript: ${conv.transcript_segments.map(segment => ` ${segment.speaker}: ${segment.text}`).join('\n')} ------------------- `.trim(); }).join('\n\n'); return { content: [{ type: "text", text: formattedText }] }; } catch (error) { if (axios.isAxiosError(error)) { return { content: [{ type: "text", text: `Error: Failed to fetch memories: ${error.message}` }], isError: true }; } throw error; } } ); // Start the server async function startServer() { const transport = new StdioServerTransport(); await server.connect(transport); } startServer().catch(error => { console.error('Failed to start server:', 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/Ritesh2351235/Omi-MCP'

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