Skip to main content
Glama
oddrationale

groupme-mcp-server

by oddrationale

Get Highlights

get_highlights
Read-onlyIdempotent

Retrieve top-liked recent messages and per-member like summaries for a GroupMe group by day, week, or month, so you can catch up on busy chats without reading everything.

Instructions

Summarize what mattered in a group: its most-liked recent messages.

Use this to catch up on a busy group without reading everything: it wraps GroupMe's likes leaderboard into the period's top-liked messages (sender, like count, text preview) plus a per-member summary of who was most liked and most represented among them. The member summary covers only the leaderboard's messages, not the group's full history. The leaderboard endpoint is undocumented; if GroupMe has retired it, this tool fails with guidance rather than guessing.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
periodNoThe leaderboard window: ``"day"``, ``"week"`` (default), or ``"month"``.week
group_idYesThe group's id (from ``list_conversations``).
response_formatNo``"concise"`` (default) for names, previews, and relative ages; ``"detailed"`` adds user ids and ISO timestamps.concise

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
noteNo
periodYes
group_idYes
top_membersYes
top_messagesYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (readOnly, idempotent, openWorld), the description discloses a real data-scope limitation — the member summary covers only leaderboard messages, not full history — and an error behavior: the undocumented endpoint fails with guidance rather than guessing. These are exactly the traits annotations cannot express.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three compact movements — what it does, when to use it, and the caveats — front-loaded with the core purpose and no filler sentences. Every clause adds information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return formatting need not be explained, yet the description still previews contents (sender, like count, text preview) and covers the scope limitation and failure mode. Nothing needed to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with enums documented for period and response_format, so the schema carries parameter semantics. The description adds little beyond 'the period's top-liked messages,' which merely restates the period parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('summarize') and resource ('what mattered in a group: its most-liked recent messages'), and distinguishes itself from read_messages by framing the tool as catching up 'without reading everything.' An agent can tell what this returns without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Use this to catch up on a busy group without reading everything' gives clear context for when to reach for it, and implicitly contrasts with read_messages/search_messages. It stops short of naming an explicit alternative or stating when NOT to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.