Skip to main content
Glama

Link time entries to an invoice

mark_time_invoiced
DestructiveIdempotent

Mark one or more time reports as invoiced, optionally linking them to an existing invoice. Requires Manager role or above.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "time_report_ids": "<time_report_ids>"
    },
    "name": "mark_time_invoiced"
  }
}

Input Schema

NameRequiredDescriptionDefault
confirmNoSet true to perform the action. Omit or false returns a preview only — nothing is written.
invoice_idNoOptional ID of an existing invoice to link these time reports to.
idempotency_keyNoOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.
time_report_idsYesList of time report IDs to mark as invoiced (required, at least one).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.6/5.0
Behavior3/5

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

The annotations already disclose that this is a destructive, non-read-only, idempotent operation. The description adds the important authorization requirement of Manager role or above, but it does not explain the practical effect of marking reports as invoiced, whether it is reversible, or how the linking interacts with existing invoice state.

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?

The definition is two sentences, front-loads the action, and includes the key authorization constraint without unnecessary wording. Every part contributes useful information for an agent.

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 destructive mutation tool, the description covers the core action, optional invoice linkage, and authorization requirement, while the schema fully explains the preview and idempotency parameters. It is nearly complete, though it could add a brief note about the practical effect of marking time reports as invoiced.

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 100%, so the schema already documents time_report_ids, invoice_id, confirm, and idempotency_key in detail. The description only restates the core required input and the optional invoice linkage, without adding format, constraints, or behavioral meaning beyond the schema.

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 states a specific action and resource: mark one or more time reports as invoiced, with optional linking to an existing invoice. It is clear about scope, but it does not explicitly distinguish this operation from adjacent billing actions such as write_off_time or invoice generation.

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

Usage Guidelines3/5

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

It gives the prerequisite that Manager role or above is required and notes that invoice linking is optional, which helps an agent decide whether the caller is allowed. However, it does not state when to use this tool instead of related tools like write_off_time or generate_invoice, so usage guidance remains implied rather than 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.

Resources