modern-treasury
Server Details
MCP server for Modern Treasury — payment orders, transactions, counterparties and ledgers.
- 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 3.7/5 across 14 of 17 tools scored.
Each tool targets a distinct resource (counterparty, ledger account, payment order, etc.) with clear actions (create, get, list, ping). There is no ambiguity between tools.
All tools follow a consistent 'modern_treasury_verb_singular_or_plural_resource' pattern in snake_case. The naming is uniform and predictable.
17 tools cover multiple financial entities and operations, which is reasonable for a treasury API. It's on the higher end but not excessive given the domain.
The tool set is heavily read-only, with only one create operation (counterparty). Missing create/update/delete for payment orders, ledger transactions, and other core actions, which severely limits functionality for a treasury system.
Available Tools
17 toolsmodern_treasury_create_counterpartyCreate counterpartyADestructiveInspect
Creates a counterparty (contact) record in Modern Treasury. Creates a record only — no bank details, MOVES NO MONEY. API: POST /counterparties.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Counterparty (contact) name. | |
| No | Counterparty email. | ||
| metadata | No | Arbitrary string key/value metadata. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate destructiveHint=true, and the description clarifies it is a record creation with no money movement. However, it does not explain what 'destructive' means in this context (e.g., irreversibility, implications of creation). The description adds some context beyond annotations but is not fully transparent.
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 long, no wasted words, and front-loaded with the primary purpose. It is concise and well-structured.
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 full schema coverage and lack of output schema, the description adequately explains the tool's function. It could mention the return value (the created counterparty object) or potential errors for 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?
The input schema has 100% description coverage for all three parameters. The description does not add additional meaning or elaboration beyond the schema, so it meets the baseline of 3.
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 (creates), the resource (counterparty/contact), and the scope (record only, no bank details, no money movement). It effectively distinguishes from sibling tools that deal with bank details or financial transactions.
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 creating a simple counterparty contact without financial details. It does not explicitly state when not to use or suggest alternatives. The sibling list provides context, but more direct guidance would help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
modern_treasury_get_counterpartyGet counterpartyARead-onlyInspect
Get a single counterparty by id. API: GET /counterparties/{id}.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Counterparty id. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, so the description's addition of 'GET' is consistent but not extra behavioral insight. It does not disclose error behavior (e.g., 404 on missing id) or auth requirements, which would add value 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 tight sentences: first states purpose, second gives the API endpoint. No filler, front-loaded, and 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?
For a simple get-by-id tool with one parameter, full schema coverage, and readOnly annotations, this description is complete. No output schema exists, but the operation is straightforward and the description covers essential intent.
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 schema already describes 'id' as 'Counterparty id'. The description merely echoes 'by id', adding no new semantic meaning. 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 ('Get') and the resource ('single counterparty by id'), distinguishing it from sibling tools like 'list_counterparties' (multiple) and 'create_counterparty' (creation). The API endpoint confirms it's a read operation.
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 use when you have a specific id and want one counterparty, but does not explicitly contrast with 'list_counterparties' or state when not to use. The context of sibling tools makes it clear, but a brief note would improve guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
modern_treasury_get_ledger_accountGet ledger accountARead-onlyInspect
Get a single ledger account by id, including balances. API: GET /ledger_accounts/{id}.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Ledger account id. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, indicating safe read. Description adds useful context: includes balances and indicates GET method. 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?
Single sentence, no fluff, includes purpose and 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 get-by-id with no output schema, the description covers the action and return content (balances). Lacks mention of error handling or id format, but adequate for a straightforward fetch.
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 parameter description 'Ledger account id.' Description adds no further meaning beyond what schema already provides, 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?
Description clearly states verb 'Get', resource 'a single ledger account', and adds 'including balances'. It distinguishes from sibling 'modern_treasury_list_ledger_accounts' by specifying single vs list.
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. The action is implied by the name and context, but no contrast with sibling list tool is provided, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
modern_treasury_get_payment_orderGet payment orderARead-onlyInspect
Get a single payment order by id (READ ONLY). API: GET /payment_orders/{id}.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Payment order id. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. Description reinforces 'READ ONLY' and adds the API endpoint for clarity. No other behavioral traits needed for a simple get operation.
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, zero waste, front-loaded with key information. Every sentence adds value.
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 get-by-id tool with one parameter, no output schema, and good annotations, the description is complete. It covers purpose, usage, and safety.
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 description 'Payment order id.' The description adds 'by id' context but no further semantics beyond what the schema provides. 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?
The description uses specific verb 'Get', resource 'payment order', and scope 'single...by id'. It clearly distinguishes from sibling 'list_payment_orders' and adds 'READ ONLY' and the API endpoint.
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?
Clear context for use: retrieving a single payment order by id. No explicit when-not-to-use, but sibling naming implies alternates for listing. Lacks explicit exclusion conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
modern_treasury_get_transactionGet transactionARead-onlyInspect
Get a single transaction by id. API: GET /transactions/{id}.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Transaction id. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description includes the HTTP method (GET) which aligns with the readOnlyHint annotation. No additional behavioral traits are disclosed beyond what the annotation provides, so the score is baseline for tools 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 two short sentences with no waste. It front-loads the key purpose and then provides the API endpoint. 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?
For a single-parameter read operation with no output schema, the description is complete. It covers the purpose, parameter, and API path, leaving 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?
With 100% schema coverage, the parameter 'id' is well-documented in the schema. The description does not add further meaning beyond what the schema provides, so baseline score applies.
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 'Get' and the resource 'a single transaction', with the key parameter 'id'. It is specific and distinguishes itself from sibling tools like modern_treasury_list_transactions, which lists multiple transactions.
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?
While the description does not explicitly state when not to use or provide alternatives, it clearly implies use for retrieving a specific transaction by ID. The sibling list_transactions tool provides an alternative for listing, so 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.
modern_treasury_list_counterpartiesList counterpartiesBRead-onlyInspect
List counterparties (contacts). API: GET /counterparties.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Filter by counterparty name. | |
| No | Filter by counterparty email. | ||
| per_page | No | Results per page (default 25, max 100). | |
| after_cursor | No | Pagination cursor from a prior response's next_cursor (X-After-Cursor header). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, making the safe read-only behavior clear. However, the description does not mention pagination behavior (cursor, default limit) or any other behavioral traits beyond the API call. Minimal additional value.
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?
Extremely concise: one sentence plus API reference. No filler; every word is useful.
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 coverage and explicit annotations, the description is minimally adequate. It lacks details on response format or pagination handling, but given the tool's simplicity and available metadata, it 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 descriptions cover all 4 parameters (100% coverage). The description adds no extra meaning for parameters; 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 tool lists counterparties (contacts) and provides the API endpoint. It effectively distinguishes from sibling tools like create_counterparty and get_counterparty by specifying the list operation.
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 other list tools (e.g., list_external_accounts) or the individual get_counterparty. No mention of when not to use it or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
modern_treasury_list_expected_paymentsList expected paymentsBRead-onlyInspect
List expected payments (READ ONLY). API: GET /expected_payments.
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Filter by status, e.g. unreconciled, reconciled. | |
| per_page | No | Results per page (default 25, max 100). | |
| after_cursor | No | Pagination cursor from a prior response's next_cursor (X-After-Cursor header). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description's 'READ ONLY' is redundant. No additional behavioral details such as rate limits, response structure, or side effects are provided.
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?
Extremely concise with two sentences. First sentence captures purpose, second adds the API endpoint. 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?
Lacks output schema and does not describe the response format, pagination behavior beyond the schema, or any other context needed for a list operation. Adequate but not 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 coverage is 100%, so all three parameters are documented in the input schema. The description adds no extra parameter information, earning the baseline score.
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 the verb 'list' and resource 'expected payments', with explicit read-only indication and API endpoint. Distinguishes from sibling list tools by naming a 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. The phrase 'READ ONLY' implies it's safe but does not explain when to prefer it over other list tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
modern_treasury_list_external_accountsList external accountsARead-onlyInspect
List external (counterparty) bank accounts. API: GET /external_accounts.
| Name | Required | Description | Default |
|---|---|---|---|
| per_page | No | Results per page (default 25, max 100). | |
| after_cursor | No | Pagination cursor from a prior response's next_cursor (X-After-Cursor header). | |
| counterparty_id | No | Filter by owning counterparty id. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description's addition of 'List' is redundant. It does not disclose any behavioral traits beyond what annotations provide, such as pagination behavior or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with one sentence containing no extraneous 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 the low complexity, zero required parameters, and full schema coverage, the description is adequate. However, it lacks any mention of pagination or filtering behavior, which could be helpful.
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 parameters are already well-documented in the schema. The description adds no additional meaning beyond the parameter 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 'list' and the resource 'external (counterparty) bank accounts', distinguishing it from sibling tools like 'list_internal_accounts' and 'list_counterparties'.
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 external counterparty accounts but offers no explicit guidance on when to use this tool versus alternatives. No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
modern_treasury_list_internal_accountsList internal accountsARead-onlyInspect
List your organization's internal bank accounts. API: GET /internal_accounts.
| Name | Required | Description | Default |
|---|---|---|---|
| per_page | No | Results per page (default 25, max 100). | |
| after_cursor | No | Pagination cursor from a prior response's next_cursor (X-After-Cursor header). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description aligns with the readOnlyHint annotation, indicating a read operation. It does not add behavioral details beyond the annotation, such as pagination behavior or rate limits, which are partially covered by the input schema.
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 two short sentences, no waste. The API endpoint inclusion is slightly redundant but not harmful.
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 straightforward list tool with good schema coverage and readOnly annotation, the description is adequately complete. It does not describe the return format but that is typical for list endpoints.
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 add parameter details. It adds no extra meaning beyond what the schema 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 verb 'list' and the resource 'internal bank accounts', distinguishing it from sibling tools like list_external_accounts. The API path reinforces the purpose.
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 use for listing organization's internal accounts, which naturally excludes external accounts. However, no explicit comparison with alternatives or when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
modern_treasury_list_ledger_accountsList ledger accountsBRead-onlyInspect
List ledger accounts. API: GET /ledger_accounts.
| Name | Required | Description | Default |
|---|---|---|---|
| per_page | No | Results per page (default 25, max 100). | |
| ledger_id | No | Filter by ledger id. | |
| after_cursor | No | Pagination cursor from a prior response's next_cursor (X-After-Cursor header). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, confirming read-only behavior. The description adds minimal value by specifying the API endpoint (GET /ledger_accounts), but does not elaborate on pagination, response structure, or any side effects.
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 with two short sentences. No superfluous text, but could be slightly more informative without sacrificing brevity.
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 no output schema and good annotations, the description is adequate. However, it misses details like return type (list of accounts) and pagination behavior, which would aid 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?
Input schema covers all three parameters with descriptions (100% coverage). The description does not add any extra meaning beyond 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?
The description 'List ledger accounts' clearly states the verb and resource, making the tool's purpose immediately understandable. However, it does not differentiate from sibling tools like list_ledger_entries or list_ledgers, missing an opportunity to clarify scope.
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 is provided on when to use this tool versus alternatives (e.g., list_ledger_entries for entries, list_ledgers for ledgers). The description lacks context for agent decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
modern_treasury_list_ledger_entriesList ledger entriesARead-onlyInspect
List ledger entries (individual debits/credits). API: GET /ledger_entries.
| Name | Required | Description | Default |
|---|---|---|---|
| per_page | No | Results per page (default 25, max 100). | |
| after_cursor | No | Pagination cursor from a prior response's next_cursor (X-After-Cursor header). | |
| ledger_account_id | No | Filter by ledger account id. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already provide readOnlyHint=true, so the description adds the endpoint 'GET /ledger_entries', confirming the read-only behavior. However, no additional behavior (like rate limits, auth, or response details) is disclosed beyond what annotations cover.
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 a single sentence plus the endpoint, both highly concise with no superfluous words. Every sentence contributes value.
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 tool is simple with only three optional filter parameters and no output schema. The description adequately names the resource and action but does not clarify the response format or pagination behavior (the schema describes cursor pagination but the description omits it).
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% (all three parameters have descriptions in the schema). The description adds no additional meaning or context for the 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 the verb 'List' and the resource 'ledger entries', with a clarifying parenthetical '(individual debits/credits)' that distinguishes it from sibling tools like list_ledger_accounts or list_ledger_transactions.
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 is given on when to use this tool versus alternatives (e.g., list_ledger_accounts for accounts or list_ledger_transactions for transactions). There are no when-to-use, when-not-to-use, or prerequisite conditions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
modern_treasury_list_ledgersList ledgersARead-onlyInspect
List double-entry ledgers. API: GET /ledgers.
| Name | Required | Description | Default |
|---|---|---|---|
| per_page | No | Results per page (default 25, max 100). | |
| after_cursor | No | Pagination cursor from a prior response's next_cursor (X-After-Cursor header). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, and the description merely confirms the HTTP method. No additional behavioral traits beyond what annotations provide, but 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?
Extremely concise: two sentences, front-loaded the action, no unnecessary words. Every sentence provides value.
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 no output schema, the description is minimal. It lacks what the return value contains, but given the tool name and context, it is marginally 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%, so the schema fully documents the parameters. Description adds no extra meaning beyond the schema, which is adequate.
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 double-entry ledgers' which is a specific verb+resource pair. The API endpoint is provided, and it is distinct from sibling tools that list other resources.
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 or when not, but the purpose is obvious and there are no sibling tools for listing ledgers. Implied usage is clear, but no exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
modern_treasury_list_ledger_transactionsList ledger transactionsARead-onlyInspect
List ledger transactions (READ ONLY — does not post value). API: GET /ledger_transactions.
| Name | Required | Description | Default |
|---|---|---|---|
| per_page | No | Results per page (default 25, max 100). | |
| ledger_id | No | Filter by ledger id. | |
| after_cursor | No | Pagination cursor from a prior response's next_cursor (X-After-Cursor header). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description's 'READ ONLY' adds no new insight. It mentions the API path but provides no additional behavioral details such as pagination behavior, rate limits, or data freshness.
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 with only two short sentences, front-loading the key purpose and read-only nature. 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 simple list tool with full schema coverage and readOnlyHint, the description is adequate. It lacks detail on return format but the schema handles pagination parameters. It is complete enough for the intended use.
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 elaborate on parameters. However, it also adds no extra meaning beyond what the schema already 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 clearly states the tool lists ledger transactions, specifies it is read-only, and provides the API endpoint. This distinguishes it from sibling tools like list_ledger_entries or list_ledgers.
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 indicates the tool is for retrieval ('READ ONLY') but does not explicitly state when to use it versus alternatives. No comparisons or exclusions are provided beyond the resource name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
modern_treasury_list_payment_ordersList payment ordersARead-onlyInspect
List payment orders (READ ONLY — does not create or approve payments). API: GET /payment_orders.
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Filter by status, e.g. approved, pending, completed. | |
| per_page | No | Results per page (default 25, max 100). | |
| direction | No | Filter by direction. | |
| after_cursor | No | Pagination cursor from a prior response's next_cursor (X-After-Cursor header). | |
| counterparty_id | No | Filter by counterparty id. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true; the description adds only the API endpoint and reaffirms read-only nature, with no further behavioral details (e.g., pagination, rate limits).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words: front-loaded purpose and safety constraint followed by the HTTP method and endpoint.
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 well-documented parameters and readOnlyHint annotation, the description covers the essential purpose and usage, though it omits details about response structure (no output schema needed).
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%; all five parameters have descriptions in the schema. The description does not add any additional semantics beyond what the schema provides, 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 'List', the resource 'payment orders', and explicitly notes it is read-only, distinguishing it from mutation tools among 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 explicitly says 'READ ONLY — does not create or approve payments', providing clear when-to-use and when-not-to-use context, though it does not name specific alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
modern_treasury_list_returnsList returnsARead-onlyInspect
List payment returns (e.g. ACH returns). API: GET /returns.
| Name | Required | Description | Default |
|---|---|---|---|
| per_page | No | Results per page (default 25, max 100). | |
| after_cursor | No | Pagination cursor from a prior response's next_cursor (X-After-Cursor header). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, so the description adds minimal extra context (example of returns, 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 minimal waste. The API endpoint is extra but not harmful. Could be improved by removing the endpoint reference.
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 well-documented parameters, the description adequately explains what returns are (ACH returns). No output schema needed for such a straightforward 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 coverage is 100% with descriptions for both parameters, so the description provides no additional parameter meaning. 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 'List payment returns' with an example (ACH), clearly identifying the resource and action. This distinguishes it from sibling tools like list_payment_orders.
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 such as searching or filtering. No when-not-to-use or prerequisite conditions provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
modern_treasury_list_transactionsList transactionsCRead-onlyInspect
List bank transactions. API: GET /transactions.
| Name | Required | Description | Default |
|---|---|---|---|
| per_page | No | Results per page (default 25, max 100). | |
| after_cursor | No | Pagination cursor from a prior response's next_cursor (X-After-Cursor header). | |
| internal_account_id | No | Filter by internal account id. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral context beyond the 'readOnlyHint' annotation. It does not mention pagination behavior, rate limits, or any side effects. The annotation already covers the safety, so the description offers minimal added value.
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 very short (two sentences), with no redundancy. It is front-loaded with the main action. However, it may be overly terse, missing opportunities to add context.
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 should explain the response format or default behavior (e.g., returns all or filtered by internal account). It is incomplete; the agent is left wondering what data is returned.
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 parameters are already documented. The description adds nothing beyond the schema, resulting in the baseline score of 3.
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 bank transactions and references the API endpoint. However, it does not differentiate from sibling tools like modern_treasury_list_ledger_transactions or modern_treasury_list_payment_orders, which could cause confusion.
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. No mention of use cases, prerequisites, or exclusions. The description provides no decision-making help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
modern_treasury_pingPing (auth check)ARead-onlyInspect
Verify connectivity and credentials. API: GET /ping.
| 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, so the description's mention of 'verify' and 'auth check' adds context beyond the annotation without contradicting it.
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 short sentences, zero waste, and front-loaded with the core 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 health-check tool with no parameters and clear annotations, the description is complete enough. It could mention the expected return value but is not necessary for this simple case.
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?
No parameters exist and schema coverage is 100%. The description adds meaning by explaining the tool's action, which is sufficient given the absence of params.
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 verifies connectivity and credentials, which is a specific verb+resource. It is distinct from sibling tools that handle counterparties, accounts, payments, etc.
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 checking connectivity/auth but does not explicitly state when to use it vs. alternatives. Sibling tools are all CRUD operations, so context is clear but no direct guidance.
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
- Flicense-qualityBmaintenanceAn MCP server that enables AI agents to safely interact with a double-entry payments ledger, enforcing idempotency, policy-based access control, and human-in-the-loop approval for high-value actions.
- AlicenseAqualityBmaintenanceMCP server for PayMongo payment gateway (Philippines). Supports payment intents, sources, payments, refunds, and checkout sessions via Basic Auth.24121MIT

@gravv/mcpofficial
AlicenseAqualityAmaintenanceMCP server for the Gravv payments API that lets AI assistants onboard customers, run KYC, open accounts, move money, issue cards, and exchange currency, with built-in documentation search and safety confirmations for money-moving operations.2617MIT- Flicense-qualityDmaintenanceAn MCP server for FixPayment creditors that simplifies account management, status updates, and reporting through plain-English AI interactions (https://fixpayment.org/)