Skip to main content
Glama

Log interaction

record_interaction
Destructive

Record one dated touchpoint with someone in the user's graph — an email exchanged, a call, a meeting, a LinkedIn touch, or a manually noted contact — so 'when did I last talk to them?' has an answer. Creates an interaction object connected to the person it happened with; get with_object_id from search_graph_objects. occurred_at is ISO 8601 ('2026-08-28T15:00:00Z') and may be in the future ('we're meeting next Tuesday'). direction is from the user's point of view: inbound means they reached out to the user.

Input Schema

NameRequiredDescriptionDefault
channelYesHow it happened.
summaryYesOne or two sentences on what happened.
directionYes'inbound' when they contacted the user, 'outbound' when the user reached out.
occurred_atYesWhen it happened (ISO 8601; future is fine).
with_object_idYesWho it happened with (their exact object_id).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added
  2. Removed
  3. First observed

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and destructiveHint=true, so the write nature is known. The description adds that future occurred_at values are legal and how direction is framed from the user's perspective, which is real value. However, for a 'destructive' mutation it says nothing about duplicates (does this dedupe against an existing email/calendar event?), reversibility, or permissions, so the higher-risk behavior stays opaque.

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 purpose sentence followed by sourcing, timestamp, and direction notes in a logical order. The "so 'when did I last talk to them?' has an answer" clause is slightly promotional but does convey intent; overall density is reasonable for a 5-parameter required-all mutation.

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?

All five required parameters are covered between schema and description, and the ID-sourcing prerequisite is spelled out. With no output schema, though, the agent never learns what comes back (an interaction id? the linked person?), which matters if it needs to reference the created record later.

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 100%, so the baseline is 3, but the description goes beyond it: it gives a concrete ISO 8601 example, explicitly permits future timestamps, restates direction from the user's point of view, and names the source of with_object_id. Channel and summary semantics are left entirely to the 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?

Specific verb ('Record') plus a precisely scoped resource ('one dated touchpoint with someone in the user's graph'), and it enumerates the covered channels (email, call, meeting, LinkedIn, manual). This clearly separates it from a generic sibling like create_graph_object or create_calendar_event.

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 tells the agent when to reach for it (wanting to answer 'when did I last talk to them?') and routes to the prerequisite tool: 'get with_object_id from search_graph_objects'. It stops short of naming when NOT to use it (e.g., versus create_calendar_event for a future meeting or create_graph_object for a bare person record).

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.