mcp-vultr/install_dev.sh
Ryan Malloy 75ffe33008 Migrate to FastMCP and add comprehensive improvements
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>
2025-07-16 10:09:20 -06:00

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'"