search_agents
Locate ERC-8004 AI agents by matching name substrings through Minuet's indexed relationship graph. Optionally limit the number of results for targeted discovery.
Instructions
Search indexed ERC-8004 agents.
Args: query: Optional substring to match against agent name. limit: Maximum number of agents to return (default 25).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | ||
| limit | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/minuet_mcp/server.py:31-42 (handler)The actual tool handler for search_agents. Uses MinuetClient to call list_agents with optional name query and limit, then returns a dict with count and agents.
@mcp.tool() async def search_agents(query: str | None = None, limit: int = 25) -> dict[str, Any]: """Search indexed ERC-8004 agents. Args: query: Optional substring to match against agent name. limit: Maximum number of agents to return (default 25). """ async with MinuetClient() as client: data = await client.list_agents(name=query, limit=limit) agents = data.get("agents", [])[:limit] return {"count": len(agents), "agents": agents} - src/minuet_mcp/server.py:31-31 (registration)The @mcp.tool() decorator registers search_agents as an MCP tool on the FastMCP instance.
@mcp.tool() - src/minuet_mcp/client.py:68-84 (helper)The MinuetClient.list_agents helper invoked by the search_agents handler. Makes an async GET request to /api/agents with optional query parameters.
async def list_agents( self, name: str | None = None, mcp_tools: str | None = None, active: bool | None = None, limit: int | None = None, ) -> dict[str, Any]: params: dict[str, Any] = {} if name: params["name"] = name if mcp_tools: params["mcpTools"] = mcp_tools if active is not None: params["active"] = "true" if active else "false" if limit is not None: params["limit"] = limit return await self._get("/api/agents", params=params or None) - src/minuet_mcp/server.py:32-32 (schema)Input schema: query (optional str) and limit (optional int, default 25). Output schema: dict with count (int) and agents (list).
async def search_agents(query: str | None = None, limit: int = 25) -> dict[str, Any]: - src/minuet_mcp/server.py:16-16 (schema)The FastMCP instance that hosts all tool registrations, including search_agents.
mcp = FastMCP("minuet-mcp")