diff --git a/.gitea/workflows/cicd.yml b/.gitea/workflows/cicd.yml index cd1b291..f43d778 100644 --- a/.gitea/workflows/cicd.yml +++ b/.gitea/workflows/cicd.yml @@ -34,6 +34,28 @@ jobs: - name: Run Ruff (Lint & Syntax Check) run: uv run ruff check src + publish-pypi: + name: Publish to PyPI + needs: lint + if: startsWith(github.ref, 'refs/tags/v') + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Install uv + uses: astral-sh/setup-uv@v2 + with: + version: "latest" + + - name: Build package + run: uv build + + - name: Publish to PyPI + run: uv publish --token ${{ secrets.PYPI_TOKEN }} + env: + UV_PUBLISH_TOKEN: ${{ secrets.PYPI_TOKEN }} + build-and-push: name: Build & Push Docker Image needs: lint diff --git a/pyproject.toml b/pyproject.toml index 3227236..5f0a4a2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,7 +6,7 @@ build-backend = "hatchling.build" [project] -name = "strava-mcp-server" +name = "strava-mcp-server-hnrx" dynamic = ["version"] description = "A Model Context Protocol (MCP) server that exposes the Strava API v3 as tools, resources, and prompts for AI agents." readme = "README.md" @@ -54,6 +54,9 @@ dev = [ [tool.hatch.version] source = "vcs" +[tool.hatch.build.targets.wheel] +packages = ["src/strava_mcp_server"] + [tool.pytest.ini_options] asyncio_mode = "auto" testpaths = ["tests"] diff --git a/website/index.html b/website/index.html index 5e85cfd..416db2d 100644 --- a/website/index.html +++ b/website/index.html @@ -1,11 +1,13 @@ +
A production-ready Model Context Protocol (MCP) server that exposes the Strava API for AI agents and LLMs.
+A production-ready Model Context Protocol (MCP) server that exposes the Strava + API for AI agents and LLMs.
Comprehensive access to your training data through standardized MCP tools.
+Comprehensive access to your training data through standardized MCP + tools.
Detailed profiles, heart rate zones, and power stats for personalized analysis.
+Detailed profiles, heart rate zones, and power stats for personalized + analysis.
Optimized for both humans and machines. Every tool delivers two outputs: