diff --git a/CHANGELOG.md b/CHANGELOG.md index f833cfe..20db5b1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,17 @@ 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 diff --git a/pyproject.toml b/pyproject.toml index 40cda6b..1bc6fff 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "vultr-dns-mcp" -version = "1.0.3" +version = "1.0.4" description = "A comprehensive Model Context Protocol (MCP) server for managing Vultr DNS records" readme = "README.md" license = {text = "MIT"} diff --git a/src/vultr_dns_mcp/_version.py b/src/vultr_dns_mcp/_version.py index 2c7c7c0..fccc9b3 100644 --- a/src/vultr_dns_mcp/_version.py +++ b/src/vultr_dns_mcp/_version.py @@ -1,4 +1,4 @@ """Version information for vultr-dns-mcp package.""" -__version__ = "1.0.3" +__version__ = "1.0.4" __version_info__ = tuple(int(i) for i in __version__.split(".") if i.isdigit()) diff --git a/src/vultr_dns_mcp/fastmcp_server.py b/src/vultr_dns_mcp/fastmcp_server.py index f4503b3..ce18d2c 100644 --- a/src/vultr_dns_mcp/fastmcp_server.py +++ b/src/vultr_dns_mcp/fastmcp_server.py @@ -197,7 +197,7 @@ def create_vultr_mcp_server(api_key: Optional[str] = None) -> FastMCP: This is a tool wrapper for the dns://domains resource. """ - return await list_dns_domains() + return await vultr_client.list_domains() @mcp.tool async def get_domain_tool(domain: str) -> Dict[str, Any]: @@ -208,7 +208,7 @@ def create_vultr_mcp_server(api_key: Optional[str] = None) -> FastMCP: This is a tool wrapper for the dns://domains/{domain} resource. """ - return await get_dns_domain(domain) + return await vultr_client.get_domain(domain) @mcp.tool async def list_records_tool(domain: str) -> List[Dict[str, Any]]: @@ -219,7 +219,7 @@ def create_vultr_mcp_server(api_key: Optional[str] = None) -> FastMCP: This is a tool wrapper for the dns://domains/{domain}/records resource. """ - return await list_dns_records(domain) + return await vultr_client.list_records(domain) @mcp.tool async def get_record_tool(domain: str, record_id: str) -> Dict[str, Any]: @@ -231,7 +231,7 @@ def create_vultr_mcp_server(api_key: Optional[str] = None) -> FastMCP: This is a tool wrapper for the dns://domains/{domain}/records/{record_id} resource. """ - return await get_dns_record(domain, record_id) + return await vultr_client.get_record(domain, record_id) @mcp.tool async def analyze_domain_tool(domain: str) -> Dict[str, Any]: @@ -242,7 +242,7 @@ def create_vultr_mcp_server(api_key: Optional[str] = None) -> FastMCP: This is a tool wrapper for the dns://domains/{domain}/analysis resource. """ - return await analyze_dns_records(domain) + return await vultr_client.analyze_records(domain) return mcp