Skip to main content
Glama

iFirma MCP Server and API by Cotlet

Issue invoice in iFirma

ifirma_issue_invoice
Read-onlyIdempotent

Issue invoice in the user's own iFirma account from ChatGPT, Claude or any AI agent. Returns how to do it in iFirma step by step (screens, buttons, fields) and opens nothing by itself; then do it with the cotlet_browser_* tools in the user's iFirma Cloud Browser. iFirma's official API: Yes.

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": "ifirma_issue_invoice"
  }
}

Input Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/5.0
Behavior5/5

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

The description adds important behavior beyond the annotations: it returns a step-by-step guide and 'opens nothing by itself,' which explains why readOnlyHint=true is appropriate despite the invoice-related name. It also names the follow-up browser tools, giving the agent a complete behavioral model.

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?

The definition is short and front-loads the key distinction that it returns instructions rather than acting. The trailing fragment 'iFirma's official API: Yes.' is cryptic and slightly reduces polish, and the ChatGPT/Claude phrasing is not essential.

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?

For a zero-parameter guidance tool with no output schema, the description covers the essential contract: what it returns, that it does not open anything itself, and which sibling tools to use next. No additional parameter or return-value explanation is needed.

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?

There are zero input parameters, so the schema carries no parameter semantics burden. The description correctly does not invent parameters, and the baseline for a no-parameter tool is appropriate.

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 the specific resource and action context: issuing an invoice in the user's iFirma account. It clarifies that the tool returns step-by-step browser instructions rather than performing the action itself, though the opening phrase 'Issue invoice' could briefly imply direct execution.

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?

It gives clear workflow guidance: call this tool to get screens/buttons/fields, then use the cotlet_browser_* tools to perform the action. It does not explicitly compare against sibling invoice tools such as ifirma_send_invoice or state when not to use it.

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