Ledger CLI MCP Server
Server Quality Checklist
Latest release: v1.0.0
- Disambiguation5/5
Every tool has a clearly distinct purpose with no ambiguity. Each targets a specific aspect of ledger functionality (e.g., accounts, balances, budget, commodities, payees, printing, raw commands, register, stats), and their descriptions make it easy to differentiate between them.
Naming Consistency5/5All tool names follow a consistent 'ledger_' prefix with a descriptive noun or noun phrase (e.g., ledger_accounts, ledger_balance). This predictable pattern enhances readability and makes the tool set easy to navigate.
Tool Count5/5With 9 tools, the count is well-scoped for a ledger CLI server. Each tool serves a distinct and useful function in managing financial data, and there are no redundant or unnecessary tools, making the set appropriately sized for its domain.
Completeness4/5The tool set provides comprehensive coverage for querying and reporting on ledger data, including accounts, balances, transactions, and statistics. A minor gap is the lack of tools for creating or modifying ledger entries (e.g., add_transaction), but agents can work around this using ledger_raw_command for such operations.
Average 2.1/5 across 9 of 9 tools scored. Lowest: 1.5/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 0 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is passing
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior1/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. 'Show transaction register' implies a read-only operation but provides no information about permissions needed, data format returned, pagination, rate limits, or whether this is a live view versus cached data. For a tool with 10 parameters and no annotation coverage, this is completely inadequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at just three words, but this brevity comes at the cost of being under-specified rather than efficient. While front-loaded with the core action, it lacks the necessary detail for a tool with this complexity. The structure is simple but incomplete.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness1/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (10 parameters, no output schema, no annotations), the description is completely inadequate. It doesn't explain what a 'transaction register' contains, how it differs from other ledger tools, what parameters control, or what format the output takes. This leaves too many gaps for effective tool selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions no parameters whatsoever, while the schema has 10 parameters with 0% description coverage. The description doesn't even hint at the existence of date filtering, grouping options, or search capabilities that the parameters enable. This leaves the agent with no semantic understanding of what the parameters control.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose2/5Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Show transaction register' is a tautology that essentially restates the tool name 'ledger_register'. It doesn't specify what a 'transaction register' contains or how it differs from sibling tools like ledger_print or ledger_balance. While it indicates a display/read operation, it lacks specificity about scope or content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines1/5Does the description explain when to use this tool, when not to, or what alternatives exist?
There is absolutely no guidance about when to use this tool versus alternatives. With multiple sibling tools available (ledger_print, ledger_balance, ledger_stats, etc.), the description provides no context about when this specific register view is appropriate versus other ledger reporting tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior1/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure but fails completely. It doesn't indicate whether this is a read-only operation, what permissions might be required, whether it has side effects, how results are formatted, or any rate limits. The simple phrase 'Show account balances' provides no behavioral context beyond the basic action implied by the verb 'show'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at just three words, with no wasted language. It's front-loaded with the core action ('Show account balances') and contains no unnecessary elaboration. While this conciseness comes at the cost of completeness, the description itself is structurally efficient with every word serving a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness1/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (10 parameters with various date, grouping, and filtering options), lack of annotations, and absence of an output schema, the description is completely inadequate. It doesn't explain what the tool returns, how to interpret results, what the various parameters do, or when to use this versus other ledger tools. For a tool with this level of parameter richness, the minimal description fails to provide the necessary context for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions no parameters at all, while the input schema reveals 10 parameters with 0% schema description coverage (all parameters have descriptions in the schema itself, but the description field provides no additional context). For a tool with this many parameters (begin_date, end_date, query, daily, monthly, etc.), the description should at least hint at filtering or grouping capabilities, but it provides zero parameter guidance beyond what's in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose2/5Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Show account balances' is a tautology that essentially restates the tool name 'ledger_balance'. It provides minimal information beyond the name itself, failing to specify what kind of balances (e.g., current, historical, filtered) or for what scope (all accounts, specific accounts). While it indicates the general domain (account balances), it lacks the specificity needed to distinguish it from potential sibling tools like 'ledger_register' or 'ledger_stats'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines1/5Does 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 alternatives. There is no mention of context, prerequisites, or comparisons to sibling tools like 'ledger_accounts' or 'ledger_register'. An AI agent would have no indication of whether this is for summary balances, detailed transaction listings, or other purposes, making it impossible to make an informed choice among the available ledger tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior1/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure but fails completely. 'Show budget report' gives no indication of whether this is a read-only operation, what permissions might be required, whether it has side effects, how results are formatted, or any rate limits. The description provides zero behavioral context beyond the minimal implication that it displays information rather than modifies it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is maximally concise at just two words. While severely under-specified, it contains zero wasted language and is perfectly front-loaded. Every word (both of them) serves the core purpose of identifying the tool's function, though that function remains poorly defined.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness1/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's apparent complexity (7 parameters for generating budget reports with date ranges and grouping options), no annotations, no output schema, and 0% schema description coverage, the description is completely inadequate. 'Show budget report' fails to explain what a budget report contains, how it differs from other financial reports, what the parameters control, or what format the output takes. This leaves the agent unable to properly invoke or interpret results from this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions no parameters whatsoever, while the input schema shows 7 parameters (begin_date, daily, end_date, monthly, query, weekly, yearly) with 0% schema description coverage. The agent receives no guidance about what 'budget report' means in terms of date ranges, grouping options, or filtering capabilities. This leaves all parameter semantics completely undocumented in both the schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose2/5Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Show budget report' is a tautology that essentially restates the tool name 'ledger_budget' without adding meaningful specificity. It doesn't explain what a 'budget report' actually contains or how it differs from other ledger tools like 'ledger_balance' or 'ledger_stats'. The description lacks a clear verb+resource combination that would help an agent understand the tool's distinct function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines1/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides absolutely no guidance on when to use this tool versus the 7 sibling tools available (ledger_accounts, ledger_balance, ledger_commodities, ledger_payees, ledger_print, ledger_raw_command, ledger_register, ledger_stats). There's no mention of appropriate contexts, prerequisites, or alternatives, leaving the agent with no basis for selecting this specific budget tool over other ledger-related operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior1/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 of behavioral disclosure. The description only states 'Run a raw ledger command', which does not reveal any behavioral traits such as whether it's read-only or destructive, what permissions are needed, potential side effects, error handling, or output format. This is inadequate for a tool that likely executes commands, where such details are critical.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with a single sentence 'Run a raw ledger command', which is front-loaded and wastes no words. However, this conciseness comes at the cost of under-specification, but based on the scoring criteria, it earns a 5 for being appropriately sized with zero redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness1/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of running raw commands, no annotations, no output schema, and 0% schema description coverage, the description is severely incomplete. It fails to provide necessary context such as command syntax, expected behaviors, error cases, or how it relates to sibling tools, making it inadequate for safe and effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 1 parameter with 0% description coverage, and the description adds no meaning beyond the schema. It does not explain what 'raw ledger command arguments' are, their format, examples, or constraints. For a parameter named 'command' that accepts an array of strings, this lack of semantic context makes it difficult for an agent to use the tool correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose2/5Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Run a raw ledger command' is a tautology that essentially restates the tool name 'ledger_raw_command'. It specifies the verb 'run' and resource 'ledger command', but lacks specificity about what a 'raw ledger command' entails or how it differs from the 8 sibling tools (e.g., ledger_accounts, ledger_balance). This makes it vague and minimally helpful for distinguishing its purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines1/5Does 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 the 8 sibling tools. It does not mention any context, prerequisites, or alternatives, leaving the agent with no information to make an informed choice among the ledger-related tools. This is a significant gap for a tool with multiple siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior1/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 of behavioral disclosure. It only states what the tool does ('Show statistics') without any details on output format, performance, error handling, or other behavioral traits. This is inadequate for a tool with parameters and no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no wasted words. It's appropriately sized for a simple tool, though its brevity contributes to gaps in other dimensions. It's front-loaded and clear in its minimal form.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness1/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (1 parameter, no annotations, no output schema, and multiple sibling tools), the description is incomplete. It fails to explain what statistics are shown, how to use the parameter, or how it differs from other tools. This leaves significant gaps for an AI agent to operate effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 1 parameter with 0% description coverage, and the tool description provides no information about parameters. It doesn't explain what the 'query' parameter does, how to use it, or what 'Filter for statistics' means in practice. This leaves the parameter undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose3/5Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Show statistics about the ledger file' states a clear verb ('Show') and resource ('ledger file'), but it's vague about what specific statistics are shown and doesn't differentiate from sibling tools like 'ledger_balance' or 'ledger_register' that might also show statistical information. It provides a basic purpose but lacks specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no guidance on when to use this tool versus alternatives like 'ledger_balance' or 'ledger_register', nor does it mention any prerequisites or exclusions. It's a generic statement with no contextual usage information, leaving the agent to guess based on tool names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. 'Print' suggests output generation, but the description doesn't disclose behavioral traits like output format details, pagination, performance characteristics, or whether this is a read-only operation. It mentions 'ledger format' but doesn't explain what that entails.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (4 words) and front-loaded with the core purpose. However, this brevity comes at the cost of completeness - it's under-specified rather than efficiently informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and 3 parameters with 0% schema coverage, the description is inadequate. For a tool with multiple parameters and sibling alternatives, it should explain more about what 'ledger format' means, when to use it, and what parameters control.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions no parameters at all, while the schema has 3 parameters (begin_date, end_date, query) with 0% schema description coverage. The description fails to compensate for this complete lack of parameter documentation in the schema, leaving all parameters semantically undefined.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose3/5Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Print transactions in ledger format' states a clear verb ('Print') and resource ('transactions'), but is vague about scope and format. It doesn't specify what 'ledger format' means or distinguish this from sibling tools like 'ledger_register' or 'ledger_raw_command' that might also output transaction data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives. With multiple sibling tools for ledger data (accounts, balance, register, stats, etc.), the description offers no indication of when 'ledger_print' is appropriate versus other transaction-related tools like 'ledger_register'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- 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 of behavioral disclosure. 'List all commodities' implies a read-only operation, but it doesn't specify if it's safe, if there are rate limits, pagination, or what the output format looks like. For a tool with no annotations, this leaves significant behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with just three words, front-loaded and free of unnecessary details. It efficiently communicates the core action without waste, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and low schema description coverage, the description is incomplete. It doesn't explain what 'commodities' are in this context, how results are returned, or any constraints, making it inadequate for a tool that likely interacts with a ledger system.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 1 parameter with 0% description coverage in the schema itself, and the tool description doesn't mention any parameters. The description fails to compensate for the lack of schema documentation, leaving the 'query' parameter's purpose and usage unclear beyond what's minimally inferred from the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose3/5Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List all commodities' clearly states the verb ('List') and resource ('commodities'), making the purpose understandable. However, it doesn't differentiate this tool from its siblings (like ledger_accounts or ledger_payees) which likely also list different resource types, so it's adequate but lacks sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 alternatives. It doesn't mention context, prerequisites, or exclusions, leaving the agent to infer usage based on the tool name alone, which is insufficient for effective selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- 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 of behavioral disclosure. 'List all payees' implies a read-only operation, but it doesn't specify if it requires authentication, how results are returned (e.g., pagination, format), or any rate limits. For a tool with zero annotation coverage, this is insufficient to inform safe and effective use.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with just three words, front-loaded to convey the core action immediately. There's no wasted language, making it efficient for quick understanding, though this brevity contributes to gaps in other dimensions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema, no annotations), the description is incomplete. It doesn't explain the parameter's role, the return format, or behavioral aspects like error handling. For even a basic tool, more context is needed to ensure the agent can invoke it correctly without guesswork.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions no parameters, but the input schema has one parameter ('query') with 0% schema description coverage (the schema's description is generic). The description doesn't add any meaning beyond the schema, such as explaining what 'payees' are or how the 'query' filter works. With low coverage, it fails to compensate for the lack of schema details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose3/5Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List all payees' clearly states the verb ('List') and resource ('payees'), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'ledger_accounts' or 'ledger_register' which might also list things, and 'all' is somewhat vague about scope. This is adequate but has clear gaps in specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 alternatives. It doesn't mention sibling tools or contexts where other tools might be more appropriate, such as using 'ledger_register' for transaction details or 'ledger_accounts' for account listings. This lack of comparative context leaves usage unclear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- 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 of behavioral disclosure. 'List all accounts' implies a read-only operation, but it doesn't specify whether this is a safe query, if it requires authentication, what the output format might be, or if there are any rate limits. For a tool with no annotation coverage, this leaves significant behavioral gaps that could affect agent decision-making.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at just three words, with no wasted language. It's front-loaded with the core action and resource, making it easy to parse quickly. For a simple listing tool, this brevity is appropriate and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a ledger system with multiple sibling tools, no annotations, no output schema, and incomplete parameter documentation, the description is inadequate. It doesn't explain what an 'account' means in this context, how the listing is formatted, or how it relates to other ledger operations. For a tool in a potentially complex domain, more context is needed to ensure proper usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions no parameters, but the input schema has one parameter ('query') with 0% description coverage in the schema itself. The description doesn't compensate by explaining what 'query' does or how it filters accounts, leaving the parameter undocumented. However, with only one parameter and a baseline expectation, this is minimally adequate but lacks detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose3/5Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List all accounts' clearly states the action (list) and resource (accounts), making the basic purpose understandable. However, it doesn't differentiate this tool from its siblings like 'ledger_balance' or 'ledger_register', which might also involve account-related operations. The purpose is stated but lacks specificity about what makes this tool unique in the ledger context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 alternatives. With multiple sibling tools like 'ledger_balance', 'ledger_register', and 'ledger_stats', it's unclear if this is the primary account listing tool or if others serve overlapping purposes. There's no mention of prerequisites, context, or exclusions that would help an agent choose appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/minhyeoky/mcp-server-ledger'
If you have feedback or need assistance with the MCP directory API, please join our Discord server