- 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>
3.5 KiB
3.5 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.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