Skip to main content
Glama

monica_activities

Destructive

Manage activities with contacts in Monica CRM: log, list, get, update, or delete coffees, trips, and dinners.

Instructions

Things done together with contacts (a coffee, a trip, a dinner). • list — a contact's activities, or the most recent across everyone. • get — one activity. • create — log an activity with one or more contacts, a summary and a date (today by default), optionally typed (e.g. 'ate at a restaurant', 'went to a bar'; monica_reference kind=activity_types). • update — change any of it; contacts, if given, replace the list. • delete — remove an activity (confirm: true).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNoThe activity's id
dateNoYYYY-MM-DD
typeNo
limitNo
actionYesWhich operation to perform. Other fields are required/optional depending on the value chosen — see tool description.
confirmNo
contactNo
summaryNo
contactsNoWho it was with
descriptionNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.1.1

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already flag destructiveHint=true and non-idempotent; the description goes further by disclosing that update replaces the contacts list wholesale and that delete requires confirm: true, plus the date-defaults-to-today behavior. No contradiction with the write/destructive annotation profile.

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

Conciseness5/5

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

One front-loaded definition sentence followed by a tight per-action bullet list; no filler and every clause carries routing or semantic information.

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 10-param multi-action mutation tool with no output schema, the description covers each action's required fields and the key mutation semantics. It stops short of explaining pagination/limit behavior on list or failure modes, but nothing essential for correct invocation is missing.

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 40%, so the description must compensate and largely does: it defines summary, date (defaults today), type with concrete examples and a pointer to monica_reference kind=activity_types, contacts ('who it was with', replaced on update), and confirm. Only id and limit 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?

States a concrete resource (activities: things done together with contacts) and enumerates all five verbs (list/get/create/update/delete) with the scope of each. An agent can tell this apart from monica_journal, monica_notes, or monica_calls purely from the description without opening the schema.

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 scoped with its own condition: 'list — a contact's activities, or the most recent across everyone', 'delete — confirm: true', 'update — change any of it'. This is clear intra-tool routing, but it never names when to pick a sibling tool (e.g. journal vs activities) or states exclusions.

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