Skip to main content
Glama

Server Quality Checklist

75%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.6.2

  • Disambiguation5/5

    Each tool targets a clearly distinct operation: status is a live snapshot, audit is historical records, reset is session state management, protect gates a spend, and secret_get retrieves a credential. No two tools plausibly serve the same purpose, and the descriptions make the boundaries obvious.

    Naming Consistency4/5

    The tools are all lowercase snake_case and mostly follow a domain-prefix pattern, with four sharing spend_ and one using secret_. The slight inconsistency is that the second segment mixes nouns and verbs, and secret_get breaks away from the spend_ namespace, so it is not as uniform as a strict verb_noun convention.

    Tool Count5/5

    Five tools is well-scoped for a spending-defense utility: status, audit, reset, protect, and secret retrieval each cover a necessary function without redundancy. There are no filler tools or obvious bloat.

    Completeness4/5

    The set covers the core lifecycle well: protect a spend, inspect status, review audit trails, reset session amounts, and safely retrieve secrets. The main gap is configuration management such as setting budgets, whitelists, or blacklists, but agents can still work within the existing guardrails.

  • Average 3.7/5 across 5 of 5 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 28 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.

  • This server has been verified by its author.

  • 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

  • Behavior2/5

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

    With no annotations, the description carries the full burden, but it only states the content (audit records) and limit; it does not disclose side effects, read-only status, authentication needs, or return format. The word 'audit' hints at a read operation, but this is not explicit.

    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 short phrase with no filler; the resource is front-loaded and the limit detail is parenthetically appended. It earns its place without redundancy, even though it partially restates the tool name's 'audit' idea.

    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?

    For a tool with one optional parameter and no output schema, the description conveys the core action (return recent audit records) and limit behavior. However, it omits the return record structure and any behavioral guarantees (e.g., read-only, pagination), which are more important here because no annotations or output schema exist.

    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 schema already documents `limit` as '条数, 默认 10' (count, default 10). The tool description adds the '最多' (at most) qualifier, clarifying that `limit` is a maximum cap rather than an exact count, which is meaningful semantic added value.

    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 '最近审计记录(最多 N 条)' clearly identifies the resource (recent audit records) and a limit cap, distinguishing it from siblings like spend_reset or secret_get by topic. However, it lacks an explicit verb such as 'list' or 'retrieve', so an agent must infer the action from the noun phrase.

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

    Usage Guidelines2/5

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

    No guidance is provided about when to choose spend_audit over sibling tools, nor any exclusions or alternative references. The description consists solely of a resource label, leaving usage context entirely to inference.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the full burden, and it does disclose meaningful behavior: the six gate types it runs and the ok=true / ok=false + reason return contract. However, it leaves ambiguity about whether the tool actually executes the spend or only checks it, and it does not disclose side effects, state changes, or whether a successful pass records anything. The gate list and return semantics earn a 3, but the execute-vs-check ambiguity prevents a higher 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 sentences with zero filler. The first sentence front-loads the purpose and the gate list; the second specifies the binary return contract. Every clause earns its place, and the most important behavioral detail (blocked => ok=false + reason) is stated explicitly.

    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?

    The description compensates for the missing output schema by explicitly defining the return values (ok=true vs ok=false+reason), and the flat 4-parameter schema is fully documented. But for a financial safety-gate tool with no annotations, it should also clarify whether the spend is executed by this tool, how an agent should route to a sibling on different needs, and what action to take on a block. The core is covered; these decision-relevant gaps hold it at a 3.

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

    Parameters3/5

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

    Schema description coverage is 100%: all four parameters (to, agent, action, amount) already carry meaningful Chinese descriptions in the schema, including the behavioral note that unregistered agents are rejected by default. The tool description adds no parameter-specific meaning beyond the schema, so the baseline of 3 applies.

    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 states a specific verb plus resource: '保护一次花钱操作' (protect a spending operation), then enumerates concrete gates (干跑/预算/黑名单/白名单/频率/单次上限) and the exact return contract. This clearly differentiates it from siblings spend_status, spend_audit, spend_reset, and secret_get — an agent can tell this is the pre-spend guard without opening any schema.

    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 gate list strongly implies the usage: run this before spending money to test the operation against budget/blacklist/whitelist/frequency/single-limit policies. However, there is no explicit when-to-use vs alternatives, no wording like 'for balance/status checks use spend_status instead,' and no statement about what to do when ok=false (e.g., abort). Usage is implied, not stated.

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

  • Behavior4/5

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

    With no annotations, the description carries the behavioral burden. It discloses that retrieval passes identity verification and an approval gate, leaves an audit trail, and treats the secret name as a payee with a whitelist bypass option. These are meaningful behavioral traits beyond the basic operation.

    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 compact clauses convey the core operation, gating, audit, and whitelist behavior with no filler. The primary action is front-loaded.

    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?

    The description covers the key gating and audit context, which is valuable given no annotations and no output schema. However, it does not describe the return value, error conditions such as missing secrets or denied approval, or pagination/output structure, leaving some operational uncertainty for an agent.

    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 coverage is 100%, so the schema already documents both parameters. The description adds extra semantic meaning by noting the secret name is treated as a payee and can be whitelisted, which clarifies how the 'name' parameter affects approval behavior.

    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?

    States a specific verb and resource ('从密钥保险库取密钥'), and adds context about identity/approval gating and audit. It is clear what the tool does, though it does not explicitly contrast itself with the spend_* siblings.

    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 the tool is for retrieving secrets from the vault and mentions a whitelist option to skip approval, but it does not explicitly state when to use it versus alternatives or when not to use it. Usage context is present but not fully articulated.

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

  • Behavior3/5

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

    With no annotations and no output schema, the description carries the burden of behavioral disclosure. The word '查询' (query) reasonably implies a read-only status operation with no side effects, but it does not disclose details such as whether the stats are live or cached, whether any permissions are required, or what the exact response shape is.

    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 compact phrase that front-loads the operation ('query') and immediately lists the key data fields. Every word earns its place, with no filler or repetition.

    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?

    For a zero-parameter, no-output-schema query tool, the description is largely sufficient: it tells the agent what the tool reports. It could be slightly more explicit that this is a safe/read-only operation and provide a hint that it complements spend_protect/spend_audit/spend_reset, but the core selection context is present.

    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?

    This tool has zero parameters, so parameter semantics are trivially complete. The baseline of 4 applies because there is no parameter information that the description would need to compensate for.

    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 states a specific verb ('查询' / query) and a specific resource ('当前护栏状态') with concrete components: budget, spent, remaining, and blocked statistics. This clearly distinguishes it from sibling tools like spend_protect, spend_audit, and spend_reset, which imply mutating actions rather than status retrieval.

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

    Usage Guidelines2/5

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

    The description gives no explicit guidance on when to use this tool versus the sibling tools. The intended use is implied by the word 'query' and the sibling names, but there is no statement of conditions, exclusions, or alternatives.

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

  • Behavior3/5

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

    With no annotations, the description must carry the behavioral burden, and it does disclose the primary effect (resetting the session spend counter). However, it gives no indication of irreversibility, side effects, or interaction with protected/audited spend, so important behavioral context is absent.

    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 clause with the action first and the use case in parentheses; it contains no filler or redundancy. Every part earns its place.

    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?

    For a simple, parameterless mutation tool, the description covers what, scope, and when. It could be more complete by noting whether the reset is permanent or how it affects the other spend_* tools, but those are secondary for a tool this straightforward.

    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 an empty schema, so there is nothing meaningful left to document. The description adds useful contextual framing (new session/budget change), which exceeds the schema's contribution.

    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 states a specific action ('reset') applied to a well-defined resource ('this session's spent amount'), so the tool's function is unambiguous. The parenthetical notes the intended trigger (starting a new session or changing budget), which differentiates it from sibling spend_* tools.

    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?

    It explicitly says when to use this tool: when starting a new session or changing a budget. It does not name exclusions or compare with alternatives like spend_protect or spend_status, so it falls just short of a full 5.

    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

spendshield MCP server

Copy to your README.md:

Score Badge

spendshield MCP server

Copy to your README.md:

Latest Blog Posts

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/felixpg13-glitch/spendshield'

If you have feedback or need assistance with the MCP directory API, please join our Discord server