Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool has a distinct purpose: sending payments, granting approvals, paying for resources via x402, listing pending approvals, resolving them, and reading balances/gas prices. No overlaps.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern in snake_case (e.g., request_payment, get_balance), with clear verb prefixes like 'request', 'list', 'resolve', 'get'.

    Tool Count5/5

    Seven tools cover the core operations of a payment/approval system without being excessive. Each tool adds necessary functionality.

    Completeness4/5

    The tool set covers the main workflows: sending payments, managing token approvals, paying via x402, admin approval flow, and read queries. Minor gaps exist (e.g., no tool to list existing allowances or transaction history), but the core is well-covered.

  • Average 4.3/5 across 7 of 7 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.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to 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

  • Behavior3/5

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

    No annotations provided, so description carries full burden. States read-only and explains asset parameter, but lacks details on return format, rate limits, or side effects. Minimal behavioral disclosure.

    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?

    Extremely concise with two clear sentences. Every sentence adds value. No filler.

    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?

    Covers input parameters well but lacks output description. For a simple read tool with no output schema, missing return format hinders completeness.

    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?

    Adds meaning beyond schema: explains address is a '0x address' and asset is 'ETH' or 'USDC' with default. Compensates for 0% schema description coverage.

    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 the action (get balance), the resource (address), and the read-only nature. Distinguishes from sibling tools which involve payments or approvals.

    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?

    Mentions read-only, implying safe usage. Does not explicitly state when to use vs alternatives, but the context of sibling tools makes it clear this is for querying balances.

    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?

    The description explicitly marks the tool as 'read-only', which is a key behavioral trait. Without annotations, this disclosure is important and sufficient for a simple read 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?

    The description is a single, front-loaded sentence with no unnecessary words. Every word contributes to understanding.

    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 parameters, no output schema, and no annotations, the description is adequate but could mention that the gas price is for the current chain. However, it is functionally complete for a simple read.

    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, so the baseline score is 4. The description adds the unit 'gwei', providing useful semantic context 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 gets the current gas price in gwei, with a specific verb ('Get') and resource ('current gas price'). It distinguishes from sibling tools like request_payment and pay_x402 which are for payments and approvals.

    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 the current gas price is needed, but does not explicitly state when to use this tool versus alternatives. No exclusions or alternatives are mentioned.

    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?

    No annotations are provided, so the description must carry the transparency burden. It explains that a spend policy determines if the payment is allowed, blocked, or requires human approval, and mentions asset-specific policy limits. However, it does not disclose the exact behavior when blocked (e.g., error type) or the approval flow details. This is adequate but not thorough.

    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 neatly structured: a purpose sentence, a usage directive, then a bullet-like list of arguments. No extraneous words; every sentence adds value.

    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 4 parameters and no output schema. The description covers all parameters and mentions the spend policy and asset limits. It lacks information about the return value (e.g., a payment request ID) and does not clarify how this tool interacts with 'request_approval' (e.g., does it trigger an approval?). Still, it is largely complete for a payment request tool.

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

    Parameters5/5

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

    Schema coverage is 0%, and the description fully compensates by explaining each parameter: recipient (0x address), amount (in whole units of asset), reason (audit log entry), and asset (ETH default or token symbol with policy limits). This adds critical meaning beyond the schema's bare titles and defaults.

    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 specifies 'Request to pay an address' and explicitly states 'Use this whenever you need to send a payment; do not attempt to move funds any other way.' This clearly identifies the tool's action and resource, and distinguishes it from any alternative means of moving funds.

    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 gives a clear directive: 'Use this whenever you need to send a payment; do not attempt to move funds any other way.' It could be improved by explicitly mentioning when not to use it (e.g., if manual approval is needed elsewhere) or how it relates to sibling tools like 'pay_x402', but it still provides strong guidance.

    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 discloses important behavioral traits: operator-only, admin requirement, and that agents cannot see their own approvals. It does not mention side effects, but being a read-only list, this is acceptable.

    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 extremely concise, two sentences, no wasted words. The purpose is front-loaded and every sentence adds value.

    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 no parameters and no output schema, the description covers the essential context: what the tool lists, who can use it, and identity requirements. It is adequate for an agent to invoke correctly.

    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, so the description does not need to add meaning. It still clarifies no parameters are required, which is sufficient.

    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 lists payments/approvals waiting for human decisions, using a specific verb ('List') and resource ('pending approvals'). It distinguishes from siblings like request_payment and resolve_approval by focusing on the listing function.

    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 states operator-only usage and admin identity requirement, providing clear context for when to use. However, it does not directly contrast with alternatives like resolve_approval, though the context suggests it.

    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 full burden. It discloses critical behaviors: approval overrides only the threshold, hard limits are re-checked, and refusal occurs if limits would be busted. It also mentions operator-only access. This provides strong transparency beyond mere safety hints.

    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 concise and well-structured. It front-loads the purpose, then adds a behavioral note, then lists arguments. Every sentence provides necessary information with no redundancy or fluff.

    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 the tool has 3 parameters, no output schema, and no annotations, the description covers purpose, usage, parameter details, and behavioral implications. It lacks explicit return value or error information, but the overall completeness is high for the stated complexity.

    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 0%, so the description must add meaning. The Args section explains each parameter: payment_id (audit id from list_pending_approvals), approve (True to approve/execute, False to reject), note (optional). This adds valuable context beyond schema names and types, effectively compensating for low coverage.

    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's action: 'Approve or reject a pending payment and, on approval, execute it.' It identifies the resource (pending payment) and distinguishes itself from siblings by noting it is the resume path for 'needs_approval'. The sibling tool list includes request_payment and request_approval, reinforcing differentiation.

    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 specifies that the tool is '(operator only)' and explains it handles pending payments needing approval. It details the behavior on approval (hard limits re-checked). While it does not explicitly state when not to use it or provide direct alternatives, the context is sufficiently clear 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.

  • Behavior4/5

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

    The description details that the payment is a signed one-time authorization for the exact quoted amount, only executed if policy approves. It also explains the max_amount parameter sets a cap. With no annotations, this provides good behavioral insight, though it omits what happens on failure or balance deduction.

    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 well-structured with a clear introductory paragraph and an Args list. Every sentence provides necessary information without redundancy.

    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 tool with no output schema, annotations, or complex nested objects, the description adequately covers the protocol, policy interaction, and parameters. Minor gap: no mention of return value or error handling.

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

    Parameters5/5

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

    All three parameters (url, max_amount, reason) are explained with their purpose, format, and behavior. This adds significant meaning beyond the bare schema, which lacks descriptions.

    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 fetches a paid HTTP resource via the x402 protocol. It specifies the use case for pay-per-request APIs, differentiating it from sibling tools that handle payments or approvals differently.

    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 explains when to use this tool (pay-per-request APIs with 402 responses) and mentions the spend policy. However, it does not explicitly exclude other scenarios or compare with siblings like request_payment.

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

  • Behavior5/5

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

    With no annotations, the description fully discloses behavioral traits: exact amount only, cap limits, standing liability tracking, revocation via 0, and that native ETH cannot be approved. It provides thorough details on how the allowance is managed and its lifecycle.

    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 well-structured with a concise overview followed by bullet-pointed args. It is front-loaded with the main action. The 'imprest' paragraph adds valuable context but is slightly verbose; overall efficient.

    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 inputs and behavior comprehensively but does not mention the return value or outcome (e.g., success status, transaction hash). Given moderate complexity and no output schema, this omission reduces completeness for an agent using the tool.

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

    Parameters5/5

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

    Schema coverage is 0%, but the description fully explains all 4 parameters: spender (address), amount (whole units, 0 revokes), asset (token symbol, no ETH), and reason (audit log). This compensates entirely for the missing schema descriptions.

    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 action: 'Grant a token spender an allowance' with a specific verb and resource. It distinguishes from sibling tools by focusing on approvals rather than direct payments, and provides concrete examples of use cases like marketplaces or subscriptions.

    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 explains when to use this tool (to grant an allowance) and when to revoke (amount=0). It mentions the policy decision and exact amount limitation, but does not explicitly compare to alternatives like request_payment. Context is clear but lacks explicit exclusions.

    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

imprest MCP server

Copy to your README.md:

Score Badge

imprest 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/Theoddalex/imprest'

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