MCP server wrapping the GroupMe API v3
Project description
groupme-mcp
A Model Context Protocol (MCP) server that wraps the GroupMe API v3, letting AI assistants read and send GroupMe messages, manage groups, interact with bots, and more.
Tools
| Category | Tools |
|---|---|
| Groups | list_groups, list_former_groups, get_group, create_group, update_group, destroy_group, join_group, rejoin_group |
| Members | add_members, get_member_results, remove_member, update_membership |
| Messages | list_messages, send_message |
| Direct Messages | list_direct_messages, send_direct_message |
| Chats | list_chats |
| Likes | like_message, unlike_message |
| Bots | create_bot, post_as_bot, list_bots, destroy_bot |
| Users | get_me, update_user |
| Blocks | list_blocks, check_block, create_block, delete_block |
Skill
Install the companion skill to give Claude built-in knowledge of GroupMe workflows — group name resolution, message pagination, the async add_members flow, and more — without needing to prompt it each time.
The skill folder lives at skill/groupme-mcp/.
Install in Claude.ai: Settings → Capabilities → Skills → Upload skill → select the skill/groupme-mcp/ folder (zipped).
Install in Claude Code: place the skill/groupme-mcp/ folder in your Claude Code skills directory.
Requirements
- Python 3.12+
- A GroupMe access token — get one at dev.groupme.com or use the OAuth helper
Usage
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"groupme": {
"command": "uvx",
"args": ["groupme-mcp"],
"env": {
"GROUPME_TOKEN": "<your-token>"
}
}
}
}
Local development
git clone https://github.com/KalebJS/groupme-mcp
cd groupme-mcp
export GROUPME_TOKEN=<your-token>
uv run mcp dev main.py # opens MCP Inspector in browser
Getting a Token
oauth/get_token.py runs a local OAuth flow using only the Python stdlib — no extra dependencies.
- Create an application at dev.groupme.com/applications.
- Set the callback URL to
http://localhost:8080/callback. - Run the helper:
python oauth/get_token.py --client-id YOUR_CLIENT_ID
The script opens your browser, waits for the GroupMe redirect, and prints the token along with the export command to set it.
Development
# Install dev dependencies
uv sync --group dev
# Install pre-commit hooks
uv run --group dev pre-commit install
# Run tests
uv run --group dev pytest tests/ -v
# Lint
uv run --group dev pre-commit run --all-files
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file groupme_mcp-1.0.0.tar.gz.
File metadata
- Download URL: groupme_mcp-1.0.0.tar.gz
- Upload date:
- Size: 58.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
93ca5e3dc0ce9482f1f0ffd6d934d40692e90452e040d65767854cf4dde34710
|
|
| MD5 |
5241a6282a65cfd0a4265514ecc9af3e
|
|
| BLAKE2b-256 |
31ad4f863863adde80316147cf9378e967e3b38feff28e2dccd6c29b4ef1d656
|
Provenance
The following attestation bundles were made for groupme_mcp-1.0.0.tar.gz:
Publisher:
publish.yml on KalebJS/groupme-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
groupme_mcp-1.0.0.tar.gz -
Subject digest:
93ca5e3dc0ce9482f1f0ffd6d934d40692e90452e040d65767854cf4dde34710 - Sigstore transparency entry: 1245070823
- Sigstore integration time:
-
Permalink:
KalebJS/groupme-mcp@32a766c5ffc830625ff5adc28d0bb8fe567208d9 -
Branch / Tag:
refs/tags/1.0.0 - Owner: https://github.com/KalebJS
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@32a766c5ffc830625ff5adc28d0bb8fe567208d9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file groupme_mcp-1.0.0-py3-none-any.whl.
File metadata
- Download URL: groupme_mcp-1.0.0-py3-none-any.whl
- Upload date:
- Size: 7.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be7b9c0eb75236bf9659089b19ae951fdccb6b8811a7fe3ea36554f181d5ee61
|
|
| MD5 |
81d0e22ed90b480a9356a89e4207baf2
|
|
| BLAKE2b-256 |
356fc51aa143008f7f78dacb29534dda14f5c5422afb9778193201024f7d0553
|
Provenance
The following attestation bundles were made for groupme_mcp-1.0.0-py3-none-any.whl:
Publisher:
publish.yml on KalebJS/groupme-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
groupme_mcp-1.0.0-py3-none-any.whl -
Subject digest:
be7b9c0eb75236bf9659089b19ae951fdccb6b8811a7fe3ea36554f181d5ee61 - Sigstore transparency entry: 1245070850
- Sigstore integration time:
-
Permalink:
KalebJS/groupme-mcp@32a766c5ffc830625ff5adc28d0bb8fe567208d9 -
Branch / Tag:
refs/tags/1.0.0 - Owner: https://github.com/KalebJS
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@32a766c5ffc830625ff5adc28d0bb8fe567208d9 -
Trigger Event:
push
-
Statement type: