Skip to main content
Glama

Server Details

Your accounting ledger as typed tools: net worth, holdings, history, tax estimates, trade logging.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

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.

100% free. Your data is private.
Tool DescriptionsA

Average 3.8/5 across 8 of 8 tools scored. Lowest: 3.2/5.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct resource or action: dashboard, history, config, reference data, tax report, transactions, trade logging, and balance adjustments. There is minimal overlap between read and write operations, and trade vs. adjustment is clearly differentiated by description.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern. Reads use 'get_' or 'list_', and writes use 'log_' or 'record_', which is a predictable and readable convention.

Tool Count5/5

With 8 tools, the set is well-scoped for a personal finance/portfolio server. Each tool addresses a core need (viewing, logging, reference, tax) without unnecessary bloat or missing essentials.

Completeness4/5

The surface covers current state, history, projections config, tax reports, transaction listing, and two types of write operations. However, there is no way to edit or delete transactions/balances, nor a tool to update projection config, which are minor but notable gaps.

Available Tools

8 tools
get_dashboardAInspect

Net worth, balance sheet and current holdings, in the ledger's base currency.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only 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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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

The description implies usage for a 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).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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_projection_configAInspect

The forecast/FIRE plan's assumptions (salary, expenses, inflation, retirement dates, tax mode). The projection itself is computed client-side.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNoDefaults to the current year
accountNoOne portfolio; absent sums every configured one
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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_transactionsAInspect

Transaction history as a human-friendly list, newest first.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only 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.

Conciseness5/5

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.

Completeness3/5

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

Given the tool has no parameters and no output schema, the description 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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
to_riskNo
tx_dateYes
to_assetYes
from_riskNo
to_amountYes
to_tickerYes
from_assetYes
to_accountYes
descriptionNo
from_amountYes
from_tickerYes
to_categoryNo
to_providerYes
from_accountYes
from_categoryNo
from_providerYes
to_descriptionNo
allow_new_valuesNoCreate accounts/providers/tickers not yet in reference-data. Default false.
from_descriptionNo
overall_eur_valueYesThe trade's total value in the ledger's base currency (the field name is historical: EUR was the only base)
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It mentions 'Same body and validation as POST /api/transactions' which hints at API-level validation, but it does not disclose side effects, reversibility, permissions, or output behavior. The behavior beyond the action itself is largely opaque.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the core purpose and a concise technical note. Every word earns its place, with no redundancy or filler.

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

Completeness2/5

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

Given the tool's complexity (20 parameters, 12 required, no output schema, no annotations), this description is drastically incomplete. It omits details on required fields, expected input formats, validation rules, return values, and any side effects, making it insufficient for an agent to fully understand the tool's behavior.

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

Parameters2/5

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

Schema description coverage is only 10%, and the description adds minimal parameter insight beyond the from/to asset concept already evident in the parameter names. It does not compensate for the lack of schema descriptions for the 20 parameters, leaving many fields unexplained.

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

Purpose4/5

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

The description clearly states the tool logs a trade (buy/sell/swap) and specifies the from-asset to to-asset structure, making the primary purpose unambiguous. It is distinguished from sibling tools by explicitly focusing on trades rather than adjustments or reads, though it does not explicitly name alternatives.

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

Usage Guidelines4/5

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

The description implies clear usage for logging trades and differentiates from other tools by the trade context. However, it provides no explicit guidance on when not to use this tool (e.g., for balance adjustments) or alternatives, so it lacks explicit exclusions.

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

record_balance_adjustmentBInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
assetYes
tickerYes
accountYes
tx_dateYes
providerYes
quantity_deltaYesSigned quantity change (non-zero)
allow_new_valuesNo
Behavior2/5

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

With no annotations, the description carries full burden but only states the action and references an API endpoint for validation. It does not disclose side effects, error behavior, rate limits, or authorization needs. The behavioral transparency is lacking.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with two sentences, front-loading the core action and key distinction. It is efficient but could include more detail without becoming verbose.

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

Completeness2/5

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

Given the complexity of the tool (7 parameters, no output schema, no annotations), the description is incomplete. It does not explain parameter meanings beyond one, lacks return value info, and provides no context on prerequisites or effects.

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

Parameters2/5

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

Schema coverage is only 14% (only 'quantity_delta' described). The description adds no parameter-level explanations beyond referencing the API endpoint. For 7 parameters, the description does not compensate for the sparse schema, leaving many parameters undefined.

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

Purpose5/5

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

The description clearly states the tool records a signed quantity change on a holding, explicitly distinguishing it from a trade. It uses specific verbs and resource references, and the sibling context with 'log_trade' reinforces the distinction.

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

Usage Guidelines3/5

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

The description implies usage for non-trade balance updates by stating 'not a trade', but does not provide explicit when-to-use or when-not-to-use guidance, nor does it mention prerequisites or alternatives beyond the implied sibling.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    B
    quality
    A
    maintenance
    Enables local-first personal finance management through deterministic tools for importing, categorizing, and analyzing bank transactions.
    36
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Local-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.
    15
    119
    5
    MIT
  • A
    license
    B
    quality
    A
    maintenance
    Full 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.
    109
    100
    58
    MIT
  • F
    license
    -
    quality
    D
    maintenance
    Enables 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

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources