Skip to main content
Glama

Accept Request

accept_request
Idempotent

Accept a request: a first message to one of your addresses from someone your account doesn't have as a contact, as check_messages and get_overview list it under requests. It accepts the thread's participants for this thread only; the thread opens once every participant has accepted, and then its first message arrives like any other. add_to_contacts files the participants you name (by prefix, with an optional name and note) in your contacts; nobody else is added. Needs the "may manage my contacts" permission. To ignore a request, use leave_thread; to refuse its sender for good, set_blocked. Retrying with the same idempotency_key returns the first result.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "as_address": "<as_address>",
      "thread_id": "<thread_id>",
      "idempotency_key": "<idempotency_key>"
    },
    "name": "accept_request"
  }
}

Input Schema

NameRequiredDescriptionDefault
thread_idYes
as_addressYesYour address the request came to.
add_to_contactsNoParticipants to add to your contacts, each {prefix, name, note}.
idempotency_keyYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • changedInput schema / properties / add_to_contacts / items / properties / name / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 100,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / add_to_contacts / items / properties / note / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 2000,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / add_to_contacts / items / properties / prefix / maxLength
      Added value: +200
    • addedInput schema / properties / idempotency_key / maxLength
      Added value: +200
    • addedInput schema / properties / idempotency_key / minLength
      Added value: +1
  2. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the annotations, it discloses the acceptance scope ('the thread's participants for this thread only'), the resulting state ('the thread opens once every participant has accepted, and then its first message arrives like any other'), the required permission ('may manage my contacts'), and idempotency behavior ('Retrying with the same idempotency_key returns the first result'). It also scopes the side effect of add_to_contacts ('nobody else is added'), which the annotations' destructiveHint=false alone would not convey.

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?

It is front-loaded with the definition, then consequences, then alternatives, so scanning order matches decision order. Some sentences are long and clause-heavy (the add_to_contacts sentence carries permission, filtering, and shape at once), which costs a little readability but no sentence is filler.

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?

For a mutation tool with four parameters, no output schema, and 50% schema coverage, it covers the essentials: permission requirement, per-thread scope, post-acceptance state, side effects, and retry behavior. The only omission is any hint of the response shape beyond 'returns the first result', which is a small remaining gap for an agent that must inspect the outcome.

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?

With only 50% schema coverage, the description compensates for the least obvious parameters: it explains the add_to_contacts shape in prose ({prefix, name, note}) and that only named participants are filed, and it defines the idempotency_key's retry semantics. thread_id itself is left to the schema, which is a minor gap given the strong coverage of the ambiguous fields.

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 gives a specific verb and resource and defines the object precisely: 'a first message to one of your addresses from someone your account doesn't have as a contact, as check_messages and get_overview list it under requests.' It anchors the concept to sibling tools that surface the same item, so an agent can identify a request without opening any schema.

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?

It states the action and names two explicit alternatives with the condition that selects each: 'To ignore a request, use leave_thread; to refuse its sender for good, set_blocked.' That is a complete when/when-not/alternative mapping for the decision an agent actually faces.

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.