Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MEME_HOMENoMEME home directory.
MEME_MODENoRun mode for MEME: demo or live.demo
GITHUB_TOKENNoGitHub token used for live GitHub trend discovery.
OPENAI_MODELNoOpenAI-compatible model name.
MEME_LOG_LEVELNoLog level for MEME.
OPENAI_API_KEYNoAPI key for an OpenAI-compatible LLM provider. Without it, live mode falls back to the deterministic mock provider.
REDDIT_ENABLEDNoEnable Reddit integration. Requires a completed legal and policy review with a signed compliance-overrides.json.
MEME_LLM_PROVIDERNoLLM provider selection.
MEME_IMAGE_PROVIDERNoImage provider selection.

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": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_trendsC

Discovers developer-culture trends from enabled authorized sources (demo source by default; GitHub + Hacker News in live mode) and ranks them by an intelligent composite: velocity, acceleration, engagement quality, recency, developer relevance, cross-platform signals, source diversity and discussion authenticity. Each ranked trend carries a transparent explanation and a confidence score. Results carry honest freshness indicators (live / cached / stale).

get_trendB

Full context for one trend: signals, cultural references, developer relevance analysis, and the sanitized context block used for generation.

generate_memeA

Generates original meme concepts for a trend, personalized to the user's humor style, languages and exclusions. Runs moderation on every string and attaches a provisional quality report (heuristic aid — never a guarantee of humor or virality). Pass async=true to enqueue a durable background job instead of waiting.

render_memeA

Renders a generated concept into an original vector meme (SVG, plus PNG when sharp is available). Every text is moderated again before rendering. Returns the meme id, file paths, and an inline PNG preview.

list_memesB

Lists rendered memes (newest first), optionally filtered by user.

get_historyB

Your own rendered memes, newest first.

get_memeC

Full meme record: concept, texts, quality, sources, attribution.

edit_memeB

Edits the caption texts of a rendered meme and re-renders it. Texts are validated against format slots and re-moderated. The previous version is kept in the revision history.

delete_memeB

Deletes a meme you own (admins may delete any).

evaluate_memeB

Runs the Meme Quality Evaluation System on a meme: technical accuracy, contextual relevance, originality, humor (heuristic proxy), caption readability, visual composition, audience relevance — merged with any human ratings. Heuristic evaluation aid. NOT a claim that a meme is objectively funny or guaranteed to go viral.

rate_memeB

Submit a 1–5 star human rating. Ratings are subjective opinions; they complement, never define, the heuristic scores.

favorite_memeC

Adds (or updates the note on) a favorite.

list_favoritesA

Lists your favorite memes with notes, newest first (tenant-scoped).

submit_feedbackC

Thumbs up / down feedback with optional note. Feeds the quality dataset.

report_contentB

Report a meme for review. Reasons: offensive, inaccurate, copyright, spam, other. Reports are always filed; hostile details are redacted by moderation.

get_preferencesC

Your humor styles, languages, categories, formats, caption tone and exclusions.

set_preferencesC

Updates personalization. All fields optional; omitted fields keep their current values.

list_templatesB

Editable meme templates (built-ins + custom).

edit_templateB

Edit a template's name, palette (hex colors) or default texts. Built-in templates cannot be deleted but can be customized.

export_memeB

Exports a meme as SVG or PNG plus a sidecar JSON (concept, sources, attribution, license, disclaimer).

get_cost_reportC

Your token usage, estimated costs, cache efficiency and remaining budget.

get_cost_report-allB

Cost report across all users in this workspace, with budget posture.

get_healthA

Operational status: enabled sources with honest freshness (live / cached / stale — MEME never claims real-time coverage it cannot guarantee), feature flags, queue depth, moderation stats and configuration notices.

get_metricsC

Counters and histograms: tool latency, generation latency, API failures, moderation decisions, cost.

enforce_retentionC

Runs the retention enforcer: deletes expired history/feedback/reports/raw signals per policy.

review_moderation_queueC

Open content reports and moderation statistics.

get_complianceB

The versioned compliance registry: per-provider permitted operations, auth, rate limits, content-processing permissions, attribution, retention, deletion obligations, commercial-use limits — and the Reddit legal-review gate status.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

C2.8/5.0

Scored across 27 tools

Disambiguation3/5

Most tools target distinct resource+action pairs (get_trend vs get_trends, evaluate_meme vs rate_meme vs render_meme), but list_memes and get_history describe nearly the same thing ('your rendered memes, newest first'), and get_cost_report vs get_cost_report-all differ only by scope. An agent must guess which of the duplicate pairs to call.

Naming Consistency4/5

A clear verb_noun snake_case convention dominates (get_meme, render_meme, edit_template, report_content). Minor deviations: get_cost_report-all uses a hyphen instead of a scope parameter, and get_history reads like a synonym for list_memes rather than a distinct resource.

Tool Count2/5

27 tools exceeds a reasonable scope for a meme generation server, with the surface inflated by ops/admin concerns (get_metrics, enforce_retention, get_compliance, two cost reports, get_health). Several of these could be collapsed into fewer tools or a single status endpoint.

Completeness3/5

Meme lifecycle is well covered (generate, render, list, get, edit, delete, export, evaluate, rate, report, favorite), but favorites have no unfavorite/remove operation, templates support list+edit but no create or delete for custom templates, and history has no delete for individual entries.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues