pyproject.toml is the version source of truth for this project. server.json mirrors that version for registry consumers, and CHANGELOG.md is the source for release notes.
The project is distributed under the Apache License 2.0.
This repository is configured for PyPI Trusted Publishing from GitHub Actions. After the one-time setup below, releases no longer need ~/.pypirc, twine upload, or a long-lived PyPI token in GitHub.
In PyPI, open the google-analytics-mcp project, go to Publishing, and add a GitHub Actions publisher with:
- Owner:
surendranb - Repository name:
google-analytics-mcp - Workflow filename:
.github/workflows/release.yml - Environment name:
pypi
In GitHub, create an environment named pypi.
The environment is optional for GitHub itself, but it is strongly recommended and should match the PyPI publisher configuration exactly. You can use it to add approval rules before publication.
- Update
versioninpyproject.toml. - Mirror the same version in
server.jsonfor both the server and package entries. - Add a matching changelog entry in
CHANGELOG.md. - Run
python scripts/check_package_consistency.py. - Push the release commit and tag to GitHub.
- Publish the matching GitHub release.
- Let
.github/workflows/release.ymlbuild and publish the artifacts to PyPI.
- Supported launch commands are
ga4-mcp-serverandpython -m ga4_mcp. - Package-facing docs and config should never reference the legacy single-file entrypoint or module path.
- Trusted Publishing uses GitHub OIDC, so the release workflow should not use a stored PyPI API token.