- 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>
101 lines
4.0 KiB
Markdown
101 lines
4.0 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to this project will be documented in this file.
|
|
|
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
|
## [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
|