Skip to main content
Glama

Pennylane MCP Server and API by Cotlet

Create customer invoice in Pennylane

pennylane_create_customer_invoice
Read-onlyIdempotent

Create customer invoice in the user's own Pennylane account from ChatGPT, Claude or any AI agent. Returns how to do it in Pennylane step by step (screens, buttons, fields) and opens nothing by itself; then do it with the cotlet_browser_* tools in the user's Pennylane Cloud Browser. Pennylane's official API: Yes, Pennylane has a public REST API (Company API v2) with read and write scopes for customers, customer and supplier invoices, transactions, categories and ledger entries (checked 14 Oct 2026).

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

Input Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the description's 'opens nothing by itself' is consistent reinforcement rather than new disclosure. It does add useful behavioral detail about the return value (step-by-step screens, buttons, fields). However, the closing sentence about Pennylane's public REST API is app-level trivia that says nothing about how this tool behaves or fails.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core mechanic is stated early, but the opening clause 'from ChatGPT, Claude or any AI agent' is pure filler, and the final sentence about Pennylane's Company API v2 read/write scopes is tangential to invoking this tool. Two of roughly four sentences do not earn their place, though the description is not long overall.

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?

With zero parameters, no output schema and annotations covering the safety profile, the description supplies what is needed: it explains that the return value is procedural guidance and that execution requires the browser tools. A slightly richer statement of what the returned steps contain or how to handle unsupported invoice requests would make it complete.

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 and the schema is an empty object, so there is no parameter meaning for the description to add. Baseline 4 applies; the description correctly signals that the call is parameterless by describing a single contextual outcome.

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 resource (customer invoice in the user's Pennylane account) and then crucially corrects the name's implication by saying it 'Returns how to do it in Pennylane step by step (screens, buttons, fields) and opens nothing by itself.' That distinguishes it from an actual write operation. It stops short of naming which sibling handles what, but the browser-tool hand-off supplies the key distinction.

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 a clear usage pattern: call this first to get steps, then execute via 'the cotlet_browser_* tools in the user's Pennylane Cloud Browser.' The exclusion 'opens nothing by itself' tells the agent this call alone accomplishes nothing. No explicit when-not-to-use case is given, and it doesn't contrast with pennylane_send_invoice or pennylane_upload_supplier_invoice, which would have earned a 5.

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