[{'Text': '#!/bin/bash\n\n# Publish script for Point Topic MCP to PyPI using UV\nset -e\n\necho "🔄 Syncing dependencies with uv sync..."\nuv sync\n\n# Auto-increment version in pyproject.toml\necho "🔢 Auto-incrementing version..."\nCURRENT_VERSION=$(grep "version = " pyproject.toml | sed \'s/version = "//\' | sed \'s/"//\')\necho "Current version: $CURRENT_VERSION"\n\n# Parse version (assuming X.Y.Z format)\nIFS=\'.\' read -r major minor patch <<< "$CURRENT_VERSION"\nNEW_PATCH=$((patch + 1))\nNEW_VERSION="$major.$minor.$NEW_PATCH"\n\necho "New version: $NEW_VERSION"\n\n# Update pyproject.toml\nsed -i \'\' "s/version = \\"$CURRENT_VERSION\\"/version = \\"$NEW_VERSION\\"/" pyproject.toml\n\n# Get token from .pypirc if it exists\nif [ -f "$HOME/.pypirc" ]; then\n    echo "📄 Reading token from ~/.pypirc..."\n    PYPI_TOKEN=$(grep "password = " ~/.pypirc | sed \'s/.*password = //\' | tr -d \' \')\n    if [ -z "$PYPI_TOKEN" ]; then\n        echo "❌ Could not find token in ~/.pypirc"\n        exit 1\n    fi\nelse\n    echo "❌ No ~/.pypirc file found!"\n    echo "Set up your PyPI credentials first"\n    exit 1\nfi\n\necho "🧹 Cleaning old dist files..."\nrm -rf dist/\n\necho "🔨 Building package with UV..."\nuv build\n\necho "📦 Built package files:"\nls -la dist/\n\necho "🚀 Uploading to PyPI with UV..."\nuv publish --token "$PYPI_TOKEN"\n\necho "✅ Successfully published to PyPI!"\necho ""\necho "🔄 Reinstalling local tool to latest version (retrying until PyPI propagates)..."\nwhile ! uv tool install --reinstall point-topic-mcp 2>/dev/null; do\n    echo "  PyPI not ready yet, retrying in 2s..."\n    sleep 2\ndone\necho ""\necho "Users can now install with:"\necho "  pip install point-topic-mcp"\necho ""\necho "Or specify the new version to ensure you get the latest:"\necho "  pip install point-topic-mcp==$NEW_VERSION"\necho ""\necho "And use with:"\necho "  point-topic-mcp"\n'}]