Skip to main content
Glama

Send a contact request to an address book match

request_address_book_friendship
Idempotent

Sends a contact request to a person found in the human's address book, using the same rules as add_contact. It needs the person’s OK first, naming the match by handle and by the name they saved. If that person already asked the human, nothing is accepted here: the answer says incoming_request, and the human decides with respond_contact_request.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
match_idYes
idempotency_keyYesAny unique string you make up for this action, 8-128 characters (a UUID works). Reuse the same key only to retry this exact call.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
inboxNo
handleYes
statusYes
suggested_nextYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare idempotentHint=true, destructiveHint=false, and readOnlyHint=false, but the description adds genuine context beyond them: this is a two-phase request that requires the other party's approval before it takes effect. It also discloses a specific edge-case outcome (the response returns incoming_request and no acceptance occurs), which is real behavioral value not derivable from annotations.

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

Conciseness4/5

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

Front-loaded with the action verb and resource, and the routing caveat comes last. Mostly earns its sentences, though 'using the same rules as add_contact' is slightly opaque without consulting the sibling.

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?

An output schema exists, so return-value explanation is not required, yet the description still proactively explains the notable incoming_request response. For a mutation tool with annotation coverage and only two params, this is adequate, with the only real gap being match_id provenance.

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

Parameters3/5

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

Schema description coverage is 50%: idempotency_key is documented in the schema, but match_id has no description. The description gestures at how the match is named ('by handle and by the name they saved') but does not explain where match_id comes from or its format. Baseline 3 is appropriate given the schema carries the idempotency semantics.

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?

States a specific verb+resource: sends a contact request to an address book match. It distinguishes itself from siblings by reference ('same rules as add_contact') and routes the incoming_request case to respond_contact_request. An agent can tell it apart from add_contact, list_address_book_matches, and dismiss_address_book_match.

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

Usage Guidelines4/5

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

Gives a clear prerequisite ('needs the person's OK first') and an explicit exclusion with alternative: if the person already asked the human, nothing is accepted and the human uses respond_contact_request. It does not, however, cover the full set of related siblings such as dismiss_address_book_match or when to prefer add_contact.

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.