groupme-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FASTMCP_LOG_LEVEL | No | Verbosity of FastMCP's own fastmcp.* loggers. | INFO |
| GROUPME_LOG_LEVEL | No | Verbosity of the server's own loggers: DEBUG, INFO, WARNING, ERROR, or CRITICAL. | INFO |
| OTEL_SDK_DISABLED | No | Set to true/1 to keep tracing off even when an endpoint is set. | |
| OTEL_SERVICE_NAME | No | The service.name resource attribute on exported spans. | groupme-mcp-server |
| GROUPME_ACCESS_TOKEN | Yes | GroupMe API token from https://dev.groupme.com. Optional at startup; required when a tool calls the API. | |
| GROUPME_API_BASE_URL | No | GroupMe REST API base URL (override mainly for testing). | https://api.groupme.com/v3 |
| GROUPME_IMAGE_API_BASE_URL | No | GroupMe image-upload service base URL. Reserved: unused until image upload is implemented. | https://image.groupme.com |
| OTEL_EXPORTER_OTLP_HEADERS | No | Extra headers for the OTLP exporter (e.g. authorization=Bearer%20...). | |
| OTEL_EXPORTER_OTLP_ENDPOINT | No | OTLP/HTTP collector endpoint. Setting it turns tracing on. |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_conversationsA | List the user's GroupMe conversations, most recently active first. Use this first, whenever you need to find a conversation or the ids the
other tools take: it merges groups and direct-message chats into one
recency-sorted list with last-message previews and member counts. Every
entry carries the |
| read_messagesA | Read messages from one GroupMe conversation, oldest first. Use this to read or page through the history of a specific group or
direct-message chat once you know its id (from |
| get_conversation_contextA | Get one group's metadata, member list, and recent messages in one call. Use this to orient yourself in a group before reading further or
replying: it bundles what would otherwise take several calls. For
direct-message chats or for paging deeper into history, use
|
| search_messagesA | Search one conversation's message history for matching messages. Use this to find specific messages ("who mentioned pizza?", "what did
Ada say last week?") instead of paging manually with |
| get_highlightsA | 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. |
| send_messageA | Send a message to a GroupMe group or direct-message chat. Use this to post as the authenticated user once you know where to send
(ids come from |
| react_to_messageA | Like a GroupMe message, or remove your like from one. Use this to react to a specific message on the authenticated user's
behalf — acknowledging something without posting a reply.
Both actions are idempotent: liking an already-liked message (or
unliking one you never liked) leaves it in the requested state. Ids come
from |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
Each tool maps to a distinct action: listing conversations, reading messages, sending, searching, reacting, and fetching context or highlights. The only potential overlap is get_conversation_context including recent messages, but its orientation-specific purpose is clearly separated from read_messages for paging.
All tool names follow a clear verb-first snake_case pattern: send_message, list_conversations, read_messages, search_messages, react_to_message. The style is uniform and predictable, making the set easy for an agent to navigate.
Seven tools is well-scoped for a GroupMe messaging server. Each tool serves a distinct user need without redundancy, and the count is within the ideal 3–15 range for a focused domain.
The core messaging workflow is well covered: list, read, search, send, reply, react, and get context. Minor gaps exist around starting new conversations or sending media attachments, but these do not create dead ends for the primary read-and-respond use case.