Skip to main content
Glama

monica_media

Destructive

Manage documents and photos attached to Monica CRM contacts. List a contact's media, upload files from base64 or local path, and delete by ID.

Instructions

Documents and photos attached to contacts. Choose kind, then: • list — a contact's, or everyone's. • upload — a file for a contact, from base64 content plus a filename (or, when this server runs on the same machine over stdio, a local path). • delete — by id (confirm: true).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNoThe document or photo's id
kindYes
pathNo
limitNo
actionYesWhich operation to perform. Other fields are required/optional depending on the value chosen — see tool description.
base64No
confirmNo
contactNo
filenameNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.1.1

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already flag destructiveHint=true and readOnlyHint=false, and the description adds the non-obvious safety gate: delete requires confirm: true. It also discloses the environment-dependent upload source (base64 vs. local path over stdio), which is behavior an agent cannot infer from schema or annotations. It does not describe what deletion cascades to, keeping it out of 5 territory.

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 resource, then a compact bulleted mapping of action to requirements — no filler sentences. It is dense enough that the stdio caveat is parenthetical, which is efficient but slightly terse.

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?

For a 9-parameter, destructive-capable tool with 22% schema coverage and no output schema, the description covers action semantics and the delete confirmation gate well. It omits pagination behavior (limit) and gives no hint about the return shape for list, which an agent needs when paging through media.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 22%, so the description carries most of the burden and does explain the action-dependent parameter contracts (kind choice, upload's base64/filename/path, delete's id/confirm). However, limit (default 20, max 100) is undocumented in both the description and schema, and the shape of contact/id is left to the schema alone, leaving a real gap.

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 names a concrete resource (documents and photos attached to contacts) and enumerates the three verbs it supports (list/upload/delete), so an agent immediately knows the domain. It implicitly separates itself from monica_contacts by scoping to attachments, but never explicitly contrasts with a sibling, so it stops short of a 5.

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 paired with the condition that selects it and what it operates on: list scopes to a contact's media or everyone's, upload takes base64+filename (or a local path under stdio), delete works by id with confirm. There are no explicit exclusions or named alternatives, but the per-action framing gives clear context for choosing one.

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