From fe5aa910e7ac0a34add4738cd8337021e3d5bbc5 Mon Sep 17 00:00:00 2001 From: Jeremiah Lowin <153965+jlowin@users.noreply.github.com> Date: Sat, 7 Jun 2025 16:58:05 -0400 Subject: [PATCH] Add get_tool utility --- src/fastmcp/server/server.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/fastmcp/server/server.py b/src/fastmcp/server/server.py index a22af3d26..12fbf976d 100644 --- a/src/fastmcp/server/server.py +++ b/src/fastmcp/server/server.py @@ -263,6 +263,12 @@ class FastMCP(Generic[LifespanResultT]): self._cache.set("tools", tools) return tools + async def get_tool(self, key: str) -> Tool: + tools = await self.get_tools() + if key not in tools: + raise NotFoundError(f"Unknown tool: {key}") + return tools[key] + async def get_resources(self) -> dict[str, Resource]: """Get all registered resources, indexed by registered key.""" if (resources := self._cache.get("resources")) is self._cache.NOT_FOUND: