Skip to main content
Glama
Zeekeey-jpeg

singleops-mcp-server

by Zeekeey-jpeg

Search invoices archived invoices (server-side table query: paging, sorting, filters)

singleops_read_search_invoices_archived_invoices
Read-onlyIdempotent

Search archived invoices with server-side paging, sorting, and column filters; returns filtered invoice records and table metadata for reporting or lookup.

Instructions

Search invoices archived invoices (server-side table query: paging, sorting, filters). (GET /invoices/archived_invoices_data_table) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], order[0][column], order[0][dir], start, length, search[value], search[regex], table_filter_start, table_filter_end, report_range_cache, colReorder[], settings_initialized. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings.

Input Schema

NameRequiredDescriptionDefault
drawNoQuery parameter "draw".
startNoQuery parameter "start".
lengthNoQuery parameter "length".
extra_queryNoAny additional query parameters.
colReorder[]NoQuery parameter "colReorder[]".
order[0][dir]NoQuery parameter "order[0][dir]".
search[regex]NoQuery parameter "search[regex]".
search[value]NoQuery parameter "search[value]".
response_formatNoOutput format: "markdown" (default, readable tables) or "json" (full raw response).
columns[0][data]NoQuery parameter "columns[0][data]".
columns[0][name]NoQuery parameter "columns[0][name]".
columns[1][data]NoQuery parameter "columns[1][data]".
columns[1][name]NoQuery parameter "columns[1][name]".
columns[2][data]NoQuery parameter "columns[2][data]".
columns[2][name]NoQuery parameter "columns[2][name]".
columns[3][data]NoQuery parameter "columns[3][data]".
columns[3][name]NoQuery parameter "columns[3][name]".
columns[4][data]NoQuery parameter "columns[4][data]".
columns[4][name]NoQuery parameter "columns[4][name]".
columns[5][data]NoQuery parameter "columns[5][data]".
columns[5][name]NoQuery parameter "columns[5][name]".
order[0][column]NoQuery parameter "order[0][column]".
table_filter_endNoQuery parameter "table_filter_end".
report_range_cacheNoQuery parameter "report_range_cache".
table_filter_startNoQuery parameter "table_filter_start".
settings_initializedNoQuery parameter "settings_initialized".
columns[0][orderable]NoQuery parameter "columns[0][orderable]".
columns[1][orderable]NoQuery parameter "columns[1][orderable]".
columns[2][orderable]NoQuery parameter "columns[2][orderable]".
columns[3][orderable]NoQuery parameter "columns[3][orderable]".
columns[4][orderable]NoQuery parameter "columns[4][orderable]".
columns[5][orderable]NoQuery parameter "columns[5][orderable]".
columns[0][searchable]NoQuery parameter "columns[0][searchable]".
columns[1][searchable]NoQuery parameter "columns[1][searchable]".
columns[2][searchable]NoQuery parameter "columns[2][searchable]".
columns[3][searchable]NoQuery parameter "columns[3][searchable]".
columns[4][searchable]NoQuery parameter "columns[4][searchable]".
columns[5][searchable]NoQuery parameter "columns[5][searchable]".
columns[0][search][regex]NoQuery parameter "columns[0][search][regex]".
columns[0][search][value]NoQuery parameter "columns[0][search][value]".
columns[1][search][regex]NoQuery parameter "columns[1][search][regex]".
columns[1][search][value]NoQuery parameter "columns[1][search][value]".
columns[2][search][regex]NoQuery parameter "columns[2][search][regex]".
columns[2][search][value]NoQuery parameter "columns[2][search][value]".
columns[3][search][regex]NoQuery parameter "columns[3][search][regex]".
columns[3][search][value]NoQuery parameter "columns[3][search][value]".
columns[4][search][regex]NoQuery parameter "columns[4][search][regex]".
columns[4][search][value]NoQuery parameter "columns[4][search][value]".
columns[5][search][regex]NoQuery parameter "columns[5][search][regex]".
columns[5][search][value]NoQuery parameter "columns[5][search][value]".

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive and openWorld, so safety is covered. The description adds two genuinely useful traits beyond that: the endpoint was inferred from observed web-app traffic ("confirm results") and the response carries DataTables envelope keys (draw, recordsTotal, recordsFiltered, data, meta, table_id, settings). It does not explain the semantics of those keys (e.g., that draw is an echo counter) or any limits on length/start.

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

Conciseness2/5

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

The first sentence is well-formed and front-loaded, but it is followed by a ~50-item comma-separated dump of parameter names that duplicates the input schema verbatim and consumes most of the text. That bulk earns nothing and buries the one genuinely novel sentence (the inferred-traffic caveat) in the middle.

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 50 optional, nested parameters and no output schema, the description should explain how to build a valid DataTables query (what draw/start/length do, sane defaults, which columns map to which invoice fields) and what the returned data rows look like. It instead lists key names and stops, leaving an agent unable to invoke this confidently beyond passing everything through.

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%, but each schema description is a tautology ("Query parameter \"draw\""), so the schema itself conveys little meaning. The description contributes only a coarse grouping (paging = draw/start/length, sorting = order, filters = search/columns) and then re-lists the raw parameter names without explaining any of them. Baseline 3 is appropriate given coverage, but no real semantic lift is added.

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 names a specific verb and a scoped resource ("Search invoices archived invoices") and gives the backing endpoint GET /invoices/archived_invoices_data_table, so an agent can tell this targets archived invoices rather than active ones. It does not explicitly contrast with the many similar siblings (singleops_read_search_invoices, singleops_read_search_invoices_2, singleops_read_list_invoices_invoice_totals), leaving disambiguation 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 Guidelines2/5

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

There is no statement of when to use this versus the sibling invoice-search tools, nor any prerequisite, exclusion, or typical scenario. The parenthetical about paging/sorting/filters describes capability, not usage guidance.

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