Skip to main content
Glama

Axonaut Connector

axonaut_connector
Read-onlyIdempotent

Axonaut French all-in-one business management (CRM + invoicing + accounting): companies (third parties), quotations, invoices, opportunities (CRM pipeline), expenses, payments, suppliers, products, contracts, employees, and custom fields. Read-only via personal userApiKey (Path A). Cross-connector join keys: email, siret (French business registration number), company_name, invoice_id, currency — enabling Axonaut invoices ↔ Stripe charges (EUR revenue reconciliation) and Axonaut companies ↔ QuickBooks / HubSpot matching. When the user asks for a visual, trend, comparison, or recap, call chart_render with the numeric values returned by this connector. If the connector result includes a verified chart_provenance token, the same authenticated user may pass it as provenance_token within 15 minutes, on any replica, and map every value to its exact source_path so chart_render preserves verified provenance. Without a valid connector receipt, chart_render labels values as unverified_model_data. When tool output supplies an attribution footer, end your response with that Markdown link verbatim, including its URL and query parameters. Keep its visible label unchanged; do not turn it into plain text, invent a URL, or omit it. Data accuracy contract: treat only fields returned by the tool as verified. Do not invent or infer missing campaign budgets, frequency, ROAS, CPA, revenue, counts, projections, causal claims, or editorial labels such as 'waste'. Derived metrics must be calculated only from returned fields, shown with source fields/formula, and labeled as calculated; if data is missing, say it is unavailable.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
actionYesget_account: Get the connected Axonaut account and authenticated user profile. Returns the user id, email, full_name, roles, and a ne | list_companies: List Axonaut companies (third parties: customers, prospects, and suppliers) one page at a time. Each company includes id | get_company: Get full details for a single Axonaut company by id. Use when the user asks 'show me Axonaut company 12345', 'get the fu | list_quotations: List Axonaut quotations (devis / estimates) one page at a time. Each quotation includes id, number, title, date, expiry_ | get_quotation: Get full details for a single Axonaut quotation (devis) by id. Use when the user asks 'show me quotation 9001', 'what li | list_invoices: List Axonaut invoices (factures) one page at a time. Each invoice includes id, number, date, sent_date, due_date, paid_d | get_invoice: Get full details for a single Axonaut invoice (facture) by id. Use when the user asks 'show me invoice 5050', 'what's on | list_opportunities: List Axonaut CRM opportunities (deals) one page at a time. Each opportunity includes id, name, amount, probability (0-10 | get_opportunity: Get full details for a single Axonaut opportunity (deal) by id. Use when the user asks 'show me opportunity 700', 'what | list_expenses: List Axonaut expenses / supplier bills (dépenses) one page at a time. Each expense includes id, title, date, number, tot | get_expense: Get full details for a single Axonaut expense / supplier bill by id. Use when the user asks 'show me expense 808', 'what | list_payments: List Axonaut invoice payments (encaissements) one page at a time. Each payment includes id, invoice_id, amount, date, re | list_events: List Axonaut CRM events — the activity log of calls, meetings, notes, and tasks logged against companies and opportuniti | list_employees: List Axonaut employees — the contact people attached to companies (not your own staff), one page at a time. Each employe | list_suppliers: List Axonaut suppliers (fournisseurs) one page at a time. Each supplier includes id, company_id, name, prefered_tax_rate | list_products: List Axonaut products / catalogue items one page at a time. Each product includes id, name, product_code, description, p | list_contracts: List Axonaut contracts — recurring billing agreements that auto-generate invoices, one page at a time. Each contract inc | list_users: List Axonaut account team members (your own staff / seats) one page at a time. Each user includes id, email, fullname, f | list_customfields: List Axonaut custom-field definitions configured on the account, one page at a time. Returns the custom-field names that
paramsNoAction-specific parameters. get_account: none | list_companies: {page?: integer, page_size?: integer, search?: string, is_customer?: boolean, is_prospect?: boolean} | get_company: {companyId: string} | list_quotations: {page?: integer, page_size?: integer, companyId?: string} | get_quotation: {quotationId: string} | list_invoices: {page?: integer, page_size?: integer, companyId?: string} | get_invoice: {invoiceId: string} | list_opportunities: {page?: integer, page_size?: integer} | get_opportunity: {opportunityId: string} | list_expenses: {page?: integer, page_size?: integer} | get_expense: {expenseId: string} | list_payments: {page?: integer, page_size?: integer} | list_events: {page?: integer, page_size?: integer} | list_employees: {page?: integer, page_size?: integer} | list_suppliers: {page?: integer, page_size?: integer} | list_products: {page?: integer, page_size?: integer} | list_contracts: {page?: integer, page_size?: integer} | list_users: {page?: integer, page_size?: integer} | list_customfields: {page?: integer, page_size?: integer}

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added
  2. Removed
  3. Added
  4. Removed
  5. Changed1 schema field changed
    • changedInput schema / properties / params / description
      Previous value: -"Action-specific parameters. get_account: none | list_companies: {page?: integer, search?: string, is_customer?: boolean, is_prospect?: boolean} | get_company: {companyId: string} | list_quotations: {page?: integer} | get_quotation: {quotationId: string} | list_invoices: {page?: integer} | get_invoice: {invoiceId: string} | list_opportunities: {page?: integer} | get_opportunity: {opportunityId: string} | list_expenses: {page?: integer} | get_expense: {expenseId: string} | list_payments: {page?: integer} | list_events: {page?: integer} | list_employees: {page?: integer} | list_suppliers: {page?: integer} | list_products: {page?: integer} | list_contracts: {page?: integer} | list_users: {page?: integer} | list_customfields: {page?: integer}"New value: +"Action-specific parameters. get_account: none | list_companies: {page?: integer, page_size?: integer, search?: string, is_customer?: boolean, is_prospect?: boolean} | get_company: {companyId: string} | list_quotations: {page?: integer, page_size?: integer, companyId?: string} | get_quotation: {quotationId: string} | list_invoices: {page?: integer, page_size?: integer, companyId?: string} | get_invoice: {invoiceId: string} | list_opportunities: {page?: integer, page_size?: integer} | get_opportunity: {opportunityId: string} | list_expenses: {page?: integer, page_size?: integer} | get_expense: {expenseId: string} | list_payments: {page?: integer, page_size?: integer} | list_events: {page?: integer, page_size?: integer} | list_employees: {page?: integer, page_size?: integer} | list_suppliers: {page?: integer, page_size?: integer} | list_products: {page?: integer, page_size?: integer} | list_contracts: {page?: integer, page_size?: integer} | list_users: {page?: integer, page_size?: integer} | list_customfields: {page?: integer, page_size?: integer}"
  6. Added

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint/idempotentHint/destructiveHint, so the safety profile is covered. The description adds genuinely useful non-annotation behavior: read-only access via a personal userApiKey, the provenance_token handoff to chart_render with its 15-minute window and cross-replica validity, the unverified_model_data fallback, the mandatory attribution footer, and a data-accuracy contract. It stops short of pagination/rate-limit behavior, which the schema hints at but the prose never explains.

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 purpose and join keys are correctly front-loaded, but roughly half the text is cross-cutting platform policy (chart_render routing, provenance mechanics, footer formatting, accuracy contract) that does not help an agent select or invoke this connector. Those sentences are long and repetitive, diluting the tool-specific content.

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?

For a read-only multi-action connector whose safety profile is fully covered by annotations and whose action semantics are documented in the schema, the description covers the important gaps: auth model, cross-source join keys, and output-handling rules. Only pagination/return-shape behavior and sibling differentiation are absent, which are minor given the absence of an output schema and the read-only nature.

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

Parameters3/5

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

Schema description coverage is 100%: the action enum carries per-action 'use when the user asks...' text and the params object documents each action's argument shape. The description adds no parameter-level detail of its own (the join keys it lists are output fields, not inputs), so the baseline 3 is appropriate.

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 opening sentence names a specific resource family (CRM + invoicing + accounting) and enumerates the concrete entities exposed (companies, quotations, invoices, opportunities, expenses, payments, suppliers, products, contracts, employees, custom fields), so an agent knows exactly what domain this connector serves. It does not, however, distinguish itself from the sibling axonaut_dashboard, so an agent must infer which Axonaut surface to pick.

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 supplies real usage context — the cross-connector join keys (email, siret, company_name, invoice_id, currency) that make this data useful for Stripe/QuickBooks/HubSpot reconciliation — which is more than generic filler. But it gives no explicit when-to-use/when-not versus axonaut_dashboard, and no guidance on choosing among the 19 actions beyond what the schema already carries.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources