Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
AUTO_SYNCNoEnable background sync loop on server startfalse
GMAIL_EMAILNoGmail address
MATRIX_ROOM_IDNoDefault room ID, e.g. !abc123:matrix.org
OPENAI_API_KEYNoRequired only if EMBEDDING_PROVIDER=openai
SIGNAL_DB_PATHNoOverride path to Signal's db.sqlite
SLACK_BOT_TOKENNoBot token (xoxb-...), requires channels:history + users:read
IMESSAGE_DB_PATHNoOverride path to chat.db~/Library/Messages/chat.db
MASTODON_HASHTAGNoDefault hashtag (without #)
MEMOREEI_DB_PATHNoSQLite database path./memoreei.db
SLACK_CHANNEL_IDNoDefault channel ID, e.g. C1234567890
TELEGRAM_CHAT_IDNoDefault chat ID (positive = DM, negative = group)
DISCORD_BOT_TOKENNoBot token from Discord Developer Portal
MASTODON_INSTANCENoInstance URLhttps://mastodon.social
MATRIX_HOMESERVERNoHomeserver URL, e.g. https://matrix.org
AUTO_SYNC_INTERVALNoBackground sync interval in seconds3600
DISCORD_CHANNEL_IDNoDefault channel ID for sync_discord
EMBEDDING_PROVIDERNofastembed (local ONNX, no API key) or openaifastembed
GMAIL_APP_PASSWORDNoApp Password (required if 2FA enabled)
SIGNAL_CONFIG_PATHNoOverride path to Signal's config.json
TELEGRAM_BOT_TOKENNoBot token from @BotFather
MATRIX_ACCESS_TOKENNoUser access token
MASTODON_ACCESS_TOKENNoOAuth token (optional, for home timeline)

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
search_memoreeiA

Search the owner's messages by meaning and by keyword, best match first.

Every filter narrows the search before it ranks anything, so a filtered search finds the best matches within those messages. If results is empty or note is set, note says why and what to try.

get_contextA

The messages around one message, in its chat, oldest first; it has hit: true.

Use it when a search result is relevant but needs what was said around it: the question it answers, the reply, what "it" refers to.

add_memoreeiB

Add a manual memory/note to your personal memory store.

Args: content: The text content to remember source: Source label for this memory (default: 'manual') metadata: Optional key-value metadata to attach

list_sourcesA

Who is in the archive: the most-messaged people with their chats, the busiest group chats, and the platforms.

Not needed before searching: search_memoreei finds people by name or number itself.

syncA

Refresh memory from the sources configured on the server.

Runs every connector set up in the server's config, and re-reads any import files that were registered on the server and have changed since. Takes no arguments: it can only refresh what the server's owner has already set up.

refresh_memoreeiB

Trigger an immediate sync of all configured sources and return new message count.

sync_allA

Sync every configured connector and return counts per source.

Iterates over all connectors that have sufficient configuration (Discord, Telegram, Matrix, Slack, email, Mastodon) and syncs each one.

sync_discordB

Sync recent Discord messages from the configured channel.

Args: channel_id: Discord channel ID to sync (uses DISCORD_CHANNEL_ID env var if not provided)

sync_telegramA

Sync new Telegram messages received by the bot into memory.

Uses the Telegram Bot API (getUpdates) to fetch messages sent to the bot since the last sync. Requires TELEGRAM_BOT_TOKEN in environment.

Args: chat_id: Telegram chat ID to filter (positive = user DM, negative = group). Syncs all chats if not provided. Uses TELEGRAM_CHAT_ID env var as default.

sync_matrixA

Sync Matrix room messages into memory using the Matrix Client-Server API.

Fetches messages from a Matrix room and stores them for search. Uses a per-room pagination token checkpoint to avoid re-ingesting messages.

Requires environment variables: MATRIX_HOMESERVER - e.g. https://matrix.org MATRIX_ACCESS_TOKEN - user access token MATRIX_ROOM_ID - default room to sync (optional if room_id provided)

Args: room_id: Matrix room ID to sync (e.g. !abc123:matrix.org). Uses MATRIX_ROOM_ID env var if not provided.

sync_slackA

Sync recent Slack messages from the configured channel into memory.

Uses the Slack Web API (conversations.history) to fetch messages since the last sync. Requires a bot token with channels:history and users:read scopes.

Requires environment variables: SLACK_BOT_TOKEN - Slack bot token (xoxb-...) SLACK_CHANNEL_ID - default channel to sync (optional if channel_id provided)

Args: channel_id: Slack channel ID to sync (e.g. C1234567890). Uses SLACK_CHANNEL_ID env var if not provided.

sync_emailA

Sync Gmail messages into memory via IMAP.

Fetches emails from a Gmail folder and stores them for search. Uses a per-folder UID checkpoint to avoid re-ingesting messages on subsequent syncs.

Requires environment variables: GMAIL_EMAIL - Gmail address (e.g. you@gmail.com) GMAIL_APP_PASSWORD - Gmail App Password (required if 2FA is enabled). Create one at https://myaccount.google.com/apppasswords GMAIL_PASSWORD may be used instead for non-2FA accounts, but Google has deprecated plain-password IMAP access.

Args: folder: IMAP folder to sync (default: 'INBOX'). Other options: '[Gmail]/Sent Mail', '[Gmail]/All Mail', etc. max_emails: Maximum number of emails to ingest per sync (default: 200).

sync_mastodonA

Sync recent Mastodon posts from a public or hashtag timeline into memory.

Uses the Mastodon REST API. Public and hashtag timelines require no authentication. An access token is only needed for home timeline or private accounts.

Optional environment variables: MASTODON_INSTANCE - Mastodon instance URL (default: https://mastodon.social) MASTODON_HASHTAG - default hashtag to sync (without #) MASTODON_ACCESS_TOKEN - access token for authenticated requests (optional)

Args: instance: Mastodon instance base URL (e.g. https://fosstodon.org). Uses MASTODON_INSTANCE env var if not provided. hashtag: Hashtag to sync (without #, e.g. 'python'). Uses MASTODON_HASHTAG env var or public timeline if not provided. access_token: OAuth access token. Uses MASTODON_ACCESS_TOKEN env var if not provided.

sync_imessageA

Sync iMessage/SMS conversations from the local macOS Messages database.

Reads ~/Library/Messages/chat.db in read-only mode. macOS only — returns an error dict on other platforms without raising.

Requires Full Disk Access for the program running this server, granted in System Settings → Privacy & Security → Full Disk Access (memoreei service grant-access opens it with the right file shown).

The path to chat.db can be overridden with the IMESSAGE_DB_PATH env var.

Args: chat_name: Optional filter — only sync messages from this chat/contact. Matches against chat_identifier (e.g. '+1234567890') or display name.

sync_whatsappA

Sync WhatsApp chats from WhatsApp for Mac's database on this machine.

Reads ChatStorage.sqlite read-only: WhatsApp for Mac's, or the file WHATSAPP_DB_PATH names, such as the one in an iPhone backup. Texts, captions, shared links and document names are kept; stickers, voice notes and reactions have no words to keep.

sync_signalA

Sync Signal from Signal Desktop's database on this computer.

Needs Signal connected first (the dashboard's Sources page, or memoreei setup signal), which reads Signal's database key from the system keyring once. Texts, captions, links, group changes and calls are kept, reactions and edits follow the message they belong to, and disappearing messages are never stored.

import_sms_backupA

Import SMS/MMS messages from an Android SMS Backup & Restore XML file. Works with the 'SMS Backup & Restore' app (most popular on Google Play).

Args: file_path: Path to the XML backup file

import_discord_packageA

Import a Discord Data Package (GDPR export). Imports all messages from all channels and DMs.

Request your data at Discord Settings > Privacy & Safety > Request All of My Data. Once downloaded, extract the ZIP or pass it directly — both are supported.

Args: package_path: Path to extracted data package folder or ZIP file

import_messengerA

Import Facebook Messenger messages from a data download (GDPR export, JSON format). Download from: Facebook Settings > Your Information > Download Your Information. Args: data_path: Path to the extracted Messenger data folder (containing messages/inbox/)

import_json_fileA

Import messages from any JSON file. Provide field names for your data format.

Supports JSON arrays, JSON-lines format, and wrapped objects. Covers Google Chat takeout, Google Hangouts exports, LinkedIn data, and any custom JSON format.

Args: file_path: Path to the JSON or JSON-lines file content_field: Field name containing the message text (required) sender_field: Field name containing the sender name (optional) timestamp_field: Field name containing the timestamp (optional, auto-detects format) source_label: Label to tag imported messages with (default: 'json-import')

import_csv_fileA

Import messages from any CSV file. Provide column names for your data format.

Auto-detects delimiter (comma, tab, semicolon). Supports header rows. Covers LinkedIn exports, any spreadsheet or custom CSV format.

Args: file_path: Path to the CSV, TSV, or delimited file content_column: Column name containing the message text (required) sender_column: Column name containing the sender name (optional) timestamp_column: Column name containing the timestamp (optional, auto-detects format) source_label: Label to tag imported messages with (default: 'csv-import')

sync_contactsA

Sync contacts from macOS AddressBook into the contacts table.

Maps phone numbers and email addresses to display names so that search results and source listings show contact names instead of raw identifiers. macOS only — returns an empty result on other platforms.

import_contacts_vcfA

Import contacts from a vCard (.vcf) file.

Export from macOS Contacts: File → Export → Export vCard. Maps phone numbers and email addresses to display names.

Args: file_path: Path to the .vcf file

import_instagramA

Import Instagram DMs from a data download (GDPR export, JSON format). Download at: Instagram Settings > Accounts Center > Your Information > Download Your Information. Args: data_path: Path to the extracted Instagram data folder (containing your_instagram_activity/)

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.4/5.0

Scored across 24 tools

Disambiguation2/5

Three tools—sync, sync_all, and refresh_memoreei—all appear to do essentially the same thing (refresh/re-sync configured sources), making selection confusing. The per-source sync_* tools are clearer, but the trio of generic sync tools creates real overlap that descriptions do not resolve.

Naming Consistency3/5

Most tools follow a predictable verb_noun pattern (sync_discord, import_messenger, list_sources), but add_memoreei, refresh_memoreei, and search_memoreei inconsistently append the server name while the rest do not. Readable overall but the mixed convention is a notable deviation.

Tool Count3/5

24 tools is on the heavy side (16-25 is borderline), though a broad multi-platform memory ingester legitimately needs many per-source connectors. The count is defensible but feels inflated by redundant generic sync tools.

Completeness4/5

Ingestion across a wide range of platforms plus search, context retrieval, source listing, and contacts coverage make the surface strong. The main gap is the lack of any delete or update operation for stored memories, leaving a lifecycle dead end.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive