Skip to main content
Glama

Joist by Cotlet

Add client

add_client
Destructive

New client in your Clients list, ready for estimates and invoices. Creates a client card in Joist with name and optional email, phone, billing address and notes. It reaches no one. Joist does not refuse a duplicate name, so check list_clients first.

Input Schema

NameRequiredDescriptionDefault
nameYesClient or company name.
emailNoWhere documents are emailed.
notesNoNotes on the client card.
phoneNo
addressNoBilling address.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already flag readOnlyHint=false and destructiveHint=true, but the description adds two facts not encoded anywhere: creation is non-idempotent in practice because duplicate names are accepted, and no outbound communication is triggered. That duplicate behavior is exactly the risk an agent needs to know about before calling an openWorld, non-idempotent write.

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?

Three short sentences with zero padding: identity of the resource first, then what gets written, then the side-effect and the guardrail. Each sentence carries a distinct piece of 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 five-parameter creation tool with no output schema, the description covers the write semantics, side effects, and the duplicate caveat well. The one gap is what comes back from a successful call (client id or card object) and whether name alone suffices — the latter is inferable from 'optional' phrasing.

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 80%, so the schema already documents name, email, notes, and the nested address object. The description restates which fields exist and marks email, phone, address and notes as optional, but adds no format or constraint meaning beyond what the schema provides — baseline 3.

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?

"Creates a client card in Joist" is a specific verb plus resource, and the field list (name, email, phone, billing address, notes) bounds the write precisely. An agent can distinguish this from get_client and list_clients without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It names the alternative explicitly — "check list_clients first" — with the condition that triggers it (Joist allows duplicate names). It also closes a likely misuse path by stating "It reaches no one," so an agent won't call this expecting a welcome email or notification.

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.