Skip to main content
Glama
vvitovec

ABRA Flexi MCP Server

by vvitovec

ABRA Flexi MCP Server

Local stdio MCP server for ABRA Flexi / FlexiBee accounting workflows. It is intended for agent clients such as Codex, Claude Desktop, or any MCP-compatible local runtime that can launch a Node process.

This is the standalone MCP project. The separate remote ChatGPT App project is here: vvitovec/abra-flexi-chatgpt-app.

What It Does

  • connects to ABRA Flexi over the official REST API

  • reads companies, evidence metadata, records, partners, products, balances, overdue items, and accounting summaries

  • prepares accountant-focused document drafts

  • supports guarded write flows with validation, dry-run style checks, confirmations, and an audit log

  • keeps Flexi credentials out of prompts and MCP tool arguments

Related MCP server: AbraFlexi MCP Server

Safety Model

The server is configured through flexi.config.json profiles. Each profile controls:

  • Flexi base URL and company slug

  • test or production mode

  • default response format

  • which env vars contain credentials

  • read, dry-run, and write evidence allowlists

  • whether writes require confirmation

Writes are not free-form passthrough calls. Tool handlers build known payloads, validate them, enforce evidence permissions, and record request audit files under .flexi-harness/logs.

Setup

npm install
cp .env.example .env

Edit .env with a dedicated ABRA Flexi REST API user:

FLEXI_PROD_USERNAME=api-user
FLEXI_PROD_PASSWORD=replace-me

Then edit flexi.config.json:

{
  "defaultProfile": "prod",
  "profiles": {
    "prod": {
      "baseUrl": "https://example.flexibee.eu",
      "company": "example_company_s_r_o_",
      "usernameEnv": "FLEXI_PROD_USERNAME",
      "passwordEnv": "FLEXI_PROD_PASSWORD"
    }
  }
}

Run Locally

npm run dev

For a production-style build:

npm run build
npm start

Codex MCP Config

After building, add a server entry like this to your Codex config:

[mcp_servers.abra_flexi]
command = "node"
args = ["/absolute/path/to/abra-flexi-mcp-server/dist/index.js"]
enabled = true

The server loads .env and flexi.config.json from the project directory.

Main Tool Areas

  • company and evidence discovery

  • flexible read-only evidence queries

  • partner and product search

  • invoice, payable, receivable, bank, cash, and internal document workflows

  • overdue and saldo summaries

  • accountant-first draft creation and guarded posting

  • latest-error explanation from the local audit log

Verification

npm run check
npm test
npm run build

The tests use mocked HTTP servers and fixture-style responses. They do not need real ABRA Flexi credentials.

Available Tools

29 tools
create_document_draftCreate document draftC

Create a draft accounting document and return a short confirmation payload.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYes
noteNo
itemsNo
companyNo
profileNo
currencyNo
due_dateNo
tax_dateNo
issue_dateNo
partner_idYes
document_type_idNo
payment_method_idNo

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only states that the tool creates a draft and returns a confirmation, but omits important details such as side effects (e.g., does it require authentication? Are there rate limits? What happens on duplicate?), which are critical for safe invocation.

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 description is a single, concise sentence that front-loads the action. However, it is too brief for a tool with 12 parameters and no other documentation, sacrificing necessary detail for brevity. A slightly expanded description would be more valuable.

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

Completeness1/5

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

Given the tool's complexity (12 parameters, no schema descriptions, no annotations, no output schema), the description is grossly incomplete. It fails to explain what the draft document consists of, how to use parameters, or what the confirmation payload contains, making it difficult for an agent to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description should compensate by explaining parameter meanings. The description does not mention any of the 12 parameters (e.g., 'kind' as an enum, 'partner_id' as required, or 'items' as an array of line items), leaving the agent to rely solely on parameter names, which is insufficient.

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

Purpose5/5

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

The description clearly states the verb 'Create' and the resource 'draft accounting document', distinguishing it from sibling tools like 'post_document' (which finalizes) and 'update_document_header' (which modifies an existing document). The mention of returning a short confirmation payload further specifies the tool's output.

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?

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., partner_id must exist), nor does it explain that this creates a draft (not a final document) or that other tools should be used for posting or updating.

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

flexi_check_connectionCheck Flexi connectionA

Verify auth and basic company access. Use before the first real workflow.

ParametersJSON Schema
NameRequiredDescriptionDefault
companyNo
profileNo

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description must disclose behavioral traits. It indicates a read-only verification action but does not mention potential errors, rate limits, or what happens on failure. Basic transparency is achieved, but gaps remain.

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?

The description is exceptionally concise, consisting of one targeted sentence plus a usage tip. Every word contributes meaning, and the key information is front-loaded.

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?

Given the tool's simplicity (no output schema, few parameters), the description covers the essential purpose and usage context. However, it omits details about expected output or failure scenarios, which would be helpful for completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema defines two parameters (`company`, `profile`) with no descriptions (0% coverage). The tool description adds no explanation of their meaning, format, or purpose, leaving the agent to infer. This is a significant deficiency.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Verify auth and basic company access.' It uses a specific verb ('Verify') and resource ('auth and basic company access'), and distinguishes its role from siblings by positioning it as a pre-workflow check.

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?

Explicitly advises 'Use before the first real workflow,' providing clear context on when to invoke this tool. While it does not explicitly list alternatives or exclusions, the guidance is sufficient given the tool's simple nature.

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

flexi_describe_evidenceDescribe evidenceC

Show compact schema metadata for one evidence. Detail lists are opt-in.

ParametersJSON Schema
NameRequiredDescriptionDefault
companyNo
profileNo
evidenceYes
field_limitNo
include_fieldsNo
include_relationsNo

TDQS

C2.6/5.0
Behavior2/5

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

No annotations exist, so the description must disclose behavioral traits. It only states 'show compact schema metadata' and 'detail lists are opt-in', implying read-only but not explicitly stating side effects, permissions, or rate limits. Insufficient for a 6-parameter tool.

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 description is very short (one sentence) and front-loaded. However, it could be more efficient by adding essential context without increasing length significantly. Currently it saves space but at the cost of completeness.

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?

Given 6 parameters, no output schema, and no annotations, the description is too sparse. It fails to explain the required company/profile context, the field_limit parameter, or return format. Adequate completeness would require more details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description must explain parameters. It only hints at include_fields and include_relations via 'detail lists are opt-in', but omits company, profile, evidence, and field_limit. Adding meaning beyond schema is minimal.

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 clearly states the tool shows compact schema metadata for a single evidence, with opt-in detail lists. This distinguishes it from sibling tools like flexi_list_evidence (multiple) and flexi_get_record_detail (likely record-focused). However, 'schema metadata' is slightly vague.

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?

No guidance on when to use this tool vs alternatives (e.g., flexi_get_record_detail). The description mentions opt-in details but does not explain prerequisites or context for use. Lacks explicit when-to-use or when-not-to-use.

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

flexi_execute_writeExecute writeC

Execute a prepared write and return a short confirmation payload.

ParametersJSON Schema
NameRequiredDescriptionDefault
companyNo
payloadYes
profileNo
evidenceYes
payload_formatNo
confirmation_idYes
idempotency_keyNo

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description only reveals that the tool executes a write operation and returns a confirmation. It lacks information about mutability, side effects, permissions, or failure modes.

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 description is a single concise sentence but lacks structure; it does not list key aspects like parameters, return value, or usage context.

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

Completeness1/5

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

For a tool with 7 parameters and no output schema or annotations, the description is severely incomplete. It does not elaborate on the 'prepared write' concept or confirmation payload details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 7 parameters with 0% description coverage, and the tool description does not explain any parameter's purpose or syntax, leaving agents unaware of how to populate them.

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

Purpose5/5

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

The description clearly states the action ('execute a prepared write') and the outcome ('return a short confirmation payload'), distinguishing it from sibling tools like flexi_prepare_write.

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?

No guidance on when to use this tool versus alternatives. The description does not mention prerequisites or conditions for execution.

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

flexi_explain_last_errorExplain last errorB

Summarize the latest failed request from the audit log.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only states it 'summarizes' but does not specify if it is a read operation, any side effects, or performance implications. This is insufficient for an agent to understand the tool's behavior fully.

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 description is a single concise sentence with no redundancy. While very brief, it earns its place by stating the core purpose. It could be slightly more structured but is adequate.

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?

Given the tool has no parameters and no output schema, the description is minimally complete. It explains what it does but lacks details about the output format or any prerequisites. For a simple tool, it is acceptable but not comprehensive.

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 has zero parameters, and the schema coverage is 100% trivially. The description adds no parameter-level detail because none is needed. Baseline of 4 is appropriate as the description does not need to compensate for missing parameter info.

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

Purpose5/5

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

The description clearly states the verb 'Summarize' and the resource 'latest failed request from the audit log.' It is specific and distinguishes itself from sibling tools, none of which offer this exact functionality.

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?

No guidance is provided on when to use this tool versus alternatives. The description implies usage after a failed request but does not state when not to use it or suggest other tools for different contexts.

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

flexi_get_record_detailGet record detailC

Fetch one record detail. Relations and child collections are opt-in.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
companyNo
profileNo
evidenceYes
include_relationsNo
include_collectionsNo

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden. It discloses that relations and collections are opt-in, but does not mention authentication, rate limits, error scenarios (e.g., record not found), or any side effects. The behavioral insight is minimal.

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 description is a single sentence, which is concise and front-loaded. However, given the complexity of 6 parameters, it is overly terse. Every word earns its place, but more sentences could improve completeness without sacrificing conciseness.

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 6 parameters, no output schema, and no annotations, the description is incomplete. It does not explain the return value, the meaning of 'evidence', or how to use optional parameters. The description leaves significant gaps for the AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It only explains include_relations and include_collections (boolean defaults). The required parameters 'id' and 'evidence' are not described at all, and optional parameters 'company' and 'profile' are also unexplained. The description adds very little meaning beyond the schema.

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 clearly states the tool fetches one record detail, but it does not explicitly distinguish from siblings like flexi_get_record_summary or flexi_search_records. The verb 'Fetch' and resource 'record detail' are specific, but the description lacks differentiation from similar 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?

The description only mentions that relations and child collections are opt-in, implying optional inclusion, but it provides no explicit guidance on when to use this tool versus alternatives like flexi_get_record_summary or get_document_detail. There is no mention of prerequisites or when not to use it.

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

flexi_get_record_summaryGet record summaryC

Fetch one record with a small business summary.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
companyNo
profileNo
evidenceYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only says 'fetch' (implying read-only) but does not disclose any behavioral traits, such as required permissions, rate limits, or side effects. The lack of annotation combined with minimal description leaves the agent uncertain.

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 description is very short and front-loaded, but it lacks sufficient detail. While concise, it sacrifices information that is crucial for correct invocation.

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

Completeness1/5

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

Given the lack of annotations, no output schema, and 4 undocumented parameters, the description is severely incomplete. The agent has insufficient information to use this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning no parameter descriptions in the schema. The tool description does not explain any of the four parameters (id, company, profile, evidence). The agent cannot infer what values are appropriate or why they are needed.

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 clearly states the action (fetch) and the resource (one record) with a specific qualifier (small business summary). It distinguishes from sibling flexi_get_record_detail, implying this returns a summary.

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?

No guidance on when to use this tool versus alternatives. The description does not mention any prerequisites, context, or exclusions. Among many siblings, there is no differentiation guidance.

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

flexi_list_evidenceList evidenceB

Browse evidence catalog with small summaries. Use before search or writes.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNo
offsetNo
companyNo
profileNo
import_modeNo

TDQS

B3/5.0
Behavior2/5

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

With no annotations provided, the description bears full responsibility for behavioral disclosure. It only mentions 'small summaries' but fails to explain pagination, response format, or read-only nature. The schema includes limit/offset but these are not referenced.

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 description is very short (one sentence), which is concise, but it sacrifices necessary detail for 6 parameters. It front-loads the purpose but offers no structure for understanding usage.

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

Completeness1/5

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

Given the tool has 6 parameters, no output schema, and no annotations, the description is severely incomplete. It does not explain parameter usage, return values, or behavior under different inputs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage, and the tool description provides no additional meaning for any of the 6 parameters. Parameters like 'company', 'profile', 'import_mode' remain entirely unexplained.

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

Purpose5/5

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

The description clearly states the tool lists evidence with small summaries, using the verb 'browse' and specifying the resource 'evidence catalog'. It distinguishes from sibling tools like flexi_search_records by indicating a browsing action rather than a search.

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?

The description says 'Use before search or writes', providing clear context for when to invoke this tool. It implies it is a preparatory step, but does not explicitly state when not to use it or list alternatives.

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

flexi_list_profilesList Flexi profilesB

List configured profiles and their write mode.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the burden. It only states what the tool does but does not disclose any behavioral traits (e.g., read-only, side effects, permissions).

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?

The description is a single, front-loaded sentence with no wasted words. It efficiently communicates the tool's purpose.

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?

Given no output schema, the description is minimal. It lists profiles and write mode, but lacks details on return format or behavior. It is adequate but not comprehensive.

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?

With zero parameters, the baseline is 4. The description adds value by mentioning 'write mode', which is not in the empty schema, providing meaningful context.

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 clearly states the tool lists configured profiles and their write mode, which matches the name. It is specific and distinguishes from other list tools like flexi_list_evidence.

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?

No guidance on when to use this tool compared to alternatives, which are numerous. The description lacks any context for proper selection.

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

flexi_prepare_writePrepare writeC

Create a short-lived confirmation token for a validated write.

ParametersJSON Schema
NameRequiredDescriptionDefault
companyNo
payloadYes
profileNo
evidenceYes
payload_formatNo
idempotency_keyNo
override_validationNo
validation_request_idNo

TDQS

C2.5/5.0
Behavior2/5

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

The description mentions 'short-lived' but does not specify the token's lifetime, side effects, or idempotency. Without annotations, the agent cannot assess if the tool mutates state or has destructive effects, missing critical behavioral disclosures for a creation action.

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 description is a single sentence, which is concise but severely under-specified for a tool with 8 parameters. It lacks structure such as parameter explanations or usage notes, and while front-loaded, it does not provide enough value per sentence to compensate for its brevity.

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

Completeness1/5

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

Given the high parameter count (8), lack of output schema, and absent annotations, the description is wholly insufficient for safe and correct usage. It does not explain how to integrate with sibling tools like flexi_execute_write or the role of the confirmation token in a workflow.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 8 parameters with zero descriptions, and the tool description provides no parameter information. The agent cannot infer the meaning of fields like 'evidence', 'payload', or 'payload_format', making correct invocation nearly impossible without external knowledge.

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

Purpose5/5

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

The description clearly states the tool creates a short-lived confirmation token for a validated write, using a specific verb ('Create') and resource ('confirmation token'). It distinguishes from siblings like flexi_execute_write by implying a preceding validation step, making the purpose 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?

The description provides no guidance on when to use this tool versus alternatives like flexi_execute_write or flexi_validate_import. It does not specify prerequisites (e.g., prior validation) or what to do after obtaining the token, leaving the agent uncertain about workflow integration.

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

flexi_search_recordsSearch recordsD

Search one evidence and return short record summaries. Query or filter is required.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

D1.3/5.0
Behavior1/5

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

The description claims that 'Query or filter is required', but the input schema has zero parameters, creating a direct contradiction. No annotations are provided to clarify behavior.

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?

While short, the description omits critical details and contradicts the schema. Conciseness is not beneficial when it sacrifices completeness and accuracy.

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

Completeness1/5

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

With no output schema and no annotations, the description fails to explain how to invoke the tool or interpret results. It is incomplete for a tool with zero parameters but claimed required inputs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no parameters (100% coverage), yet the description asserts required query/filter. This misleads the agent; no meaningful parameter information is added.

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

Purpose2/5

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

The description states 'Search one evidence and return short record summaries', but the term 'evidence' is vague and not defined. It does not differentiate from sibling tools like search_documents or search_partners. The purpose is unclear.

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

Usage Guidelines1/5

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

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites or exclusions.

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

flexi_validate_importValidate importB

Run a dry-run import and return only compact validation feedback.

ParametersJSON Schema
NameRequiredDescriptionDefault
companyNo
payloadYes
profileNo
evidenceYes
payload_formatNo
idempotency_keyNo

TDQS

B3/5.0
Behavior2/5

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

With no annotations, the description carries full burden. 'Dry-run' suggests no side effects, but the tool does not confirm if it is read-only, what permissions are needed, or what 'compact validation feedback' entails. Behavioral traits like rate limits or data deletion are not disclosed.

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 description is a single, efficient sentence with no wasted words. However, it lacks structure (e.g., no bullet points or separate behavior/usage sections), which would improve scannability for a 6-parameter tool.

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?

The tool has 6 parameters with no schema descriptions, no output schema, and no nested objects. The description does not explain the return value format beyond 'compact validation feedback', nor does it clarify parameter roles or constraints. Incomplete for practical use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the tool description adds no meaning to any of the 6 parameters (e.g., 'company', 'payload', 'profile'). The agent must guess parameter semantics from names alone.

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

Purpose5/5

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

The description clearly states the tool performs a dry-run import and returns compact validation feedback. The verb 'validate' and resource 'import' are specific, and it distinguishes from 'validate_document' (a sibling) which likely validates documents, not imports.

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

Usage Guidelines3/5

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

The description implies usage for pre-import validation via 'dry-run', but it does not explicitly state when to use this tool versus alternatives like 'flexi_prepare_write' or when not to use it. No exclusions or alternatives are named.

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

get_accounting_overviewGet accounting overviewC

Return a compact dashboard for unpaid receivables and payables.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNo
companyNo
profileNo
include_overdueNo

TDQS

C2.9/5.0
Behavior2/5

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

No annotations exist, so the description must carry the full burden. It only mentions returning a dashboard but does not disclose that the operation is likely read-only, nor does it explain aggregation behavior, date handling, or any side effects. Minimal behavioral context.

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 description is a single efficient sentence that front-loads the core purpose. However, it is overly concise, omitting critical details that could be added without significant bloat.

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

Completeness1/5

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

Given the absence of output schema and 0% schema parameter coverage, the description fails to explain what the dashboard contains, how parameters filter data, or the return format. The tool is incomplete for an AI agent to use correctly without additional context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description provides no explanation of the four parameters (date, company, profile, include_overdue). The agent gets no guidance on format, meaning, or default behavior beyond the parameter names.

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

Purpose5/5

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

The description clearly states the verb 'return' and the resource 'compact dashboard for unpaid receivables and payables'. It distinguishes itself from sibling tools like search_unpaid_documents or get_partner_balance_summary by offering a high-level overview.

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

Usage Guidelines3/5

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

The description implies usage for a quick overview of unpaid finances, but it does not explicitly state when to use this tool versus alternatives like search_overdue_items or get_partner_balance_summary. No exclusions or prerequisites are provided.

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

get_document_detailGet document detailA

Fetch one accounting document detail. Extra sections are opt-in.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
kindYes
companyNo
profileNo
include_itemsNo
include_linksNo
include_paymentsNo
include_accountingNo

TDQS

A3.5/5.0
Behavior3/5

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

No annotations provided, so the description must disclose behavior. It mentions that extra sections are opt-in, hinting at optional inclusion of items, links, payments, accounting. However, it does not describe return format, error conditions, or auth needs. The behavior is straightforward for a fetch operation.

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?

Two sentences with no unnecessary words. Very concise and front-loaded.

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 8 parameters and no output schema, the description is too minimal. It does not explain the return value, how detail differs from summary, or how the opt-in sections affect the response. The description leaves significant gaps for an agent to infer.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must add meaning. It only explains the opt-in booleans via 'Extra sections are opt-in'. The required parameters id and kind, as well as company and profile, are left unexplained. The kind enum values are not described, leaving the agent unsure of their meaning.

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

Purpose5/5

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

The description clearly states 'Fetch one accounting document detail', specifying the verb and resource. It distinguishes from siblings like get_document_summary and search_documents by focusing on a single document's detail.

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

Usage Guidelines3/5

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

The description implies usage for retrieving a single document's detail, but provides no explicit guidance on when to use this tool versus alternatives (e.g., get_document_summary) or when not to use it.

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

get_document_summaryGet document summaryC

Fetch one accounting document with a small business summary.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
kindYes
companyNo
profileNo

TDQS

C2.6/5.0
Behavior2/5

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

No annotations provided, so description must carry full burden. It indicates a read-only fetch operation but does not disclose limitations, authentication needs, or potential side effects. Minimal behavioral context added.

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 description is a single concise sentence of 10 words, but it sacrifices completeness for brevity. It could be more informative without being verbose.

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

Completeness1/5

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

Given no annotations, no output schema, and 0% schema description coverage, the description is severely incomplete. It does not clarify return values, parameter purposes, or usage context, leaving the agent underinformed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the tool description provides no additional meaning for the four parameters. It does not explain 'id', 'kind', 'company', or 'profile' beyond their names and types, failing to compensate for the schema's lack of descriptions.

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

Purpose5/5

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

The description clearly states it fetches one accounting document with a small business summary, using a specific verb and resource. It distinguishes from siblings like get_document_detail (full detail) and flexi_get_record_summary (generic).

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?

No guidance on when to use this tool versus alternatives. No mention of prerequisites, exclusions, or when not to use it. The description only implies usage for fetching a summary.

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

get_partner_balance_summaryGet partner balance summaryC

Return compact saldo totals for one partner.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNo
companyNo
profileNo
partner_idYes

TDQS

C2.3/5.0
Behavior2/5

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

No annotations provided. Description only states it returns data, with no mention of side effects, permissions, rate limits, or response format. Insufficient behavioral context for a read operation.

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?

Extremely concise (6 words), but at the cost of necessary detail. Under-specification makes it less useful, not more.

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

Completeness1/5

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

Given 4 parameters, no annotations, and no output schema, the description is severely incomplete. It does not define 'compact saldo totals', explain optional parameters, or describe return values.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%. Description does not explain any parameter, not even the required partner_id. No value added over the schema structure.

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?

Description clearly states it returns 'compact saldo totals' for a single partner, distinguishing from get_partner_detail and get_partner_summary. However, it doesn't specify what 'compact saldo totals' includes (e.g., outstanding balance, due amounts).

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?

No guidance on when to use this tool versus alternatives like get_partner_detail or search_partners. The description only implies it's for a single partner, but no explicit context or exclusions.

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

get_partner_detailGet partner detailC

Fetch one partner detail. Bank accounts and contacts are opt-in.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
companyNo
profileNo
include_contactsNo
include_bank_accountsNo

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description must carry full burden. It only mentions opt-in for bank accounts and contacts, but does not disclose read-only nature, error handling, or permission requirements.

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?

Extremely concise: two short sentences with no filler. Every word adds value.

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?

Despite having 5 parameters and no output schema, the description is too sparse. It does not explain return format, required fields beyond id, or usage of company/profile parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%. The description hints at include_contacts and include_bank_accounts being optional, but does not explain id, company, or profile parameters. Partial value 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 clearly states verb 'fetch', resource 'partner detail', and scope 'one partner', but does not differentiate from sibling tools like get_partner_summary or get_partner_balance_summary.

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?

No guidance on when to use this tool versus alternatives such as search_partners or get_partner_summary. The description lacks context for selection.

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

get_partner_summaryGet partner summaryC

Fetch one partner with a small business summary.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
companyNo
profileNo

TDQS

C2/5.0
Behavior2/5

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

The description offers minimal behavioral insight beyond the basic action. No annotations exist, so the description bears full burden; it omits safety, authentication, error handling, and return format details.

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?

While the description is a single sentence, it is underspecified rather than concise. It lacks necessary detail and does not earn its place by providing actionable information.

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

Completeness1/5

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

Given the tool has 3 parameters, no output schema, and no annotations, the description is severely inadequate. It fails to explain what the tool returns, how to filter via parameters, or any edge cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not mention any parameters or their roles. The parameters 'id', 'company', and 'profile' have no explanations, leaving an agent without guidance on how to use them.

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 states 'Fetch one partner with a small business summary', which gives a general verb and resource. However, 'small business summary' is vague and does not differentiate from sibling tools like 'get_partner_detail' or 'get_partner_balance_summary'.

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?

No usage guidelines are provided. The description does not indicate when to use this tool versus alternatives such as 'get_partner_detail' for full details or 'get_partner_balance_summary' for financial data.

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

get_product_summaryGet product summaryC

Fetch one product from the price list.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
companyNo
profileNo

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavior. It only states 'fetch', implying a read operation, but omits details on side effects, error states, authentication, or rate limits.

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?

A single concise sentence that is front-loaded and contains no extraneous information.

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?

Given no annotations, no output schema, and three undocumented parameters, the description is insufficient for an agent to correctly select and invoke the tool. It fails to provide necessary parameter and behavioral context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description should add meaning to parameters, but it does not mention id (required), company, or profile. No guidance on their roles or formats.

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

Purpose5/5

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

The description specifies the action 'fetch' and resource 'one product from the price list', which is clear and distinguishes it from siblings like get_partner_summary or get_document_summary.

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?

No guidance on when to use this tool versus alternatives such as search_products or get_document_summary. The description lacks context for appropriate invocation.

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

post_documentPost documentC

Finalize a supported accounting document by locking it.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
kindYes
companyNo
profileNo

TDQS

C2.7/5.0
Behavior3/5

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

The description mentions 'locking it', implying the document becomes immutable, which is a behavioral trait. However, it does not disclose side effects, validation checks, or permission requirements. Annotations are absent, so the description carries the full burden, but it only partially fulfills it.

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?

One sentence, very concise and to the point. However, it could include brief parameter descriptions without becoming verbose.

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?

Given no output schema, 4 undocumented parameters, and extensive sibling tools, the description is incomplete. It does not explain what the tool returns or any prerequisites for posting a document.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 4 parameters with 0% description coverage, yet the tool description adds no information about parameters (e.g., what 'kind', 'id', 'company', 'profile' mean). The description fails to compensate for the schema gap.

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 clearly states the tool finalizes a supported accounting document by locking it, which is a specific verb-resource pair. It does not explicitly differentiate from siblings like 'validate_document' or 'create_document_draft', but the term 'post' is domain-specific enough.

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?

No guidance on when to use this tool versus alternatives (e.g., validate_document, update_document_header). No prerequisites or exclusions mentioned, leaving the agent to infer usage from the description alone.

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

search_documentsSearch documentsC

Search accounting documents by business filters and return short summaries.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYes
limitNo
queryNo
due_toNo
offsetNo
statusNo
companyNo
date_toNo
profileNo
due_fromNo
date_fromNo
partner_idNo
unpaid_onlyNo
overdue_onlyNo

TDQS

C2.4/5.0
Behavior2/5

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

The description mentions it 'returns short summaries', but does not disclose whether the tool is read-only, requires authentication, has rate limits, or any side effects. With no annotations provided, the description carries the full burden for behavioral disclosure and falls short.

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 description is very concise (one sentence) and front-loaded with purpose, but it omits critical information. Conciseness is not valuable when it sacrifices necessary details.

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

Completeness1/5

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

Given the high parameter count (14), no output schema, and no annotations, the description is severely incomplete. It does not explain the required 'kind' parameter, allowed filters, pagination, or output format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 14 parameters and 0% schema description coverage, the description offers no parameter-level details. The phrase 'by business filters' is too vague to help an agent understand which parameters are available or their purpose.

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 clearly states the verb 'Search', the resource 'accounting documents', and the output 'short summaries'. However, it does not differentiate from sibling tools like 'search_overdue_items' or 'search_unpaid_documents', which similarly search for specific document types.

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?

No guidance is provided on when to use this tool versus alternatives. There are no prerequisites, exclusions, or contextual hints about which business scenario this tool is best suited for.

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

search_overdue_itemsSearch overdue itemsC

List overdue receivables or payables with compact report summaries.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNo
limitNo
scopeNoall
offsetNo
companyNo
profileNo
partner_idNo

TDQS

C2.4/5.0
Behavior2/5

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

No annotations provided, and the description does not disclose any behavioral traits such as default sorting, pagination behavior, or whether the tool is read-only. Minimal transparency beyond the basic function.

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?

Single sentence is concise but lacks structure. No bullet points or logical flow. Could be improved while maintaining brevity.

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

Completeness1/5

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

Description does not specify the return format, pagination limits, or how parameters interact. With 7 parameters, high schema coverage needed, but none provided. The tool cannot be confidently used without external documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description adds no explanation for any of the 7 parameters. The agent must infer parameter meanings solely from names, which is insufficient for complex parameters like 'date' and 'profile'.

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?

Description clearly states the action (list), resource (overdue receivables or payables), and output style (compact report summaries). It distinguishes from sibling tools that target non-overdue items or different entities.

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?

No guidance on when to use or avoid this tool. While the scope is implied by 'overdue items', there is no comparison to sibling tools or prerequisites mentioned.

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

search_partnersSearch partnersC

Find customers or suppliers and return short partner summaries.

ParametersJSON Schema
NameRequiredDescriptionDefault
roleNoany
limitNo
queryYes
offsetNo
companyNo
profileNo

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It only mentions returning short summaries, omitting pagination, search across multiple fields, or that results are a list. Inadequate for safe usage.

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?

One concise sentence with no unnecessary words. Efficient but at the cost of completeness.

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?

Given 6 parameters, no output schema, and no annotations, the description is vastly incomplete. Fails to cover pagination, filtering, or result structure expected by the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must explain parameters. It does not describe any of the 6 parameters beyond the implicit query. Missing critical semantics for role, limit, offset, company, profile.

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

Purpose5/5

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

The description clearly states the tool finds customers or suppliers (partners) and returns short summaries, distinguishing it from sibling tools like search_documents or get_partner_detail.

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?

No guidance on when to use this tool versus alternatives (e.g., get_partner_detail for full details, or filtering by role). The description lacks context for selecting the right tool.

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

search_productsSearch productsC

Find products from the price list and return short summaries.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYes
offsetNo
companyNo
profileNo
active_onlyNo

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only mentions returning 'short summaries'. It does not disclose behaviors like pagination (limit/offset), filtering (active_only, company, profile), or error handling. Minimal behavioral insight.

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?

Single sentence, no wasted words, front-loaded with verb and resource. Efficient and concise.

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?

Given the tool has 6 parameters, no annotations, and no output schema, the description is woefully incomplete. It does not explain how to use the parameters effectively or what 'short summaries' contain, making it insufficient for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, and the description adds no parameter details beyond field names. 'query', 'limit', 'offset', 'company', 'profile', and 'active_only' are not explained, leaving their meaning ambiguous. The description fails to compensate for the lack of schema descriptions.

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?

Description clearly states the tool finds products from the price list and returns short summaries. It distinguishes from sibling tools focused on other entities (e.g., search_documents). However, it could be more specific about the scope (e.g., product catalog vs. inventory).

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?

No guidance on when to use this tool vs alternatives like get_product_summary or flexi_search_records. Siblings include many search tools but no criteria given for selection.

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

search_reference_valuesSearch reference valuesC

Search compact lookup values such as document types, payment methods, or centers.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYes
limitNo
queryNo
offsetNo
companyNo
profileNo

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only states 'search', which is already inferred from the name. It does not mention that the tool is read-only, requires authentication, or any potential side effects. The pagination or return format is not addressed.

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 description is a single sentence, making it concise, but it sacrifices necessary detail. It could be expanded to include parameter hints or usage context without becoming overly long.

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?

Given 6 parameters, no output schema, and no annotations, the description is insufficient. It does not explain the response format, pagination behavior, or how to effectively filter results, leaving significant gaps for an agent to correctly invoke the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, yet the description only hints at the 'kind' parameter through examples. It does not explain other parameters like `query`, `limit`, `offset`, `company`, or `profile`, leaving the agent to infer their purpose from names alone.

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 clearly states the tool searches 'compact lookup values' and gives concrete examples (document types, payment methods, centers). This distinguishes it from sibling tools that search documents, partners, etc., which are full records rather than reference data.

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

Usage Guidelines3/5

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

The description implies usage for small reference data via the phrase 'compact lookup values', but does not explicitly state when to use this tool versus alternatives like `search_documents` or `search_partners`. No exclusions or when-not-to-use guidance is provided.

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

search_unpaid_documentsSearch unpaid documentsC

Find unpaid or overdue receivables and payables with compact summaries.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYes
limitNo
offsetNo
companyNo
profileNo
partner_idNo
overdue_onlyNo

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description carries the full burden. It fails to disclose behavioral traits like pagination (limit/offset), required permissions, or what 'compact summaries' entails. There are no contradictions.

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?

Single sentence, 11 words, front-loaded with the core action. No filler, but it is too brief to cover the tool's complexity.

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?

For a tool with 7 parameters, no output schema, and no annotations, the description is insufficient. It omits pagination, filtering behavior, output format, and how to interpret 'compact summaries'.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description adds no parameter documentation. While the schema itself defines parameters like kind (enum) and limit, the description does not clarify their usage or constraints beyond schema defaults.

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 clearly states the tool finds unpaid or overdue receivables and payables with compact summaries, using a specific verb and resource. It distinguishes from sibling tools like search_documents, but overlaps with search_overdue_items, making differentiation slightly unclear.

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?

No guidance on when to use this tool over alternatives such as search_overdue_items or search_documents. The description does not mention prerequisites, filters, or context where this tool is preferred.

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

update_document_headerUpdate document headerC

Update common header fields on one accounting document.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
kindYes
changesYes
companyNo
profileNo

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are present, so the description carries full burden for behavioral disclosure. It only implies mutation ('Update') but does not reveal idempotency, required permissions, effects on related data, or validation behavior. This leaves significant uncertainty for safe invocation.

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 description is a single concise sentence that is front-loaded. It is not verbose, but it may be overly brief given the tool's complexity. Additional structured information (e.g., bullet points) would improve readability without adding length.

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?

Despite the tool having 5 parameters, a nested object, and no output schema or annotations, the description provides minimal contextual information. It does not explain how 'changes' is used, what 'common header fields' entail, or what the return value indicates. This is insufficient for a mutation tool of this complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, yet the description adds almost no parameter context. It vaguely mentions 'common header fields' but does not enumerate allowed fields or explain the 'kind' enum, 'changes' object format, or purpose of 'id' and 'company'/'profile'. The flexible 'changes' parameter is particularly underdocumented.

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 specific verb ('Update') and resource ('common header fields on one accounting document'), clearly stating what the tool does. However, it does not differentiate from sibling tools like 'update_document_items' or 'post_document', missing an opportunity to distinguish its scope.

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?

No guidance is provided on when to use this tool versus alternatives. The description does not mention prerequisites, conditions, or when not to use it. With many sibling tools, explicit usage guidelines are lacking.

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

update_document_itemsUpdate document itemsC

Replace all items on one accounting document.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
kindYes
itemsYes
companyNo
profileNo

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations, the description carries full burden. It states 'Replace all items' implying destructive mutation, but gives no details on side effects (e.g., what happens to existing items not in the new list), authentication needs, or rate limits. The behavioral disclosure is minimal.

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 description is concise (single sentence) but at the cost of essential details. It earns points for brevity but loses because the content is insufficient for effective tool selection and use.

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

Completeness1/5

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

Given 5 parameters, no output schema, no annotations, and no param descriptions, the description is drastically incomplete. It fails to explain key aspects like how the kind parameter affects behavior, what the items array should contain, or the role of company and profile.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate. It only mentions 'items' generically, with no explanation of the kind enum, id format, company/profile purpose, or the structure of individual items. Parameter semantics are completely absent.

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 clearly states the action ('Replace') and resource ('all items on one accounting document'). It conveys the core purpose, but does not distinguish from sibling tools like update_document_header or create_document_draft, though the resource specificity helps.

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 guidance on when to use this tool versus alternatives (e.g., create_document_draft or update_document_header). No mention of prerequisites or situations where this tool is preferred or inappropriate.

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

validate_documentValidate documentB

Dry-run validate the latest stored draft snapshot for one document.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNo
kindYes
companyNo
profileNo

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavior. It states it is a 'dry-run' (non-destructive) and uses the 'latest stored draft snapshot,' but fails to mention what happens if no draft exists, how validation errors are returned, or any permissions required.

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?

A single sentence is concise but overly terse, omitting critical details. It front-loads the purpose but does not earn its place fully as it leaves important questions unanswered.

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?

Given 4 parameters, no output schema, and no annotations, the description is incomplete. It does not explain the validation outcome, prerequisites, or parameter dependencies, leaving the agent guessing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must add parameter meaning. The description only mentions 'one document' and 'latest draft snapshot' but does not explain any of the four parameters (id, kind, company, profile) or their roles.

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

Purpose5/5

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

Description clearly states it is a dry-run validation of the latest stored draft snapshot for one document. It uses specific verb 'validate' and resource 'draft snapshot', distinguishing it from posting or creation tools.

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?

The description implies use for pre-posting validation but does not explicitly state when not to use it (e.g., when you need to validate a specific version). It gives clear context but lacks exclusionary guidance.

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

TDQS

C2.3/5.0
Disambiguation3/5

Many tools have distinct roles but there is overlap between flexi_get_record_detail and get_document_detail, and similar pairs. The descriptions help, but the prefix split adds ambiguity.

Naming Consistency2/5

Inconsistent use of 'flexi_' prefix on some tools while others use plain snake_case. Patterns like 'get_partner_summary' vs 'flexi_get_record_summary' break uniformity.

Tool Count3/5

29 tools is high but covers a broad domain. Each tool seems justified, but the count could be reduced by consolidating similar summary/detail pairs.

Completeness3/5

Document workflow is well-covered (create, update, validate, post) but missing delete/cancel. Partners and products only have read/search, lacking create/update/delete.

Maintenance

ActivityStale
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables interaction with Frappe Framework sites through comprehensive document operations, schema introspection, report generation, and method execution. Provides secure API-based access to create, read, update, and delete Frappe documents while supporting financial reporting and DocType management.
    24
    15
    ISC
  • A
    license
    B
    quality
    A
    maintenance
    Provides a comprehensive MCP interface to the AbraFlexi ERP REST API, enabling management of invoices, contacts, products, bank transactions, and other evidence through natural language.
    68
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables interaction with the sevDesk accounting API for managing contacts, invoices, credit notes, orders, vouchers, transactions, and parts.
    24
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides read-only access to Xledger accounting data via GraphQL API for querying invoices, balances, projects, timesheets, and more.
    2
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/vvitovec/abra-flexi-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server