diff --git a/src/fastmcp/resources/resource.py b/src/fastmcp/resources/resource.py index ad25ec10d..9d16e811c 100644 --- a/src/fastmcp/resources/resource.py +++ b/src/fastmcp/resources/resource.py @@ -86,12 +86,6 @@ class Resource(FastMCPComponent, abc.ABC): """Read the resource content.""" pass - def __eq__(self, other: object) -> bool: - if type(self) is not type(other): - return False - assert isinstance(other, type(self)) - return self.model_dump() == other.model_dump() - def to_mcp_resource(self, **overrides: Any) -> MCPResource: """Convert the resource to an MCPResource.""" kwargs = { @@ -102,6 +96,9 @@ class Resource(FastMCPComponent, abc.ABC): } return MCPResource(**kwargs | overrides) + def __repr__(self) -> str: + return f"{self.__class__.__name__}(uri={self.uri!r}, name={self.name!r}, description={self.description!r}, tags={self.tags})" + class FunctionResource(Resource): """A resource that defers data loading by wrapping a function. diff --git a/src/fastmcp/resources/template.py b/src/fastmcp/resources/template.py index b0da1d74a..c8faaa188 100644 --- a/src/fastmcp/resources/template.py +++ b/src/fastmcp/resources/template.py @@ -115,12 +115,6 @@ class ResourceTemplate(FastMCPComponent): tags=self.tags, ) - def __eq__(self, other: object) -> bool: - if type(self) is not type(other): - return False - assert isinstance(other, type(self)) - return self.model_dump() == other.model_dump() - def to_mcp_template(self, **overrides: Any) -> MCPResourceTemplate: """Convert the resource template to an MCPResourceTemplate.""" kwargs = { diff --git a/src/fastmcp/tools/tool.py b/src/fastmcp/tools/tool.py index 0859cac99..2b334f617 100644 --- a/src/fastmcp/tools/tool.py +++ b/src/fastmcp/tools/tool.py @@ -74,12 +74,6 @@ class Tool(FastMCPComponent, ABC): serializer=serializer, ) - def __eq__(self, other: object) -> bool: - if type(self) is not type(other): - return False - assert isinstance(other, type(self)) - return self.model_dump() == other.model_dump() - @abstractmethod async def run( self, arguments: dict[str, Any] diff --git a/src/fastmcp/utilities/components.py b/src/fastmcp/utilities/components.py index e09374735..efee70e21 100644 --- a/src/fastmcp/utilities/components.py +++ b/src/fastmcp/utilities/components.py @@ -37,3 +37,6 @@ class FastMCPComponent(FastMCPBaseModel): return False assert isinstance(other, type(self)) return self.model_dump() == other.model_dump() + + def __repr__(self) -> str: + return f"{self.__class__.__name__}(name={self.name!r}, description={self.description!r}, tags={self.tags})"