mcp-vultr/CHANGELOG.md
Ryan Malloy ce640e2ee5 Add tool wrappers for Claude Desktop compatibility (v1.0.3)
- Add tool wrappers for all resource endpoints to ensure Claude Desktop can access them
- Implement hybrid approach: resources for MCP spec compliance, tools for practical usage
- Add 5 new tool wrappers: list_domains_tool, get_domain_tool, list_records_tool, get_record_tool, analyze_domain_tool
- Update documentation to reflect the hybrid approach
- Bump version to 1.0.3

This ensures compatibility with Claude Desktop while maintaining MCP best practices.

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

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

90 lines
3.5 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.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