mcp-vultr/CHANGELOG.md
Ryan Malloy 509423e650 Fix tool wrappers callable error (v1.0.4)
- Fix tool wrappers to call vultr_client methods directly instead of resource functions
- Resolve "FunctionResource object is not callable" error in Claude Desktop
- Tool wrappers now properly call vultr_client.list_domains(), vultr_client.get_domain(), etc.
- Maintains hybrid approach while fixing the execution error
- Bump version to 1.0.4

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-16 15:49:04 -06:00

4.0 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[1.0.4] - 2025-01-16

Fixed

  • Fixed tool wrappers to properly call underlying VultrDNSServer methods instead of trying to call FunctionResource objects
  • Resolved "FunctionResource object is not callable" error in Claude Desktop
  • Tool wrappers now directly call vultr_client.list_domains(), vultr_client.get_domain(), etc.

Technical

  • Changed tool wrapper implementation from calling resource functions to calling the underlying client methods
  • Maintains functionality while fixing the callable object error

[1.0.3] - 2025-01-16

Added

  • Tool wrappers for resource access to ensure Claude Desktop compatibility
    • list_domains_tool() - wrapper for dns://domains resource
    • get_domain_tool() - wrapper for dns://domains/{domain} resource
    • list_records_tool() - wrapper for dns://domains/{domain}/records resource
    • get_record_tool() - wrapper for dns://domains/{domain}/records/{record_id} resource
    • analyze_domain_tool() - wrapper for dns://domains/{domain}/analysis resource

Technical

  • Hybrid approach: resources for direct MCP access, tools for Claude Desktop compatibility
  • Maintains both patterns to support different MCP client implementations

[1.0.2] - 2025-01-16

Changed

  • Refactored read operations to use MCP resources instead of tools
  • List domains endpoint: @mcp.resource("dns://domains")
  • Get domain endpoint: @mcp.resource("dns://domains/{domain}")
  • List records endpoint: @mcp.resource("dns://domains/{domain}/records")
  • Get record endpoint: @mcp.resource("dns://domains/{domain}/records/{record_id}")
  • Analyze domain endpoint: @mcp.resource("dns://domains/{domain}/analysis")

Improved

  • Better alignment with MCP best practices (resources for read, tools for write)
  • Enhanced Claude Desktop integration documentation with uvx support

[1.0.1] - 2024-12-20

Fixed

  • Fixed FastMCP server initialization by removing unsupported parameters
  • Corrected MCP server creation to use proper FastMCP constructor
  • Resolved "unexpected keyword argument 'description'" error

Changed

  • Simplified FastMCP initialization to use only the name parameter
  • Updated server creation to be compatible with current FastMCP version

[1.0.0] - 2024-12-20

Added

  • Initial release of Vultr DNS MCP package
  • Complete MCP server implementation for Vultr DNS management
  • Python client library for direct DNS operations
  • Command-line interface for DNS management
  • Support for all major DNS record types (A, AAAA, CNAME, MX, TXT, NS, SRV)
  • DNS record validation and configuration analysis
  • MCP resources for client discovery
  • Comprehensive error handling and logging
  • Natural language interface through MCP tools
  • Convenience methods for common DNS operations
  • Setup utilities for websites and email
  • Full test suite with pytest
  • Type hints and mypy support
  • CI/CD configuration for automated testing
  • Comprehensive documentation and examples

Features

  • Domain Management: List, create, delete, and get domain details
  • DNS Records: Full CRUD operations for all record types
  • Validation: Pre-creation validation with helpful suggestions
  • Analysis: Configuration analysis with security recommendations
  • CLI Tools: Complete command-line interface
  • MCP Integration: Full Model Context Protocol server
  • Python API: Direct async Python client
  • Error Handling: Robust error handling with actionable messages

Supported Operations

  • Domain listing and management
  • DNS record creation, updating, and deletion
  • Record validation before creation
  • DNS configuration analysis
  • Batch operations for common setups
  • Natural language DNS management through MCP

Documentation

  • Complete API documentation
  • Usage examples and tutorials
  • MCP integration guides
  • CLI reference
  • Development guidelines