Skip to main content

groupme-mcp-server

CI codecov OpenSSF Scorecard PyPI Python License: MIT Ruff

An MCP server that exposes the GroupMe API v3 to MCP clients, built with FastMCP and hosted on Prefect Horizon.

Status: scaffolding. The project structure, tooling, and CI/CD are in place. No GroupMe tools are implemented yet.

Quick start

uvx groupme-mcp-server

Or point an MCP client at it directly:

{
  "mcpServers": {
    "groupme": {
      "command": "uvx",
      "args": ["groupme-mcp-server"],
      "env": {
        "GROUPME_MCP_LOG_LEVEL": "INFO"
      }
    }
  }
}

Configuration

All settings are read from the environment with the GROUPME_MCP_ prefix, or from a local .env file. See .env.example.

Variable Default Description
GROUPME_MCP_LOG_LEVEL INFO DEBUG, INFO, WARNING, ERROR, or CRITICAL.

Development

Requires uv and Python 3.13+.

git clone https://github.com/oddrationale/groupme-mcp-server.git
cd groupme-mcp-server
uv sync --all-groups
uv run lefthook install     # install the git hooks

Common tasks:

Command What it does
uv run ruff format . Format.
uv run ruff check --fix . Lint and autofix.
uv run ty check Type check.
uv run pytest Run tests. Fails below 100% coverage.
uv run pytest --no-cov -k name Run a subset without the coverage gate.
uv run fastmcp inspect src/groupme_mcp_server/server.py:mcp See what Horizon sees.

Coverage is enforced at 100% (branch coverage included). If a line is genuinely untestable, exclude it deliberately with # pragma: no cover and say why in the PR — do not lower the threshold.

Deployment

The server is live at https://groupme.fastmcp.app/mcp, deployed on Prefect Horizon, which builds directly from this repository via its GitHub App.

  • Entrypoint: src/groupme_mcp_server/server.py:mcp
  • Dependencies: installed with uv sync --frozen --no-dev, so uv.lock must be committed and current or the build fails
  • Environment variables: registered in the Horizon UI
  • Auth: Horizon's built-in OAuth — clients must present a bearer token

The production target tracks main and deploys only after CI passes; every pull request gets its own preview deployment. There is no deploy step in GitHub Actions — CI gates quality and security, Horizon does the shipping.

Contributing

See CONTRIBUTING.md. Security issues go through private vulnerability reporting, not public issues — see SECURITY.md.

License

MIT © Dariel Dato-on

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

groupme_mcp_server-0.1.0.tar.gz (6.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

groupme_mcp_server-0.1.0-py3-none-any.whl (6.7 kB view details)

Uploaded Python 3

File details

Details for the file groupme_mcp_server-0.1.0.tar.gz.

File metadata

  • Download URL: groupme_mcp_server-0.1.0.tar.gz
  • Upload date:
  • Size: 6.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for groupme_mcp_server-0.1.0.tar.gz
Algorithm Hash digest
SHA256 1e6bce8dfdccd1d2d59c667da4416a0f3dbc38677dbef32cf316d336840592d6
MD5 72cc6107aa531e0b0b13d93b69063318
BLAKE2b-256 6a38f64edb40b681e65798bbe3e66612e631b3432e6061c13b0f0f0eac1aa289

See more details on using hashes here.

Provenance

The following attestation bundles were made for groupme_mcp_server-0.1.0.tar.gz:

Publisher: release.yml on oddrationale/groupme-mcp-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file groupme_mcp_server-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for groupme_mcp_server-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9e7ba88db1381342a08c4bd37d75bfff32a74b6d05e70824d4b3189d9bd4d352
MD5 14e63923cedaeb54c206416b20e8b53a
BLAKE2b-256 5e5b40d3c13870587a2eafb73b4c2945c2a982ccf6fa772159bb3f98d3ba0aba

See more details on using hashes here.

Provenance

The following attestation bundles were made for groupme_mcp_server-0.1.0-py3-none-any.whl:

Publisher: release.yml on oddrationale/groupme-mcp-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.2.0

2 files

This release

0.1.0 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page