Skip to main content
Glama
Invoice Ninja MCP Server

Invoice Ninja MCP Server

by TETRA-2023

List clients

in_list_clients
Read-only

List clients with optional free-text search, status filtering, sorting, and pagination to find and review client records in Invoice Ninja.

Instructions

List clients with optional search.

Input Schema

NameRequiredDescriptionDefault
pageNoPage number for pagination.
sortNoSort directive, e.g. 'date|desc'.
filterNoFree-text search across the entity's searchable columns.
statusNoRecord state (default 'active'). 'all' also returns archived and deleted records.
per_pageNoRows per page (capped server-side, default 20).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

C2.6/5.0
Behavior2/5

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

The readOnlyHint annotation already tells the agent this is a safe read, so the description adds nothing on safety. It omits pagination behavior, the default of 20 rows per page, the default status filter of 'active', and what the response looks like. For a list tool with five parameters, that leaves real behavioral gaps.

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 single short sentence is front-loaded and free of filler. However, that brevity comes at the cost of useful content rather than being a tight expression of a complex idea.

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

Completeness2/5

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

With five parameters, pagination, a status default, and no output schema, the agent needs more than one sentence. Nothing is said about what is returned, how paging works, or how the default 'active' status affects results. The definition is too thin for the tool's complexity.

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 description coverage is 100%, so the schema already documents page, sort, filter, status, and per_page with defaults and caps. The description's "optional search" loosely maps to filter but adds no format or syntax detail. Baseline 3 is appropriate when the schema carries the parameter burden.

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 says "List clients," which is a verb plus resource, but it largely restates the tool name and title. The only additional information is "with optional search," which hints at the filter parameter without explaining scope. It does not differentiate this tool from siblings like in_get_client or the many other in_list_* tools.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no mention of prerequisites, and no pointer to an alternative. The agent must infer from the name alone that this is the bulk-retrieval counterpart to in_get_client. "Optional search" is the only hint about behavior, and it is not framed as guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.