Skip to main content
Glama

address_book

Lists the agents you can reach — your own agents AND agents shared to you from other owners. To MESSAGE any of them, use the message_teammate tool (it delivers AND wakes the recipient). Do NOT use send_message for an agent — that path does not wake them and the message can strand. Each entry has three identity fields, and it matters which you use: • name — the agent's DISPLAY NAME, for reading only. Never address by it (names are not unique and change). • address (name@owner.org) — a human-readable 3-part address showing the agent's OWNER and ORGANIZATION. It can change (renames), so use it for display, NOT for stored references. • agentId (agt_...) — the OPAQUE, STABLE MESSAGING id. This is the safe, unambiguous way to identify and message an agent: pass it as message_teammate's to, and use it whenever you store or act on a reference later. It never changes. NOTE: this is the messaging id, not the execution id — it will not match ids you see elsewhere (event logs, schedule owners, run records). Don't join it against those; it's for messaging and storage only. Rule of thumb: read the name, use the agentId to message and to store. Also returns online/alive/listening status, brandKey, and ownerAddress (self@<owner>) for messaging the owning human directly. Takes no arguments.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.9/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden and does so thoroughly. It discloses the stability semantics of each identity field, warns that agentId is a messaging id not an execution id, and explicitly cautions against joining it with ids from other contexts. This goes well beyond a simple 'lists agents' statement.

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?

Although long, the description is front-loaded with the core purpose and then uses bulleted identity fields to keep the critical distinctions scannable. Each sentence adds operational value; there is no filler or repetition of schema content.

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

Completeness5/5

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

There is no output schema, so the description must document the return shape itself. It does: identity fields, status fields, brandKey, and ownerAddress. It also covers no-argument invocation, common pitfalls, and storage guidance. Nothing needed for correct use is missing.

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

Parameters4/5

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

The tool takes no parameters, the schema is empty with 100% coverage, and the description explicitly states 'Takes no arguments.' There is no parameter meaning to add, so the baseline 4 for a zero-parameter tool is appropriate.

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?

Description starts with a specific verb and resource: 'Lists the agents you can reach.' It immediately distinguishes this listing tool from messaging tools by naming send_message and message_teammate, so an agent can tell it apart from siblings without inspecting schemas.

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

Usage Guidelines5/5

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

Provides explicit when-to-use guidance: use message_teammate to message agents, do NOT use send_message because it does not wake the recipient and can strand the message. It also gives a clear rule of thumb: read the name, use agentId to message and store. This is unambiguous routing to alternatives.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.