Krosos
Server Details
Your accounting ledger as typed tools: net worth, holdings, history, tax estimates, trade logging.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
TDQS
Each tool has a clear, distinct purpose. Pairs like get_prices/refresh_prices and list_transactions/log_trade are differentiated by read vs. write/update semantics, with no functional overlap.
All tool names follow a consistent lowercase verb_noun pattern (get_, list_, log_, record_, refresh_, sync_), making the API predictable and easy to navigate.
12 tools is well within the typical range for a domain-specific API, covering both read and write operations without being excessive or sparse.
The tool set covers core financial data retrieval (dashboard, history, prices, tax) and mutations (log trade, adjust balance, sync). Minor gaps like updating projection assumptions or deleting records exist, but they are not critical given the client-side computation and stated scope.
Available Tools
12 toolsget_dashboardAInspect
Net worth, balance sheet and current holdings, in the ledger's base currency.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only lists what is returned, but does not disclose behavioral traits such as whether the operation is read-only, requires specific permissions, is computationally expensive, or is idempotent. The mention of 'base currency' adds minimal transparency.
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 that is front-loaded with the key outputs (Net worth, balance sheet, current holdings). It contains no redundant information and is highly 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 that there are no parameters and no output schema, the description covers the essential information: what the tool returns. It does not specify the format or structure of the output, but for a simple dashboard snapshot, the description is reasonably complete. A higher score would require mention of whether the balance sheet includes all accounts or just a subset.
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 tool has no parameters, so the description does not need to explain parameter meanings. Schema description coverage is 100% trivially, and the description adequately describes what the tool does without parameter context. Baseline of 3 is exceeded because no parameters need compensation.
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 that the tool returns net worth, balance sheet, and current holdings in the ledger's base currency. This distinguishes it from siblings like get_net_worth_history (historical data) and get_tax_report (tax-specific). The verb 'get' plus specific resources (net worth, balance sheet, holdings) makes 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 usage for a current financial snapshot but does not explicitly state when to use this versus alternatives like get_net_worth_history for historical trends or list_transactions for transaction-level details. 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.
get_net_worth_historyAInspect
Historical net-worth snapshots (one point per day where recorded).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that data is returned as daily snapshots only for days with records, which is key behavioral context. However, it does not mention authorization, safety, or performance characteristics.
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?
A single, front-loaded sentence with no filler. Every word adds value, making it maximally concise.
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 no parameters, the description provides a basic idea but lacks details on the return format (e.g., fields like date, value). For a simple historical data tool, this may be sufficient but not fully 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?
The tool has zero parameters and 100% schema coverage in the input schema. Per guidelines, the baseline for no parameters is 4, and the description adds no redundant parameter info.
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 historical net-worth snapshots, with the specific detail of one point per day where recorded. It effectively distinguishes from siblings like get_dashboard or list_transactions which serve different purposes.
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 viewing historical net worth trends but lacks explicit guidance on when to use this tool versus alternatives like get_dashboard. 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.
get_pricesAInspect
Current price per ticker with its source, quote currency and recent change, plus any manual overrides.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are given, so the description is the sole source. It indicates a read-only operation (get) and outlines the data returned, but does not mention permissions, rate limits, or any side effects. As a getter, this is largely 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 a single, well-structured sentence that conveys all key aspects of the tool without unnecessary detail. It is concise and to the point.
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 lack of an output schema, the description adequately lists the data fields (source, quote currency, recent change, manual overrides). It does not specify the exact output format (e.g., list vs. dictionary), but this is a minor omission.
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 tool has no parameters, so no parameter explanation is needed. The description appropriately focuses on the output, making this dimension trivially satisfied.
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 returns current price per ticker, including source, quote currency, recent change, and manual overrides. This is specific and distinguishes it from other data-retrieval tools like get_dashboard or get_net_worth.
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 price data but does not explicitly state when to prefer this over sibling tools. No guidance on context or alternatives is provided, though the purpose is clear from the name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_projection_configAInspect
The forecast/FIRE plan's assumptions (salary, expenses, inflation, retirement dates, tax mode). The projection itself is computed client-side.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description adds context about what is not included (the projection itself) but lacks details on read-only nature, authorization needs, 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?
Two sentences with zero waste. Front-loads the purpose and provides concrete examples efficiently.
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?
Adequate for a parameterless tool with no output schema. Describes the return content adequately. Could mention output format (e.g., JSON) 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?
Schema has no parameters (100% coverage trivially). Description adds semantic value by listing the included assumption categories, giving the agent meaningful expectations.
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 it retrieves forecast/FIRE plan assumptions, listing specific examples (salary, expenses, etc.), and distinguishes itself from the client-side projection computation. This differentiates it from sibling tools like get_dashboard or get_net_worth_history.
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?
Implied usage for obtaining assumptions, but no explicit when-to-use or when-not-to guidance. No mention of alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_reference_dataAInspect
Valid accounts, providers, tickers, asset classes and categories. Read this before writing: trades and adjustments must use these values unless allow_new_values is set.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of explaining behavior. It does not explicitly state that the tool is read-only or safe, but the content (reference data) and guidance ('read before writing') strongly imply a non-destructive, informational purpose. A more explicit disclosure would improve this score.
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 short, actionable sentences with no wasted words. The first sentence lists the data types, the second provides critical usage guidance. Optimal conciseness for the content.
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 has no parameters and no output schema, so the description needs only to explain what it returns and when to use it. It does both adequately. However, it could mention if the output is paginated or if there is a default format, but given the simplicity, 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?
There are no parameters, so the schema coverage is trivially 100%. The description adds value by explaining the purpose of the returned data (valid values for writing operations), which goes beyond the empty 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 the tool returns valid accounts, providers, tickers, asset classes, and categories. It distinguishes itself from sibling writing tools (log_trade, record_balance_adjustment) by explicitly positioning it as a prerequisite reference 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 explicitly advises 'Read this before writing' and notes that trades and adjustments must use these values unless allow_new_values is set. This provides clear context on when to use the tool, though it does not name an alternative tool for the 'allow_new_values' case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tax_reportAInspect
Capital-gains / income tax estimate for a year: gains, losses, exemption (including any carried-forward amount), taxable base and estimated tax.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | Defaults to the current year | |
| account | No | One portfolio; absent sums every configured one |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It describes the tool as providing an 'estimate' and mentions carried-forward amounts, but does not explicitly declare it as read-only, disclose authentication requirements, or describe 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 a single sentence that efficiently lists key output components. While dense, it contains no redundant 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?
With no output schema, the description compensates by listing report contents. It covers the main purpose and parameter usage (year default, account summing). Missing is a mention of data format (e.g., object with fields).
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 with defaults. The description adds value by enumerating what the report includes (gains, losses, exemption, etc.), giving the agent context beyond parameter names.
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 provides a capital-gains/income tax estimate for a year, listing specific output components (gains, losses, exemption, taxable base, estimated tax). It distinguishes itself from siblings like get_dashboard or get_net_worth_history.
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 is given. The description implies it is for tax estimates, but does not compare to alternatives like get_dashboard or list_transactions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_connectionsBInspect
Linked exchange, bank and wallet connections, each with its sync mode (balance updates, or transactions staged for review) and when it last synced.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosure, but it says nothing about side effects, read-only guarantees, or whether external systems are contacted. It only describes the content of the connections, not the behavior of the 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?
The description is concise and packs relevant details into a single sentence. However, it begins with 'Linked' as a dangling modifier, which slightly hampers readability, and front-loads the action less effectively than starting with 'Lists' or 'Returns'.
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 no parameters and no output schema, the description covers the essential aspects: the type of connections returned and the included attributes (sync mode, last sync). While details like ordering or pagination are absent, nothing critical is missing for invoking this 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?
The tool has zero parameters, so no parameter explanation is needed. The description correctly avoids adding parameter details, matching the baseline of 4 for parametric simplicity.
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 identifies the resource (exchange, bank, wallet connections) and key attributes (sync mode, last sync), which makes the tool's purpose fairly clear. However, the absence of an explicit verb like 'list' or 'returns' makes it a fragment, and it relies on the tool name to anchor the action.
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 no guidance on when to use this tool versus siblings like 'sync_connections' or 'list_transactions'. There is no mention of alternatives, exclusions, or context in which this tool should be preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_transactionsAInspect
Transaction history as a human-friendly list, newest first.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states the output is human-friendly and sorted, but does not disclose potential limitations like pagination, date range, or whether it includes all transactions. For a list tool, more behavioral context is needed.
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 that clearly conveys the tool's purpose and ordering. It is efficient with 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 the tool has no parameters and no output schema, the description provides the essentials (list, human-friendly, newest first). However, it lacks details about what fields are included, any limits, or whether it reflects the latest data. It is minimally adequate but not comprehensive.
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?
There are zero parameters and the schema coverage is 100% (empty). The description adds no parameter info, but none is needed. Baseline for no parameters is 4, and the description satisfies this.
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 that the tool returns a human-friendly list of transaction history sorted newest first. It is a specific verb+resource combination and distinguishes from sibling tools like get_dashboard or get_net_worth_history, which serve different purposes.
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 a user wants transaction history in a readable list, but provides no explicit when-to-use, when-not-to-use, or alternative tool guidance. It does not mention siblings or constraints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
log_tradeBInspect
Log a trade (buy / sell / swap), expressed as from-asset to to-asset. Same body and validation as POST /api/transactions.
| Name | Required | Description | Default |
|---|---|---|---|
| to_risk | No | ||
| tx_date | Yes | Today or tomorrow at the latest (the user's own calendar day); later dates are rejected | |
| to_asset | Yes | ||
| from_risk | No | ||
| to_amount | Yes | ||
| to_ticker | Yes | ||
| from_asset | Yes | ||
| to_account | Yes | ||
| description | No | ||
| from_amount | Yes | ||
| from_ticker | Yes | ||
| to_category | No | ||
| to_provider | Yes | ||
| from_account | Yes | ||
| from_category | No | ||
| from_provider | Yes | ||
| to_description | No | ||
| allow_new_values | No | Create accounts/providers/tickers not yet in reference-data. Default false. | |
| from_description | No | ||
| overall_eur_value | Yes | The trade's total value in the ledger's base currency (the field name is historical: EUR was the only base) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says 'Same body and validation as POST /api/transactions', which is vague and assumes external API knowledge. It does not disclose that this is a mutating operation, that reference-data values may need to exist unless allow_new_values is set, or what side effects occur.
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 with no fluff. It front-loads the core purpose and then points to the API contract. Every sentence earns its place, and there is no redundant repetition of the tool name.
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 tool with 20 parameters, 12 required fields, no output schema, and no annotations, this description is insufficient. It relies on the agent already knowing POST /api/transactions, does not mention return behavior, and does not summarize required inputs. It is far from self-contained.
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 only 15%, so the description must compensate, but it does not explain the 20 parameters. The 'from-asset to to-asset' framing provides a useful high-level mapping for from_* and to_* fields, but leaves account, provider, ticker, amount, category, and risk semantics undocumented.
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 a specific verb and resource: 'Log a trade (buy / sell / swap)'. The 'from-asset to to-asset' phrasing clarifies the trade structure, and 'Same body and validation as POST /api/transactions' gives a precise contract. This clearly distinguishes it from siblings like record_balance_adjustment.
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 does not state when to use this tool versus alternatives, nor does it mention exclusions or prerequisites. While it implies usage for recording trades, it gives no guidance about using list_transactions for retrieval or record_balance_adjustment for non-trade changes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
record_balance_adjustmentAInspect
Record a signed quantity change on one holding (a balance update that is not a trade). Same body and validation as POST /api/position-adjustments.
| Name | Required | Description | Default |
|---|---|---|---|
| asset | Yes | ||
| ticker | Yes | ||
| account | Yes | ||
| tx_date | Yes | Today or tomorrow at the latest (the user's own calendar day); later dates are rejected | |
| provider | Yes | ||
| quantity_delta | Yes | Signed quantity change (non-zero) | |
| allow_new_values | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full behavioral disclosure responsibility. It conveys signed quantity, single-holding scope, and the same validation as a POST endpoint, but does not explain side effects, required permissions, reversibility, or failure behavior for this mutation.
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 with no filler: the core purpose is front-loaded, and the second sentence adds useful API compatibility context. Every sentence earns its place, and the parenthetical distinction from a trade is efficient and high-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?
Given 7 parameters, no output schema, no annotations, and low schema coverage, the description is too thin to fully equip an agent. It explains the general purpose but omits parameter semantics, expected outcomes, and edge cases, leaving important context to inference.
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 only 29%, and the description does not compensate for the undocumented parameters. It adds context around 'signed quantity change' and references the POST endpoint, but asset, ticker, account, provider, and allow_new_values remain unexplained, leaving an agent unable to determine their intended values or relationships.
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 a specific verb and object: 'Record a signed quantity change on one holding'. It also explicitly distinguishes the operation from a trade, which differentiates it from the sibling log_trade tool without needing to inspect schemas.
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 clearly frames this as a balance update that is not a trade, giving an implied usage boundary against log_trade. It does not name the alternative explicitly or list specific scenarios, but the 'not a trade' exclusion is sufficient contextual guidance for an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
refresh_pricesAInspect
Fetch fresh market prices now. With no ticker this refreshes every priced holding; with one it refreshes just that ticker.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | Provider symbol when it differs from the ticker | |
| ticker | No | Omit to refresh every ticker |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. The description states that the tool fetches fresh prices, implying a network call and potential latency, but it does not disclose side effects (e.g., whether it updates stored data, rate limits, or auth requirements). It also doesn't mention what happens if the symbol is invalid or if the refresh fails. Given the lack of annotations, a score of 3 is appropriate—it adds some behavioral context (refreshing vs. fetching) but leaves significant gaps.
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 and front-loaded with the primary purpose. Every word earns its place: it states the action, the scope (all vs. one), and the parameter behavior. No fluff or redundancy. This is a model of conciseness.
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 (2 optional parameters, no output schema, no nested objects), the description is nearly complete. It explains the two modes of operation and the parameter semantics. The only missing context is behavioral details like error handling or side effects, but for a refresh tool with no annotations, the description covers the essential usage. It could be improved by noting that this is a network operation, but the core functionality is well explained.
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 description coverage is 100%, meaning both parameters (symbol and ticker) are documented in the schema. The description adds the key semantic that omitting ticker refreshes all holdings, which is not fully explicit in the schema (the schema says 'Omit to refresh every ticker' but the description clarifies the behavior). However, the description does not explain the difference between symbol and ticker beyond what the schema says. Since the schema already covers the parameters well, a 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's purpose: 'Fetch fresh market prices now.' It specifies the verb (fetch), the resource (market prices), and the action (refresh). It also distinguishes between two modes: refreshing all priced holdings when no ticker is provided, and refreshing a single ticker when one is provided. This differentiates it from sibling tools like get_prices, which likely retrieves cached prices.
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 clear usage context: 'With no ticker this refreshes every priced holding; with one it refreshes just that ticker.' This explains when to use the tool with or without the ticker parameter. However, it does not explicitly state when to use this tool versus alternatives like get_prices, though the purpose of refreshing vs. fetching is implied. No exclusions or alternatives are named, but the context is clear enough for an agent to decide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sync_connectionsAInspect
Sync every linked connection in one pass: push the latest balance into each linked holding, and stage new transactions into the review queue. Reports what was written, what was staged and any per-provider errors.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It discloses key side effects: writing latest balances into linked holdings and staging new transactions into a review queue. It also states that it reports written/staged items and per-provider errors. Minor gaps remain around idempotency, reversibility, and auth requirements, but the main behavior is clearly exposed.
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 with no filler: the first sentence front-loads the tool's purpose and primary effects, and the second compactly summarizes the output behavior. Every clause contributes useful 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 an empty-schema, no-output-schema tool, this description is largely complete: it covers the action, scope, side effects, and error reporting. A caveat about prerequisites such as requiring existing linked connections or whether the operation is repeatable would round it out, but it is not a major gap.
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 tool has zero parameters and the schema has 100% coverage, so there is no parameter semantics for the description to add. The baseline score for a no-parameter tool is 4.
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 a specific verb and resource: 'Sync every linked connection in one pass' and clearly enumerates the operations (pushing balances and staging transactions). It distinguishes itself from siblings like refresh_prices by describing a broader sync of holdings and transactions rather than just price 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 phrase 'every linked connection in one pass' gives clear context for when to use this tool as a bulk sync across all connections. It does not explicitly name alternatives or exclusions, but the scope is well-defined enough to infer the intended use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
2 tool updates
- Changed
log_trade1 field changed- added
Input schema / properties / tx_date / descriptionAdded value: +"Today or tomorrow at the latest (the user's own calendar day); later dates are rejected"
- Changed
record_balance_adjustment1 field changed- added
Input schema / properties / tx_date / descriptionAdded value: +"Today or tomorrow at the latest (the user's own calendar day); later dates are rejected"
4 tool updates
- Added
get_prices - Added
list_connections - Added
refresh_prices - Added
sync_connections
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity – fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge – works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge – works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
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
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
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 Connectors
- OrlaOAuthfinance.orla
Personal, family and business books over fiat and crypto. Reads and records; it cannot pay.
Stocks, crypto, FX, and portfolio math in one tool — no per-source API juggling.
Personal finance ledger for AI agents — query spending, track bills, forecast cash flow.
- WalleKOAuthapp.wallek
Personal finance ledger: log expenses, track bills and cards, import statements.
Related MCP Servers
- AlicenseBqualityAmaintenanceEnables local-first personal finance management through deterministic tools for importing, categorizing, and analyzing bank transactions.36MIT
- AlicenseAqualityBmaintenanceLocal-first crypto portfolio aggregation across exchanges (Bybit, Binance), EVM and Solana wallets, and Polymarket. Read-only credentials, runs as a local MCP server. Data aggregation only, not financial advice.15475MIT
- AlicenseAqualityAmaintenanceFull double-entry accounting on local GnuCash books: transactions (single and batch), invoices and bills, budgets, investment lots, scheduled transactions, reconciliation, and reports. Multi-currency and multi-book aware, with a plain-text audit trail of every write. Your data never leaves your machine.2798766MIT
- FlicenseNot gradedqualityDmaintenanceEnables interaction with local Beancount accounting ledgers through structured tools for viewing accounts, balances, and transactions, as well as inserting/removing transactions and answering natural-language questions via BeanQuery. Provides deterministic, validated, and auditable financial data operations with offline-first functionality.1-