Skip to main content
Glama
minuetai
by minuetai

get_agent_relationships

List incoming, outgoing, or both relationships for a specific agent in the ERC-8004 relationship graph.

Instructions

List relationships for a specific agent.

Args: agent_id: Canonical chainId:agentId identifier. direction: One of incoming, outgoing, or both (default).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
agent_idYes
directionNoboth

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • The MCP tool handler for get_agent_relationships. Decorated with @mcp.tool(), it accepts an agent_id and an optional direction parameter, creates a MinuetClient, and delegates to the client method.
    @mcp.tool()
    async def get_agent_relationships(
        agent_id: str, direction: str = "both"
    ) -> dict[str, Any]:
        """List relationships for a specific agent.
    
        Args:
            agent_id: Canonical `chainId:agentId` identifier.
            direction: One of `incoming`, `outgoing`, or `both` (default).
        """
        async with MinuetClient() as client:
            return await client.get_agent_relationships(agent_id, direction=direction)
  • The MinuetClient helper method that performs the actual HTTP GET request to the Minuet API endpoint /api/agent/{agent_id}/relationships with the direction query parameter.
    async def get_agent_relationships(
        self, agent_id: str, direction: str = "both"
    ) -> dict[str, Any]:
        return await self._get(
            f"/api/agent/{agent_id}/relationships",
            params={"direction": direction},
        )
  • Registration of get_agent_relationships as an MCP tool via the @mcp.tool() decorator on the FastMCP instance defined at line 16 of server.py.
    @mcp.tool()
    async def get_agent_relationships(
        agent_id: str, direction: str = "both"
    ) -> dict[str, Any]:
        """List relationships for a specific agent.
    
        Args:
            agent_id: Canonical `chainId:agentId` identifier.
            direction: One of `incoming`, `outgoing`, or `both` (default).
        """
        async with MinuetClient() as client:
            return await client.get_agent_relationships(agent_id, direction=direction)
  • Input schema/parameters for the tool: agent_id (string, required) and direction (string, default 'both', accepting 'incoming', 'outgoing', or 'both').
        direction: One of `incoming`, `outgoing`, or `both` (default).
    """
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description carries full burden. It only states 'List relationships' implying a read operation, but lacks disclosure on safety, authorization needs, rate limits, or any side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise and well-structured: a single-line summary followed by a clear Args section. Every sentence is essential with no redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given only 2 parameters, no annotations, and an existing output schema, the description covers the core functionality. However, it could benefit from additional context on behavioral transparency and usage guidance relative to siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema properties have no descriptions (coverage 0%), but the tool description explicitly explains the agent_id format (canonical chainId:agentId) and direction values (incoming, outgoing, both) with a default. This adds crucial meaning beyond the raw schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'List relationships for a specific agent.' and specifies the agent_id format and direction options. This contrasts with siblings like get_relationship_graph (graphical) and get_recent_relationships (filtered), providing a distinct purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage through parameter examples but does not explicitly state when to use this tool over siblings like get_relationship_graph or get_recent_relationships, nor does it include when-not scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/minuetai/minuet-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server