Skip to main content
Glama

Joist MCP Server and API by Cotlet

Convert estimate to invoice in Joist

joist_convert_estimate_to_invoice
Read-onlyIdempotent

Convert estimate to invoice in the user's own Joist account from ChatGPT, Claude or any AI agent. Returns how to do it in Joist step by step (screens, buttons, fields) and opens nothing by itself; then do it with the cotlet_browser_* tools in the user's Joist Cloud Browser. Joist's official API: Joist has no public API (checked 26 Oct 2026): its help center and pricing page document none, and there are no webhooks.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "joist_convert_estimate_to_invoice"
  }
}

Input Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false; the description reinforces this by stating plainly that it 'opens nothing by itself,' which prevents an agent from assuming a mutation occurs. It also adds the notable context that Joist has no public API, explaining why browser automation is required. Return content is described at a high level (screens, buttons, fields).

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-loads the action and immediately clarifies that it only returns instructions, then names the follow-up tools. The closing note on Joist's lack of a public API, complete with a check date, is somewhat tangential but earns its place by justifying the browser-tool handoff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description carries the burden of describing the return value — and it does, specifying a step-by-step procedure with screens, buttons, and fields. Combined with the annotations and the explicit follow-up path, an agent has everything needed to call it correctly.

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?

The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. No parameter detail is needed or missing.

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?

States a specific verb and resource (convert an estimate to an invoice) and explicitly scopes it to the user's own Joist account. It also clarifies what the tool actually produces — a step-by-step guide — rather than performing the conversion. It does not distinguish itself from the bare `convert_estimate_to_invoice` sibling, leaving that differentiation to context.

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?

Gives a clear workflow: call this first to get the screens/buttons/fields, then execute with the `cotlet_browser_*` tools in the Joist Cloud Browser. It does not state any when-not-to-use conditions or prerequisites such as an existing estimate ID, but the sequencing guidance is explicit.

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.