Major changes: - Migrate from low-level MCP to FastMCP framework for better compatibility - Add custom exception hierarchy (VultrAPIError, VultrAuthError, etc.) - Replace basic IPv6 validation with Python's ipaddress module - Add HTTP request timeouts (30s total, 10s connect) - Modernize development workflow with uv package manager - Create FastMCP server with proper async/await patterns New features: - FastMCP server implementation with 12 DNS management tools - Comprehensive Claude Desktop integration guide - Enhanced error handling with specific exception types - Professional README with badges and examples - Complete testing suite with improvement validation Documentation: - CLAUDE.md: Consolidated project documentation - CLAUDE_DESKTOP_SETUP.md: Step-by-step Claude Desktop setup guide - Updated README.md with modern structure and uv-first approach - Enhanced TESTING.md with FastMCP testing patterns Development improvements: - Updated all scripts to use uv run commands - Smart development setup with uv/pip fallback - Added comprehensive test coverage for new features - PyPI-ready package configuration 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
69 lines
1.9 KiB
Bash
69 lines
1.9 KiB
Bash
#!/bin/bash
|
|
|
|
# Development installation script for vultr-dns-mcp
|
|
# This script installs the package in development mode for testing
|
|
|
|
set -e
|
|
|
|
echo "🔧 Installing vultr-dns-mcp in development mode..."
|
|
|
|
# Change to package directory
|
|
cd "$(dirname "$0")"
|
|
|
|
# Check for uv first, fall back to pip
|
|
if command -v uv &> /dev/null; then
|
|
echo "📦 Using uv for fast, modern dependency management..."
|
|
|
|
# Sync dependencies with dev extras
|
|
echo "🔄 Syncing dependencies..."
|
|
uv sync --extra dev
|
|
|
|
echo "✅ Installation complete!"
|
|
echo ""
|
|
echo "🚀 You can now run:"
|
|
echo " vultr-dns-mcp --help"
|
|
echo " vultr-dns-mcp server"
|
|
echo ""
|
|
echo "🧪 Run tests with:"
|
|
echo " uv run pytest"
|
|
echo " uv run python run_tests.py --all-checks"
|
|
echo ""
|
|
echo "🔧 Code quality tools:"
|
|
echo " uv run black src tests"
|
|
echo " uv run mypy src"
|
|
echo ""
|
|
|
|
else
|
|
echo "📦 Using pip (consider installing uv for faster dependency management)..."
|
|
echo " Install uv: curl -LsSf https://astral.sh/uv/install.sh | sh"
|
|
echo ""
|
|
|
|
# Check if we're in a virtual environment
|
|
if [[ -z "$VIRTUAL_ENV" ]]; then
|
|
echo "⚠️ Warning: Not in a virtual environment"
|
|
echo " Consider running: python -m venv .venv && source .venv/bin/activate"
|
|
echo ""
|
|
fi
|
|
|
|
# Install in development mode
|
|
echo "📦 Installing package dependencies..."
|
|
pip install -e .
|
|
|
|
echo "🧪 Installing development dependencies..."
|
|
pip install -e .[dev]
|
|
|
|
echo "✅ Installation complete!"
|
|
echo ""
|
|
echo "🚀 You can now run:"
|
|
echo " vultr-dns-mcp --help"
|
|
echo " vultr-dns-mcp server"
|
|
echo ""
|
|
echo "🧪 Run tests with:"
|
|
echo " pytest"
|
|
echo " python run_tests.py --all-checks"
|
|
echo ""
|
|
fi
|
|
|
|
echo "📝 Set your API key:"
|
|
echo " export VULTR_API_KEY='your-api-key-here'"
|