Skip to main content
Glama

Pennylane MCP Server and API by Cotlet

List unpaid invoices in Pennylane

pennylane_list_unpaid_invoices
Read-onlyIdempotent

List unpaid invoices 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_list_unpaid_invoices"
  }
}

Input Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds the non-obvious behavioral fact that the tool performs no action itself and only returns procedural steps, which is real context beyond the annotations. The trailing paragraph about Pennylane's public REST API and its read/write scopes describes a different surface entirely and does not inform this tool's behavior.

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 (returns steps, executes nothing, then use browser tools) is front-loaded and useful. But 'from ChatGPT, Claude or any AI agent' is marketing filler and the entire final sentence about Company API v2 scopes and a check date is irrelevant to this tool and dilutes the actionable instruction.

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 zero-parameter, read-only guide tool with no output schema, the description covers the essentials: what it returns (step-by-step screens/buttons/fields), that it mutates nothing, and which tools carry out the action. What is missing is any hint of the shape of the returned guide (text vs. structured steps) and a clear statement that invoice data is not returned, which the misleading name makes worth spelling out.

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 no parameter meaning to document and the baseline of 4 applies. The description correctly adds no pseudo-parameters, keeping expectations aligned with the empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description does state a concrete outcome (returns step-by-step instructions with screens, buttons and fields, and 'opens nothing by itself'), which is specific. However, the name and title promise to 'list unpaid invoices', while the description says the tool returns a how-to guide rather than invoice data — an agent could reasonably expect records back. That tension keeps it at vague-but-recoverable rather than a clean verb+resource statement.

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 explicit sequencing: call this first to get the procedure, then execute with the cotlet_browser_* tools in the user's Pennylane Cloud Browser. It also implicitly excludes the pennylane_* write siblings (create/send/upload/categorise) by framing this as a read-only guide. It does not state when to prefer cotlet_app_guide or pennylane_categorise_transaction-style direct actions instead, so no true when-not guidance.

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