Skip to main content
Glama

More AI - ChatGPT & Claude MCP (Fortnox)

Retrieve a list of customers

list_customers
Read-onlyIdempotent

Retrieve a list of customers. Fortnox API GET /3/customers (https://api.fortnox.se/apidocs). One page per call; use summarize.all_pages for totals over every page.

Input Schema

NameRequiredDescriptionDefault
glnNofilter by gln
cityNofilter by city
nameNofilter by name
pageNo
emailNofilter by email
limitNo
phoneNofilter by phone
expandNoOpen each record (rows)
fieldsNoOnly these columns
filterNoOne of: active, inactive
offsetNo
sortbyNoOne of: customernumber, name
zipcodeNofilter by zip code
sortorderNoOne of: ascending, descending
summarizeNoGroup and total on the server
glndeliveryNofilter by gln delivery
lastmodifiedNofilter by last modified
customernumberNofilter by customer number
organisationnumberNofilter by organisation number

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds genuinely new behavioral context: results are paginated one page per call and totals across pages require summarize.all_pages, which prevents a common under-fetching mistake.

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?

Three short sentences with zero filler: identity, endpoint provenance, and the pagination caveat. The most actionable constraint (one page per call) is front-loaded before the alternate-totals advice.

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?

An output schema exists and annotations cover the safety profile, so the description needn't explain return values or risk. For a 19-parameter tool with a nested summarize object, the description adequately covers the main behavioral pitfall (pagination), though it leaves filter/expand semantics entirely to the schema.

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 high (84%) across 19 parameters, so the schema itself documents the filter, sort, fields, and summarize properties in detail. The description only adds a note about summarize.all_pages and says nothing about the many filter or expand parameters, so it neither compensates for nor exceeds the schema baseline.

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?

States a specific verb and resource ("Retrieve a list of customers") and anchors it to the underlying Fortnox endpoint GET /3/customers, so an agent knows exactly which resource is being read. It does not explicitly contrast with the singular get_customer sibling, leaving that inference to the name alone.

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?

"One page per call; use summarize.all_pages for totals over every page" gives concrete operational guidance on when the plain call is insufficient and what to use instead. It stops short of stating when to prefer list_customers over get_customer or the summarization/aggregation siblings.

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