Skip to main content
Glama

monica_relationships

Destructive

List, add, update, or remove relationships between contacts in Monica CRM, defining how one contact relates to another (e.g., parent, spouse, colleague).

Instructions

How contacts are related. A relationship reads 'contact is of other', e.g. contact=Alice, type=parent, other=Bob means Alice is Bob's parent; Monica records the reverse (Bob is Alice's child) itself. • list — a contact's relationships. • add — relate two contacts. • update — change a relationship's type. • remove — delete a relationship (confirm: true). Types include partner, spouse, date, ex, parent, child, sibling, grandparent, uncle, cousin, friend, bestfriend, colleague, boss, mentor (monica_reference kind=relationship_types).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNoThe relationship's id
typeNo
otherNo
actionYesWhich operation to perform. Other fields are required/optional depending on the value chosen — see tool description.
confirmNo
contactNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.1.1

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, and non-idempotence, so the safety profile is covered. The description adds genuinely useful behavior the annotations cannot: that removal requires confirmation, and that Monica auto-creates the inverse relationship, which affects how the agent reasons about state after an add.

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 core concept and direction semantics, then bulleted per action. Dense but every sentence carries information; the type enumeration is long but useful reference material.

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 6-parameter, no-output-schema tool this covers the conceptual model, all four actions, and the confirm guard. The only shortfall is not spelling out per-action required/optional field combinations despite the action param description deferring to the tool description for exactly that.

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 only 33% (id and action only), so the description must compensate, and it does: it defines contact, type, and other through a concrete worked example and specifies confirm for remove. It stops short of mapping which parameters are required for each action, which is the one remaining gap.

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 resource ('How contacts are related') and enumerates the four operations (list/add/update/remove), so the agent immediately knows the tool's scope. It also routes to the sibling monica_reference for the type vocabulary, distinguishing itself from the other Monica tools.

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?

Each action is annotated with its purpose, and remove explicitly notes the confirm: true prerequisite. The direction convention ('contact is <type> of other', with Monica recording the reverse) tells the agent how to frame add calls. No explicit when-not or alternative-selection guidance beyond the reference lookup.

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