- 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>
4.0 KiB
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 resourceget_domain_tool()
- wrapper for dns://domains/{domain} resourcelist_records_tool()
- wrapper for dns://domains/{domain}/records resourceget_record_tool()
- wrapper for dns://domains/{domain}/records/{record_id} resourceanalyze_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