Skip to main content
Glama
freeagent-mcp-server

freeagent-mcp-server

by samaxbytez

freeagent_list_contacts

Read-only

List FreeAgent contacts with optional view filters, sorting, pagination, and updated-since filtering to find client, supplier, or project records.

Instructions

List contacts from FreeAgent with optional filtering and sorting

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

Input Schema

NameRequiredDescriptionDefault
pageNoPage number to fetch (default 1)
sortNoSort order, e.g. "name" or "-updated_at"
viewNoFilter contacts by view
per_pageNoResults per page (default 25, max 100). Check pagination.next_page in the response for more results.
updated_sinceNoOnly return contacts updated since this ISO 8601 date

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv3.0.0
    • removedInput schema / additionalProperties
      Removed value: -false
    • addedInput schema / properties / page
      Added value: +{
      +  "description": "Page number to fetch (default 1)",
      +  "maximum": 9007199254740991,
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • addedInput schema / properties / per_page
      Added value: +{
      +  "description": "Results per page (default 25, max 100). Check pagination.next_page in the response for more results.",
      +  "maximum": 100,
      +  "minimum": 1,
      +  "type": "integer"
      +}
  2. First observedv1.3.0

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is fully covered by structured data. The description adds nothing beyond that — it does not mention pagination behavior, the default result set size or view, result ordering, or what the response contains, all of which matter for a paginated list operation.

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?

A single front-loaded sentence with zero redundant wording; nothing needs trimming. It is efficient but borders on under-specification for a tool with five parameters and pagination, so it does not earn a 5.

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

Completeness3/5

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

For a simple read-only list tool with full schema coverage and complete annotations and no output schema, the description covers the essential purpose. It omits the pagination/default-result guidance an agent needs to page correctly, which is the main remaining gap.

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%, with page, per_page, sort, view (9-value enum), and updated_since all individually documented, so the schema carries the parameter burden. The description only restates that filtering and sorting exist and adds no syntax, default, or interaction details beyond the schema — the baseline 3 applies.

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 uses a clear verb+resource ("List contacts from FreeAgent") and names the two capabilities (filtering, sorting), which is enough to distinguish it from freeagent_get_contact or freeagent_create_contact by verb alone. It stops short of explicitly differentiating itself from its list-oriented siblings, but the purpose is unambiguous.

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: nothing says to prefer this over freeagent_get_contact when a single contact is known, or what to do when more pages exist. The phrase "optional filtering and sorting" signals flexibility but leaves the agent to infer the retrieval workflow entirely from the schema.

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

Deploy Server

Other Tools