Skip to main content
Glama

record_interaction

Log interactions with agents, tools, or services to build a shared reputation dataset. Mark intentional negative tests as synthetic to avoid counting them as failures.

Instructions

Record an interaction with an agent, tool, or service after using it. Helps build the shared reputation dataset for the community. If the call was an intentional negative test (e.g. deliberately invalid input), set source to 'synthetic' so it is not counted as a failure of the target.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
actorYesYour agent/system identifier
sourceNoorganic (default) for real use; synthetic for tests, including intentional failure tests
targetYesIdentifier of what you used
outcomeYes
task_typeYesWhat kind of task was performed. e.g. 'web_search', 'code_gen'
latency_msNoHow long it took in milliseconds
target_typeYes
failure_typeNoRequired when outcome is failure. Distinguish tool failure vs argument error.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.1.16
    • addedInput schema / properties / source / description
      Added value: +"organic (default) for real use; synthetic for tests, including intentional failure tests"
  2. Changed1 schema field changedv0.1.15
    • addedInput schema / properties / failure_type
      Added value: +{
      +  "description": "Required when outcome is failure. Distinguish tool failure vs argument error.",
      +  "enum": [
      +    "invalid_arguments",
      +    "timeout",
      +    "server_error",
      +    "tool_error",
      +    "unknown"
      +  ],
      +  "type": "string"
      +}
  3. First observedv0.1.11

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the full behavioral burden. It adds one valuable behavior: intentional negative tests recorded with source='synthetic' are not counted as target failures. However, it omits permissions, persistence, rate limits, and whether the record is public, which are important for a shared reputation-writing tool.

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?

Three sentences, front-loaded with the core action, then rationale, then the source edge case. No filler, and each sentence contributes necessary information.

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

Completeness3/5

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

The description covers purpose and the key source nuance for a tool with no output schema and no annotations. It does not explain the required fields or failure_type requirement, relying on schema coverage; it also leaves out privacy/permission behavior, so an agent cannot fully predict side effects.

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?

Schema coverage is 75%, so the schema already documents most parameters. The description adds meaningful nuance beyond the schema for source by clarifying that intentional negative tests (e.g. deliberately invalid input) should be marked synthetic to avoid counting as a failure.

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

Purpose4/5

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

The description states a specific verb and resource: record an interaction with an agent, tool, or service after using it. It is clearly distinguishable from the read-oriented siblings get_lowdown, get_node_stats, and compare_tools, though it does not explicitly name them.

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?

It gives clear usage context ('after using it') and a conditional when-to-use rule for source='synthetic' with an example. It does not name when not to use it or compare to alternatives, but the sibling tools serve different purposes.

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