Skip to main content
Glama

Server Details

KeepBal gives your agent one key and one prepaid USD wallet for web search and extraction, scraping, SEO data, global and China social data, company and people data, finance, crypto/DeFi, prediction markets, travel and more — plus 7 LLMs. Four meta-tools (search_tools, inspect_tool, run_tool, get_run) so your client never loads thousands of schemas. Prices are provider cost + 35%, shown before you run; failed calls cost $0. No subscription.

Ownership verified
Status
Healthy
Uptime
100.0% over 22 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
ChatGPT
–
Claude
–

TDQS

A3.9/5.0

Scored across 4 tools

Disambiguation5/5

Each tool targets a distinct stage of the workflow: search_tools for discovery, inspect_tool for metadata, run_tool for execution, and get_run for post-execution status/settlement. Their purposes do not overlap, and the descriptions clearly delineate when to use each.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern: get_run, inspect_tool, run_tool, search_tools. The convention is predictable and easy to read.

Tool Count5/5

Four tools cover the full pipeline from discovery through inspection, execution, and settlement without redundancy. This is a well-scoped set for the server's apparent purpose.

Completeness4/5

The surface covers search, inspect, run, and poll/settle, which are the core operations for a prepaid tool-execution service. Minor gaps exist, such as no explicit wallet balance check or run cancellation, but these are workable around.

Available Tools

4 tools
get_runA
Read-onlyIdempotent
Inspect

Check and settle an existing run by run_id through REST ownership and access controls. No new execution or additional polling fee; the original execution charge may settle. Use after run_tool reports pending.

NameRequiredDescriptionDefault
run_idYes

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the bar is lower, and the description still adds real context: no new execution or polling fee, a possible settlement of the original charge, and that REST ownership/access controls apply. That cost and access-control disclosure is exactly the kind of thing annotations cannot convey.

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?

Three short sentences, all load-bearing: purpose, cost/ownership caveat, and trigger. Front-loaded with the action and resource; the only mild drag is the vague phrase "through REST ownership and access controls."

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 single-parameter read/settle tool with no output schema and rich annotations, the description covers purpose, trigger, cost, and access prerequisites. The main omission is any hint of what the response contains (e.g., run status), though no output schema exists to lean on.

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 0% for the single run_id parameter, so the schema contributes nothing. The description references run_id and implies its provenance (obtained from run_tool's pending result), which is modest value, but it gives no format, length, or lookup guidance.

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 states a specific verb pair (check/settle) and resource (an existing run) keyed by run_id, which clearly separates it from run_tool's execution-starting role. The term "settle" is domain jargon that an agent must infer means finalizing status/billing rather than mutating the run, which keeps it short of a 5.

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?

"Use after run_tool reports pending" gives an explicit trigger and names the sibling tool that precedes it, which is strong routing guidance. It does not state when NOT to use it (e.g., after a run completes or fails), so it stops short of full when/when-not coverage.

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

inspect_toolA
Read-onlyIdempotent
Inspect

Read local public tool metadata, known parameters, pricing metadata and a JSON request example. Fixed tools show the per-call price; variable tools are billed at provider price + 35%. This is not an input-specific quote. Free; does not contact a provider. Unknown input schemas are explicitly marked.

NameRequiredDescriptionDefault
toolYes

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already cover safety (readOnly, idempotent, non-destructive, closed-world), and the description adds genuinely new behavior: it is free, never contacts a provider, pricing rules for fixed vs variable tools (provider price + 35%), and that unknown input schemas are flagged. That pricing and no-side-effect disclosure is real added value beyond the annotation block.

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?

Front-loaded with what is returned, then the pricing caveats and the cost/side-effect guarantees. Four short sentences, each carrying distinct information; only the billing-detail sentence could be trimmed without loss.

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 correctly enumerates the return payload (metadata, known parameters, pricing, request example) and discloses the free/no-provider-contact behavior an agent needs before deciding to call it. The only material omission is the format of the 'tool' argument.

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 0% for the single required 'tool' parameter, so the description carries the burden and largely fails: it never says whether 'tool' is an ID, a name, or a slug, nor what format or naming convention is expected. The mention of 'known parameters' refers to the returned metadata, not to the input parameter's semantics.

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 (Read) and enumerates the resource precisely: local public tool metadata, known parameters, pricing metadata, and a JSON request example. The scope word 'local' plus 'does not contact a provider' implicitly separates it from run_tool, but no sibling is named explicitly, so differentiation is inferred rather than stated.

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?

Usage context is implied ('This is not an input-specific quote', 'Free; does not contact a provider') which signals a pre-flight inspection step rather than execution, but it never says when to prefer this over search_tools or get_run, nor states any prerequisites. Adequate but with clear gaps.

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

run_toolA
Destructive
Inspect

Execute a public tool with your prepaid KeepBal wallet using the REST billing and access controls. Inspect first. Fixed tools charge the per-call price; variable tools are billed at provider price + 35%. Use input.max_cost_usd for a catalog spending cap; it must cover estimated cost and requires sufficient balance. Provider failures are not charged. Pending runs are polled for up to 25 seconds; use get_run to check later without starting another execution. Truncated or unsupported results must not be retried. Models use their documented REST endpoint.

NameRequiredDescriptionDefault
toolYes
inputYes

TDQS

A4.3/5.0
Behavior5/5

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

Goes well beyond the annotations (readOnlyHint=false, destructiveHint=true, idempotentHint=false, openWorldHint=true) by disclosing the billing model (fixed per-call price vs provider price + 35%), that max_cost_usd must cover estimated cost and needs sufficient balance, that provider failures are not charged, the 25-second pending-run polling window, and the no-retry rule for truncated results. This is exactly the operational context the annotations cannot carry.

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?

Front-loads purpose in the first sentence and packs each subsequent sentence with distinct operational facts (pricing, cap, failure handling, polling, retry policy). Dense but mostly waste-free; the final sentence about model REST endpoints feels tacked on.

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 covers the critical lifecycle concerns an agent needs: cost semantics, failure/refund behavior, pending-run polling, and handoff to get_run. It does not describe what a successful run returns (run id, result payload shape), which is the main remaining gap for a tool of this complexity.

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 0%, so the description must compensate. It explains one nested field well (input.max_cost_usd as a catalog spending cap with balance requirements) and implies tool is the public tool name and input is that tool's input, but it never documents the general shape or format of the top-level 'input' object or how to source a valid tool identifier.

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?

States a concrete verb and resource ('Execute a public tool') and names the execution path ('REST billing and access controls'), which cleanly separates it from siblings get_run, inspect_tool, and search_tools. The 'Inspect first' instruction further disambiguates the execution role.

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?

Names explicit alternatives and conditions: 'Inspect first' routes to inspect_tool, 'use get_run to check later without starting another execution' routes to get_run, and 'Truncated or unsupported results must not be retried' gives a clear when-not rule. It stops short of spelling out how to discover valid tool names (search_tools), but the routing guidance is otherwise strong.

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

search_toolsB
Read-onlyIdempotent
Inspect

Search live KeepBal tools and models locally, free of charge. Use 2–200 query characters. Results are ranked and paginated; use category models for models.

NameRequiredDescriptionDefault
limitNo
queryYes
offsetNo
categoryNo

TDQS

B3.1/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and non-open-world behavior, so the bar is low; the description still adds real context by noting the search is run 'locally, free of charge' and that results are ranked and paginated. It stops short of describing result shape or pagination mechanics, but it meaningfully enriches the annotation picture.

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

Conciseness3/5

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

Three short front-loaded sentences with no padding, which is structurally sound. However, the character-count sentence duplicates schema constraints and the category sentence is awkward enough to obscure rather than clarify, so not every sentence fully earns its place.

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?

With no output schema and 0% parameter coverage, the description should explain the four inputs and return behavior; it covers query length and vaguely mentions ranking and pagination but leaves limit, offset and category unexplained. Annotations fully carry the safety profile, so the gap is confined to parameter guidance.

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 0% across four parameters, so the description must carry the load. It restates the 2–200 character query bound (already enforced by minLength/maxLength) and alludes to pagination, but never explains limit or offset, and its category guidance is unintelligible, leaving half the parameters effectively undocumented.

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 (Search) and resource (live KeepBal tools and models), which is a clear operation an agent can identify. It is implicitly distinct from siblings like run_tool or inspect_tool, which act on a single known item, though the description never names those siblings to sharpen the boundary.

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?

There is no explicit when-to-use/when-not guidance relative to inspect_tool or run_tool. The line 'use category models for models' is the only routing hint and it is cryptic — it never states the parameter name or an exact value, so an agent must guess at intent.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updates
    • First observedget_run
    • First observedinspect_tool
    • First observedrun_tool
    • First observedsearch_tools

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Gives AI agents pay-per-call access to live Google search results, keyword and SEO data, Maps places, e-commerce product prices and exchange rates, letting them find tools by describing the job and see the price before each run. Failed calls are never charged, and usage is drawn from a single prepaid balance with no subscription.
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to discover and call paid data and tools from one catalog, including company and people enrichment, SEO/SERP data, social media data, EU business registers, LEI records, and sanctions checks, with per-call pricing and a prepaid balance.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to pay for x402 pay-per-use services like web search, scraping, and screenshots using a simple API key and USD balance, without managing crypto wallets.
    4 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources