codat
Server Details
MCP server for Codat — companies, connections, invoices, bills and financial statements.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- m190/usefulapi-mcp
- GitHub Stars
- 0
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.1/5 across 28 of 28 tools scored. Lowest: 3.4/5.
Each tool targets a distinct resource or action (e.g., companies, connections, invoices, financial statements). Even similar-looking tools like the three financial statements are clearly differentiated by their names and descriptions. No overlapping purposes.
All tools follow the consistent pattern 'codat_verb_noun' (e.g., codat_create_company, codat_list_invoices, codat_get_balance_sheet). No mixing of styles or irregular naming.
28 tools cover the main read and refresh operations across Codat's domain (companies, connections, accounting data, integrations). The count feels well-scoped for a data aggregation platform, not excessive.
The tool set focuses heavily on reading and listing data, with only create for companies/connections and refresh triggers. Missing update/delete for many entities (e.g., invoices, bills). An escape hatch exists but is GET-only. Notable gaps for write workflows.
Available Tools
28 toolscodat_create_companyCreate a companyADestructiveInspect
MUTATES Codat data — create a new company (a container for a customer's data connections). Provide a name; optionally a description, tags, or other attributes via fields. Codat API: POST /companies. Returns the created company (incl. its id).
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | A human-readable name for the company (usually your customer's business name). | |
| fields | No | Additional raw Codat fields merged into the request body (escape hatch for any field not typed above). | |
| description | No | Optional description / notes for the company. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate 'destructiveHint: true'. The description adds value by explicitly mentioning 'MUTATES Codat data', specifying the API endpoint, and stating the return includes the company's id. This context complements the annotation without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences cover the essential information: what the tool does, what parameters to use, and the expected return. No redundant words; every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description mentions the return value (created company with id). It includes the HTTP method and endpoint, which aids understanding. It could elaborate on error behavior, but for a straightforward creation tool, this is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value by explaining 'fields' as an escape hatch for additional attributes, which the schema only describes generically. This provides extra context beyond the schema's descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'create' and resource 'company', defining it as a container for data connections. It distinguishes itself from siblings like 'codat_create_connection' by specifying the core entity being created.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description hints at usage by stating required parameters (name) and optional ones (description, tags via fields). However, it does not explicitly compare to alternative tools like 'codat_create_connection' or provide when-not-to-use guidance, preventing a perfect score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codat_create_connectionCreate a data connectionADestructiveInspect
MUTATES Codat data — create a new data connection on a company for a given source platform. Provide the platformKey (from codat_list_integrations, e.g. "gbol" for QuickBooks Online sandbox). The connection is created in a PendingAuth state; the customer completes authorization via the returned linkUrl. Codat API: POST /companies/{companyId}/connections. Returns the created connection.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Additional raw Codat fields merged into the request body (escape hatch for any field not typed above). | |
| companyId | Yes | The Codat companyId (UUID). | |
| platformKey | Yes | The integration platformKey to connect (from codat_list_integrations). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the key behavioral trait beyond the destructiveHint annotation: the connection starts in PendingAuth state and must be completed by the customer via the returned linkUrl. This is critical for the agent to understand the asynchronous flow. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences long, starting with the core action and mutation hint, then parameters, then behavior (PendingAuth, linkUrl, API endpoint, return value). Every sentence adds necessary information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 moderate complexity, the description covers: purpose, required parameters with source, state transition, expected follow-up (customer authorization), return value, and endpoint. No gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes all three parameters (100% coverage). The description adds value by specifying that platformKey comes from codat_list_integrations and giving a concrete example ('gbol'), which aids correct invocation. For the 'fields' parameter, the description notes it's an 'escape hatch', which matches the schema's intent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a new data connection for a given platform on a company. The verb 'create' and resource 'data connection' are specific, and the scope 'on a company' differentiates it from sibling tools like codat_list_connections (list) or codat_get_connection (read).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains how to get the platformKey (from codat_list_integrations) and provides an example ('gbol' for QuickBooks Online sandbox). It also notes that the connection is in PendingAuth state and requires customer authorization via linkUrl. It does not explicitly list when not to use it, but the context is clear enough for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codat_get_balance_sheetGet balance sheetARead-onlyInspect
Get a company's balance sheet, broken into periods. periodLength (months per period) and periodsToCompare are BOTH required by Codat. Codat API: GET /companies/{companyId}/data/financials/balanceSheet.
| Name | Required | Description | Default |
|---|---|---|---|
| companyId | Yes | The Codat companyId (UUID). | |
| startMonth | No | First month of the earliest period (YYYY-MM-DD); defaults to the most recent. | |
| periodLength | Yes | Number of months per period (1-12). Required. | |
| periodsToCompare | Yes | How many periods to return (1-12). Required. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true; description adds that data is broken into periods and gives API endpoint. No side effects indicated, which is appropriate for a read-only tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two efficient sentences: first states purpose, second gives critical usage info and API reference. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only tool with high schema coverage and no output schema, description sufficiently covers purpose, required params, and defaults. Could optionally describe return shape but not essential.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema covers all params with descriptions (100% coverage). Description adds value by noting that startMonth defaults to most recent, which is not in schema. Otherwise mostly restates schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states verb 'Get', resource 'balance sheet', and adds context about periods. Distinct from sibling financial statement tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states that periodLength and periodsToCompare are both required by Codat, providing essential usage guidance. Does not mention when not to use this tool, but sibling names imply alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codat_get_cash_flow_statementGet cash flow statementBRead-onlyInspect
Get a company's cash flow statement, broken into periods. periodLength and periodsToCompare are BOTH required by Codat. Codat API: GET /companies/{companyId}/data/financials/cashFlowStatement.
| Name | Required | Description | Default |
|---|---|---|---|
| companyId | Yes | The Codat companyId (UUID). | |
| startMonth | No | First month of the earliest period (YYYY-MM-DD); defaults to the most recent. | |
| periodLength | Yes | Number of months per period (1-12). Required. | |
| periodsToCompare | Yes | How many periods to return (1-12). Required. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, making the read nature clear. The description adds that the statement is 'broken into periods' and references the underlying Codat API, but no additional behavioral traits (e.g., pagination, error conditions) are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loading the purpose. The second sentence about the API endpoint is not essential for an MCP agent but is not excessively verbose. Efficient overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 parameters and no output schema, the description states the basic purpose and required params but does not explain the structure of the returned cash flow statement or potential error conditions, leaving some gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with all parameters described. The description only reiterates that periodLength and periodsToCompare are required, adding no new semantic meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets a cash flow statement broken into periods, with a specific verb and resource. It does not explicitly differentiate from sibling financial statement tools (e.g., balance sheet, profit and loss), but the resource is distinct enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description emphasizes that periodLength and periodsToCompare are both required, which is helpful but already in the schema. It does not provide context on when to use this tool versus alternatives like get_balance_sheet or get_profit_and_loss.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codat_get_companyGet a companyARead-onlyInspect
Fetch a single company by id (name, platform, dataConnections, created/lastSync). Codat API: GET /companies/{companyId}.
| Name | Required | Description | Default |
|---|---|---|---|
| companyId | Yes | The Codat companyId (UUID). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the read-only nature is covered. Description adds no extra behavioral details (e.g., rate limits, auth). Adequate but not beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence with endpoint reference; no wasted words. Front-loaded with key purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter fetch tool with no output schema, the description covers purpose, input, and output sufficiently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema provides 100% coverage with description of companyId as UUID. Description reinforces that it is fetched by id and adds return fields, going slightly beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description explicitly states 'Fetch a single company by id' and lists returned fields (name, platform, dataConnections, created/lastSync). Distinguishes clearly from siblings like codat_list_companies and codat_create_company.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implicitly indicates usage when a companyId is known and a single company is needed. Does not explicitly mention alternatives or when-not-to-use, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codat_get_connectionGet a data connectionARead-onlyInspect
Fetch a single data connection by id (platformKey, status, sourceType, lastSync). Codat API: GET /companies/{companyId}/connections/{connectionId}.
| Name | Required | Description | Default |
|---|---|---|---|
| companyId | Yes | The Codat companyId (UUID). | |
| connectionId | Yes | The Codat connectionId (data connection UUID) within the company. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, and description adds specifics about returned fields (platformKey, status, sourceType, lastSync), which is useful but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words. The API endpoint is marginally useful but acceptable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only fetch with full schema coverage, description covers purpose and basic output. Lacks error handling or response structure, but no output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters are fully described in the schema (companyId, connectionId as UUIDs). The description adds no additional semantics, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Fetch a single data connection by id' with specific fields listed, distinguishing it from sibling tools like codat_list_connections which list all connections.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives (e.g., codat_list_connections). The API endpoint is mentioned but not context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codat_get_data_infoGet accounting metadataARead-onlyInspect
Get a company's accounting metadata (base currency, supported data types, etc.). Codat API: GET /companies/{companyId}/data/info.
| Name | Required | Description | Default |
|---|---|---|---|
| companyId | Yes | The Codat companyId (UUID). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, and the description adds context by specifying the API endpoint and examples of returned metadata. No contradictions, and the description provides useful behavioral context beyond the safe-read annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two efficient sentences: first defines purpose with examples, second provides the API endpoint. No unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple metadata retrieval tool with one parameter, the description covers purpose, basic behavior, and API source. No output schema exists, but the description implies a JSON response. Could mention response format explicitly, but sufficient for this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'companyId' is fully described in the schema as a UUID. The description does not add additional parameter semantics, so it meets the baseline for 100% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves accounting metadata with examples (base currency, supported data types) and includes the API endpoint. It distinguishes from sibling tools like codat_get_balance_sheet which target specific financial data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving metadata about available data types, but does not explicitly state when to use this versus alternatives (e.g., codat_get_data_status) 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.
codat_get_data_statusGet data statusARead-onlyInspect
Get the freshness/status of each accounting data type for a company (lastSuccessfulSync, currentStatus, dataType). Use this to check whether a dataset has been pulled before reading it. Codat API: GET /companies/{companyId}/dataStatus.
| Name | Required | Description | Default |
|---|---|---|---|
| companyId | Yes | The Codat companyId (UUID). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds value beyond the readOnlyHint annotation by specifying that the tool returns status fields (lastSuccessfulSync, currentStatus, dataType) per accounting data type. It does not contradict annotations; it enriches them with behavioral detail. No annotation contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (two sentences) and front-loads the core purpose. It includes the API endpoint as supplementary context without unnecessary elaboration. Every word serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple status-check tool with a single parameter and no output schema, the description adequately conveys what it returns and when to use it. It does not describe return format or error handling, but given the tool's simplicity, it is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single parameter companyId, and the schema already describes it as a UUID. The description does not add additional semantics about the parameter, so it meets the baseline expectation but does not exceed it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool's function: 'Get the freshness/status of each accounting data type for a company' and lists specific fields (lastSuccessfulSync, currentStatus, dataType). This clearly distinguishes it from sibling tools that retrieve actual data (e.g., codat_get_invoice) rather than status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a clear use case: 'Use this to check whether a dataset has been pulled before reading it.' This provides context for when to invoke the tool. However, it does not explicitly mention when not to use it or name alternative tools, so it loses one point.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codat_get_invoiceGet an invoiceARead-onlyInspect
Fetch a single AR invoice by id (full object incl. lineItems, paymentAllocations). Codat API: GET /companies/{companyId}/data/invoices/{invoiceId}.
| Name | Required | Description | Default |
|---|---|---|---|
| companyId | Yes | The Codat companyId (UUID). | |
| invoiceId | Yes | The invoice id. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true; description adds that it returns full object with lineItems and paymentAllocations, and provides the API endpoint. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no fluff: first describes action and return, second gives API endpoint. Efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple fetch with two parameters and no output schema, description covers purpose, return content, and API context. No gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage with clear descriptions for both parameters (companyId as UUID, invoiceId as invoice id). Description does not add additional parameter semantics beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses specific verb 'Fetch' and resource 'single AR invoice by id', with explicit inclusion of lineItems and paymentAllocations. Clearly distinguishes from list tools like codat_list_invoices.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance, but context of siblings implies it's for fetching a known invoice by ID rather than listing or searching.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codat_get_profileGet account profileARead-onlyInspect
Fetch the authenticated Codat account's profile (organization name, redirect URLs, features) — a quick way to verify the API key works. Codat API: GET /profile.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description aligns by calling it a 'fetch' operation. It adds value by noting it's a 'quick verification' tool and specifying the HTTP endpoint, which helps the agent understand the behavior beyond the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core purpose and data returned, and no filler. Every part earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only tool with no output schema, the description is fully complete. It states what the tool does, what data it returns, and a use case (API key verification).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With no parameters and 100% schema coverage, the description doesn't need to add parameter info. The baseline is 4, and the description correctly omits any parameter details since none exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the action ('Fetch the authenticated Codat account's profile'), the resource ('profile'), and specific data returned (organization name, redirect URLs, features). It also distinguishes itself from sibling tools like codat_get_company by focusing on account-level info.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It mentions 'a quick way to verify the API key works,' which implies a usage context, but does not provide explicit when-to-use or when-not-to-use guidance compared to siblings. It lacks clarification on when to use this over other profile or status tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codat_get_profit_and_lossGet profit & lossARead-onlyInspect
Get a company's profit and loss (income statement), broken into periods. periodLength and periodsToCompare are BOTH required by Codat. Codat API: GET /companies/{companyId}/data/financials/profitAndLoss.
| Name | Required | Description | Default |
|---|---|---|---|
| companyId | Yes | The Codat companyId (UUID). | |
| startMonth | No | First month of the earliest period (YYYY-MM-DD); defaults to the most recent. | |
| periodLength | Yes | Number of months per period (1-12). Required. | |
| periodsToCompare | Yes | How many periods to return (1-12). Required. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral context by specifying the API endpoint (GET) and stating the parameters are required, which complements the readOnlyHint annotation. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main purpose, and contains no extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the description covers the essential purpose and parameter requirements, it lacks details about the output format or structure, which would be helpful for an agent given no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds only marginal value by reiterating the requirement and default behavior. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves a company's profit and loss (income statement) broken into periods, which distinguishes it from sibling tools like balance sheet and cash flow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions that periodLength and periodsToCompare are both required, providing a usage condition. However, it does not offer guidance on when to use this tool versus alternatives (e.g., other financial reports).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codat_list_accountsList chart of accountsARead-onlyInspect
List a company's chart of accounts (id, name, nominalCode, type, status, currency, currentBalance). Codat API: GET /companies/{companyId}/data/accounts. Returns the paged envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default 1). | |
| query | No | Codat query filter string, e.g. "status=Paid" or "modifiedDate>2026-01-01". See docs.codat.io/using-the-api/querying. | |
| orderBy | No | Field to order results by, e.g. "-modifiedDate" (leading "-" for descending). | |
| pageSize | No | Records per page (1-2000, default 100). | |
| companyId | Yes | The Codat companyId (UUID). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint annotation is provided, and description mentions paged envelope, adding transparency beyond read-only nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with core purpose, no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, endpoint, return type (paged envelope), and field list; no output schema, but description is sufficient for a list operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all parameters with descriptions; description adds endpoint context but little extra parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'List a company's chart of accounts' and lists key fields, distinguishing it from other list tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use vs alternatives, but the name and description imply it's for chart of accounts listing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codat_list_account_transactionsList account transactionsARead-onlyInspect
List a company's account transactions (bank/GL transactions) for a data connection. NOTE: this endpoint is CONNECTION-scoped. Codat API: GET /companies/{companyId}/connections/{connectionId}/data/accountTransactions. Returns the paged envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default 1). | |
| query | No | Codat query filter string, e.g. "status=Paid" or "modifiedDate>2026-01-01". See docs.codat.io/using-the-api/querying. | |
| orderBy | No | Field to order results by, e.g. "-modifiedDate" (leading "-" for descending). | |
| pageSize | No | Records per page (1-2000, default 100). | |
| companyId | Yes | The Codat companyId (UUID). | |
| connectionId | Yes | The Codat connectionId (data connection UUID) within the company. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation already declares readOnlyHint=true, indicating a safe read operation. The description adds that it returns a 'paged envelope' and specifies the exact API endpoint. This provides additional behavioral context beyond the annotation, such as pagination behavior and request format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences covering the resource, scope, notes, and endpoint. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no output schema, the description provides minimal return info ('Returns the paged envelope'). The 6 parameters are well-documented in the schema, and the description gives essential context (scope, endpoint). It is sufficiently complete for a list endpoint with good schema coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 6 parameters have descriptions in the input schema (100% coverage). The description does not add new meaning beyond the schema, except for mentioning the endpoint and scoping. Therefore, a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List', the resource 'account transactions (bank/GL transactions)', and the scope 'for a data connection' within a company. It distinguishes from sibling tools like codat_list_accounts or codat_list_invoices by specifying the exact data type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a note that the endpoint is CONNECTION-scoped, implying the need for a connectionId. However, it does not provide explicit guidance on when to use this tool vs alternatives, nor does it mention 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.
codat_list_bill_paymentsList bill paymentsARead-onlyInspect
List a company's bill payments (money paid out to suppliers) — id, supplierRef, date, currency, totalAmount, lines. Codat API: GET /companies/{companyId}/data/billPayments. Returns the paged envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default 1). | |
| query | No | Codat query filter string, e.g. "status=Paid" or "modifiedDate>2026-01-01". See docs.codat.io/using-the-api/querying. | |
| orderBy | No | Field to order results by, e.g. "-modifiedDate" (leading "-" for descending). | |
| pageSize | No | Records per page (1-2000, default 100). | |
| companyId | Yes | The Codat companyId (UUID). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. Description adds that it returns the paged envelope, but no further behavioral details like pagination or rate limits. Adequate given annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is concise and front-loaded with purpose. Includes useful fields list and API endpoint, though the endpoint detail is somewhat redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list operation with full schema descriptions and annotations, the description is mostly complete. Missing usage guidelines but otherwise adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with all parameters described. Description adds no additional parameter meaning beyond what is in the schema, so baseline score is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'List', resource 'bill payments', and clarifies it's money paid out to suppliers, differentiating it from sibling tools like codat_list_bills and codat_list_payments.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 codat_list_bills or codat_list_payments. Lacks explicit when-to-use or when-not-to-use context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codat_list_billsList billsARead-onlyInspect
List a company's accounts-payable bills (id, reference, supplierRef, issueDate, dueDate, currency, totalAmount, amountDue, status, lineItems). Codat API: GET /companies/{companyId}/data/bills. Returns the paged envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default 1). | |
| query | No | Codat query filter string, e.g. "status=Paid" or "modifiedDate>2026-01-01". See docs.codat.io/using-the-api/querying. | |
| orderBy | No | Field to order results by, e.g. "-modifiedDate" (leading "-" for descending). | |
| pageSize | No | Records per page (1-2000, default 100). | |
| companyId | Yes | The Codat companyId (UUID). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint: true, so the description adds value by mentioning the paged envelope response and the API method (GET). However, it does not disclose rate limits, authentication needs, or any side effects beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loading the core purpose and listing fields in the first sentence, then adding the API endpoint. No redundant words; every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 parameters and no output schema, the description is minimal. It mentions the paged envelope but does not explain pagination behavior or structure. The enumeration of fields partially compensates for the missing output schema, but the description could be more thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The tool description does not add any parameter-specific information beyond what the schema already provides; it merely lists returned fields, which are not parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists a company's accounts-payable bills and enumerates the returned fields (id, reference, supplierRef, etc.). It distinguishes from siblings by specifying the resource type ('bills') and mentions the exact API endpoint, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for listing bills but provides no explicit guidance on when to use it versus alternatives like codat_list_bill_payments or other list tools. No context on prerequisites or exclusions is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codat_list_companiesList companiesARead-onlyInspect
List the companies in your Codat account. A company represents one of your customers' businesses and holds its data connections. Codat API: GET /companies. Returns the paged envelope { results, pageNumber, pageSize, totalResults, _links }.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default 1). | |
| query | No | Codat query filter string, e.g. "status=Paid" or "modifiedDate>2026-01-01". See docs.codat.io/using-the-api/querying. | |
| orderBy | No | Field to order results by, e.g. "-modifiedDate" (leading "-" for descending). | |
| pageSize | No | Records per page (1-2000, default 100). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=true, and the description adds behavioral context by specifying it is a GET request and provides the response envelope structure. This goes beyond the annotation without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words. Efficiently conveys purpose, API endpoint, and return format.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given four optional parameters and no output schema, the description explains the response shape and endpoint. It lacks detail on the query parameter format but links to external docs in the schema. Overall adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds context about the paged response, which aids understanding of page and pageSize parameters. However, it does not further elaborate on the query or orderBy parameters beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists companies from the Codat account, defines what a company represents, and references the API endpoint and response envelope. It is specific and distinct from sibling tools like codat_get_company.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for listing companies but does not explicitly state when to use this tool versus alternatives (e.g., codat_get_company for a single company). No when-not or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codat_list_connectionsList data connectionsARead-onlyInspect
List a company's data connections (each links the company to one source platform, e.g. QuickBooks, Xero). Codat API: GET /companies/{companyId}/connections. Returns the paged envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default 1). | |
| query | No | Codat query filter string, e.g. "status=Paid" or "modifiedDate>2026-01-01". See docs.codat.io/using-the-api/querying. | |
| orderBy | No | Field to order results by, e.g. "-modifiedDate" (leading "-" for descending). | |
| pageSize | No | Records per page (1-2000, default 100). | |
| companyId | Yes | The Codat companyId (UUID). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. The description adds that it returns 'the paged envelope,' indicating pagination behavior. It does not mention rate limits or auth, but the read-only nature is clear, and the added context is valuable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words. The first sentence explains the purpose and entity, the second gives the API path and output hint. Efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list tool with comprehensive schema coverage and no output schema, the description is adequate. It explains what a connection is, the company scope, and that results are paged. Slightly missing explicit return value details, but 'paged envelope' suffices.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are well-documented. The description adds minimal extra meaning beyond summarizing the function; it mentions the endpoint but doesn't elaborate on parameter usage or format beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List' and the resource 'data connections' for a company, explaining what a data connection is (each links to a source platform like QuickBooks). It also provides the Codat API endpoint, distinguishing it from sibling list tools like codat_list_companies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states what the tool does (list data connections for a company), providing clear context. It doesn't specify when not to use it or alternative tools, but the context is sufficient for a simple list operation given sibling names like codat_get_connection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codat_list_credit_notesList credit notesARead-onlyInspect
List a company's credit notes (id, creditNoteNumber, customerRef, issueDate, currency, totalAmount, remainingCredit, status). Codat API: GET /companies/{companyId}/data/creditNotes. Returns the paged envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default 1). | |
| query | No | Codat query filter string, e.g. "status=Paid" or "modifiedDate>2026-01-01". See docs.codat.io/using-the-api/querying. | |
| orderBy | No | Field to order results by, e.g. "-modifiedDate" (leading "-" for descending). | |
| pageSize | No | Records per page (1-2000, default 100). | |
| companyId | Yes | The Codat companyId (UUID). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds value beyond the readOnlyHint annotation by specifying that results are paginated (paged envelope) and listing the returned fields. It also gives the HTTP method and endpoint, providing context about the call behavior. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with three sentences: purpose with fields, API endpoint, and pagination behavior. Every sentence is informative and front-loaded, avoiding unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (list endpoint, 5 params fully described in schema, no output schema), the description covers the essential aspects: what it does, what data is returned, and that it's paginated. It does not address error handling or rate limits, but these are common and not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add significant meaning beyond the schema; it only lists returned fields which are not parameters. For parameter semantics, no extra value is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists a company's credit notes and enumerates the fields returned (id, creditNoteNumber, etc.). It also specifies the API endpoint and that it returns a paged envelope, distinguishing it from siblings like list_invoices or list_customers by focusing specifically on credit notes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when listing credit notes for a company, but does not explicitly state when to use this tool versus alternatives (e.g., list_invoices for invoices). No exclusions or context about when not to use it are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codat_list_customersList customersARead-onlyInspect
List a company's customers (id, customerName, contactName, emailAddress, addresses, status, defaultCurrency). Codat API: GET /companies/{companyId}/data/customers. Returns the paged envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default 1). | |
| query | No | Codat query filter string, e.g. "status=Paid" or "modifiedDate>2026-01-01". See docs.codat.io/using-the-api/querying. | |
| orderBy | No | Field to order results by, e.g. "-modifiedDate" (leading "-" for descending). | |
| pageSize | No | Records per page (1-2000, default 100). | |
| companyId | Yes | The Codat companyId (UUID). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. The description adds context about the API endpoint and return format ('paged envelope'), which is helpful beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff, front-loaded with key purpose and fields. Every sentence is valuable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with fully described parameters, the description adequately covers the return format. Missing pagination defaults or example query, but not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage, so the description does not need to add parameter details. It lists a subset of returned fields but does not explain parameter usage beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List a company's customers' with specific fields and the API endpoint, distinguishing it from sibling list tools for other entities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for getting customer lists but does not provide explicit when-to-use or when-not-to-use guidance, nor does it mention alternative tools for similar purposes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codat_list_direct_costsList direct costsARead-onlyInspect
List a company's direct costs (point-of-sale purchases: card/cash spend, refunds) for a data connection. NOTE: this endpoint is CONNECTION-scoped. Codat API: GET /companies/{companyId}/connections/{connectionId}/data/directCosts. Returns the paged envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default 1). | |
| query | No | Codat query filter string, e.g. "status=Paid" or "modifiedDate>2026-01-01". See docs.codat.io/using-the-api/querying. | |
| orderBy | No | Field to order results by, e.g. "-modifiedDate" (leading "-" for descending). | |
| pageSize | No | Records per page (1-2000, default 100). | |
| companyId | Yes | The Codat companyId (UUID). | |
| connectionId | Yes | The Codat connectionId (data connection UUID) within the company. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations include readOnlyHint=true, and description adds 'Returns the paged envelope' beyond schema. However, no additional behavior like data freshness or rate limits disclosed; acceptable for a read tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences that are front-loaded with purpose and include critical scope note. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, scope, resource type, API endpoint, and return format. Missing output schema but 'paged envelope' suffices. Fairly complete for a simple list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover all 6 parameters completely, so description adds no new parameter info. Baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly defines the tool as listing direct costs with specific examples (point-of-sale purchases, card/cash spend, refunds). Distinguishes from sibling tools like list_invoices or list_payments by focusing on direct costs and noting connection-scoping.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context: connection-scoped and returns paged envelope. No explicit when-to-use or alternatives guidance, but the resource name and examples imply its niche among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codat_list_integrationsList integrationsARead-onlyInspect
List the accounting/commerce/banking platforms (integrations) Codat supports, with their platformKey. Codat API: GET /integrations. Returns the paged envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default 1). | |
| query | No | Codat query filter string, e.g. "status=Paid" or "modifiedDate>2026-01-01". See docs.codat.io/using-the-api/querying. | |
| orderBy | No | Field to order results by, e.g. "-modifiedDate" (leading "-" for descending). | |
| pageSize | No | Records per page (1-2000, default 100). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral context beyond the readOnlyHint annotation, noting it returns a paged envelope and includes platformKey. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with purpose and return information, no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description adequately covers return type (paged envelope) and key field (platformKey). All input parameters are documented in the schema. A minor gap is lack of explanation for pagination defaults, but pagination is implicit in the parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description does not need to explain parameters. It does not add extra meaning beyond the schema, meeting the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists platforms with platformKey, distinguishing it from sibling list tools that list other entities like companies or accounts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what the tool does but does not explicitly state when to use it vs alternatives or provide exclusion criteria. The context is clear enough for a straightforward list operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codat_list_invoicesList invoicesARead-onlyInspect
List a company's accounts-receivable invoices (id, invoiceNumber, customerRef, issueDate, dueDate, currency, totalAmount, amountDue, status, lineItems). Codat API: GET /companies/{companyId}/data/invoices. Returns the paged envelope. Tip: filter with query, e.g. "status=Submitted&&amountDue>0".
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default 1). | |
| query | No | Codat query filter string, e.g. "status=Paid" or "modifiedDate>2026-01-01". See docs.codat.io/using-the-api/querying. | |
| orderBy | No | Field to order results by, e.g. "-modifiedDate" (leading "-" for descending). | |
| pageSize | No | Records per page (1-2000, default 100). | |
| companyId | Yes | The Codat companyId (UUID). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. The description adds context about returning a paged envelope but does not disclose other behavioral traits like rate limits or auth needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with front-loaded purpose and an inline tip; no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers the main purpose and lists returned fields, but lacks detailed return value structure (e.g., pagination metadata) since no output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 5 parameters are described in the schema (100% coverage). The description adds a usage tip for the query parameter but does not significantly extend beyond schema information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists a company's accounts-receivable invoices with specific fields and the API endpoint, distinguishing it from siblings like codat_get_invoice.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a tip on using the query filter for filtering, but lacks explicit guidance on when to use this tool versus alternatives among the many sibling list tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codat_list_journal_entriesList journal entriesARead-onlyInspect
List a company's journal entries (id, postedOn, createdOn, journalLines with accountRef/netAmount/currency). Codat API: GET /companies/{companyId}/data/journalEntries. Returns the paged envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default 1). | |
| query | No | Codat query filter string, e.g. "status=Paid" or "modifiedDate>2026-01-01". See docs.codat.io/using-the-api/querying. | |
| orderBy | No | Field to order results by, e.g. "-modifiedDate" (leading "-" for descending). | |
| pageSize | No | Records per page (1-2000, default 100). | |
| companyId | Yes | The Codat companyId (UUID). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. The description adds that it returns a paged envelope and indicates the API endpoint. This provides behavioral context beyond the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence includes all essential information: resource, fields, API path, and response type. No unnecessary words, front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters all described in schema and no output schema, the description covers returned fields and paging behavior. Lacks only explicit mention of pagination mechanics in the description, but schema handles parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All parameters have descriptions in the input schema (100% coverage), so the description's mention of returned fields adds limited parameter-specific meaning. Baseline 3 is justified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists journal entries and specifies the returned fields (id, postedOn, createdOn, journalLines with accountRef/netAmount/currency). It distinguishes from sibling list tools by naming the specific resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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., other list tools). The description only states what it does, leaving the agent to infer usage from the resource name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codat_list_paymentsList paymentsARead-onlyInspect
List a company's payments received (money in against invoices) — id, customerRef, date, currency, totalAmount, lines/allocations. Codat API: GET /companies/{companyId}/data/payments. Returns the paged envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default 1). | |
| query | No | Codat query filter string, e.g. "status=Paid" or "modifiedDate>2026-01-01". See docs.codat.io/using-the-api/querying. | |
| orderBy | No | Field to order results by, e.g. "-modifiedDate" (leading "-" for descending). | |
| pageSize | No | Records per page (1-2000, default 100). | |
| companyId | Yes | The Codat companyId (UUID). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. The description adds that it returns a paged envelope and lists key fields, providing more behavioral context beyond annotations without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences front-load the purpose and key details. No fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description covers what the tool does, what fields are returned, and the API endpoint. With full schema coverage and readOnly annotations, this is sufficient context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers all 5 parameters with descriptions, so baseline is 3. The description does not add additional parameter-level details beyond listing expected fields in the response.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists payments received (money in against invoices) and specifies included fields like id, customerRef, etc. It distinguishes from sibling tools by focusing on customer payments and mentioning 'money in'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context that it's for payments received against invoices, which hints at use cases. However, it does not explicitly contrast with siblings like codat_list_bill_payments or when to not use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codat_list_suppliersList suppliersARead-onlyInspect
List a company's suppliers/vendors (id, supplierName, contactName, emailAddress, addresses, status, defaultCurrency). Codat API: GET /companies/{companyId}/data/suppliers. Returns the paged envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default 1). | |
| query | No | Codat query filter string, e.g. "status=Paid" or "modifiedDate>2026-01-01". See docs.codat.io/using-the-api/querying. | |
| orderBy | No | Field to order results by, e.g. "-modifiedDate" (leading "-" for descending). | |
| pageSize | No | Records per page (1-2000, default 100). | |
| companyId | Yes | The Codat companyId (UUID). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=true, consistent with a read operation. The description adds that it returns a 'paged envelope', hinting at pagination behavior. No contradictions, but no additional behavioral details beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no redundancy. First sentence covers purpose and key fields, second gives API endpoint and return type. Front-loaded with essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list tool with no output schema, the description adequately states return type ('paged envelope') and lists fields. Parameters are fully documented. Slightly lacking in depth but sufficient given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents parameters. The description adds context about returned fields but does not enhance parameter meaning beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the verb 'List', the resource 'suppliers/vendors', and the scope 'a company's'. It lists specific fields returned, making it clear what the tool does. The tool name and description distinguish it from sibling tools like codat_list_customers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for listing suppliers but does not provide explicit guidance on when to use this tool versus alternatives, nor does it mention when not to use it. The context from sibling tools helps, but the description lacks explicit guidelines.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codat_refresh_all_dataQueue a full data refreshADestructiveInspect
MUTATES Codat state — queue a refresh of ALL data types for a company (Codat re-pulls from the connected source platforms). Asynchronous: it enqueues pulls, it does not return the data. Use codat_get_data_status to track progress. Codat API: POST /companies/{companyId}/data/all.
| Name | Required | Description | Default |
|---|---|---|---|
| companyId | Yes | The Codat companyId (UUID). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description expands on the destructiveHint annotation by explaining the mutation, asynchronous nature, and the API endpoint. Could mention rate limits but sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no wasted words, front-loaded with purpose and mutation warning, earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with no output schema and clear annotations, the description provides all necessary context including asynchronous behavior and how to track progress.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter companyId; description does not add additional meaning beyond the schema's description, meeting the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'queue a refresh' and the resource 'ALL data types for a company', distinguishing it from siblings like codat_refresh_data_type which refreshes specific types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states that the tool is asynchronous and does not return data, and directs users to codat_get_data_status for progress tracking, providing clear when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codat_refresh_data_typeQueue a single dataset refreshADestructiveInspect
MUTATES Codat state — queue a refresh of ONE data type for a company (e.g. "invoices", "bills", "chartOfAccounts", "balanceSheet"). Asynchronous: it enqueues a pull, it does not return the data. Codat API: POST /companies/{companyId}/data/queue/{dataType}.
| Name | Required | Description | Default |
|---|---|---|---|
| dataType | Yes | The Codat data type key to refresh, e.g. "invoices", "bills", "customers", "chartOfAccounts", "balanceSheet". | |
| companyId | Yes | The Codat companyId (UUID). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description declares the tool mutates Codat state (aligning with destructiveHint annotation) and explains the async behavior (enqueues pull, does not return data). This adds context beyond annotations, though it could mention how to monitor completion or error scenarios.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences plus an endpoint reference, with no wasted words. It front-loads the verb 'MUTATES' and core action, making it efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and moderate complexity, the description adequately covers the action (async, mutates, enqueues). However, it lacks details on error handling or follow-up steps (e.g., checking status via another tool), which would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents both parameters. The description provides example dataType values and references the API endpoint, adding marginal value. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: queue a refresh of ONE data type for a company. It provides specific examples and contrasts with 'refresh_all_data' by emphasizing 'ONE', making the purpose distinct from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions the tool is asynchronous and that it does not return data, which helps set expectations. However, it does not explicitly state when to use this tool vs alternatives like 'codat_refresh_all_data', nor does it mention prerequisites like company existence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codat_requestRaw read requestARead-onlyInspect
Power-user escape hatch: GET any Codat API path not wrapped by a dedicated tool. READ-ONLY — only GET is allowed. Path starts with a slash (e.g. "/companies/{id}/data/taxRates", "/companies/{id}/reports/agedDebtor"). Codat API: GET {path}.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | API path starting with a slash, e.g. "/companies/{id}/data/items". | |
| query | No | Optional query params object. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. The description adds context: 'Power-user escape hatch', 'only GET is allowed', and path format rules. It does not cover rate limits or error handling, but the annotation covers the key behavioral trait.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no fluff. The purpose is front-loaded, and each sentence provides essential information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is reasonably complete for a generic GET tool: it covers purpose, usage constraints, path format, and query parameters. No output schema exists, so return values are not described, which is acceptable given the tool's open-ended nature.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both 'path' and 'query'. The description adds meaningful examples (e.g., '/companies/{id}/data/taxRates') and clarifies path format (must start with slash), going beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Power-user escape hatch: GET any Codat API path not wrapped by a dedicated tool.' This specifies the verb (GET) and resource (any Codat API path), and distinguishes it from sibling tools that cover specific endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains this tool is for reading via GET only, implying it should not be used for mutations. It gives path format examples but does not explicitly list alternatives or when-not-to-use scenarios beyond read-only.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Alicense-qualityCmaintenanceMCP server for the FreeAgent accounting API, enabling LLMs to securely access and manage accounting data including contacts, invoices, bills, bank transactions, and more.51MIT
- Flicense-qualityDmaintenanceA Model Context Protocol (MCP) server for integrating Xero with GenAI applications.
- AlicenseBqualityAmaintenanceAn MCP server allowing Clients to interact with Xero Accounting Software1511321MIT
- Flicense-qualityCmaintenanceRemote MCP server for Mini Accountant that lets AI assistants manage invoices, customers, expenses, services, payment settings, analytics, and account/profile data via OAuth 2.1-secured streamable HTTP.