apipay
Server Details
Prepaid balance for AI agents: one key, 4,900+ tools your agent can run today, caps, receipts.
- Status
- Healthy
- Uptime
- 99.2% over 44 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- iamalanlui/apifare-mcp
- GitHub Stars
- 0
TDQS
Scored across 8 tools
Most tools have distinct purposes, but call_api vs vendor_call and secret_generate vs secret_transfer are the closest pairs; the descriptions clarify the split (catalog API vs vendor management API, generate vs move). These overlaps are handled well enough that misselection risk is low.
Predominantly snake_case with a verb_noun pattern (call_api, check_balance, search_apis, vendor_call), though secret_generate/secret_transfer invert to noun_verb and topup is a single word. Minor deviations but still clearly readable and consistent in casing.
Eight tools is well-scoped for an API-broker/secret-management server, covering search, invocation, billing, and secrets without bloat. Each tool earns its place.
The surface covers the core lifecycle: discovery (search_apis), execution (call_api, vendor_call), billing (check_balance, topup), and secret handling (get_vault_link, secret_generate, secret_transfer). Minor gaps like listing or revoking existing secrets exist but agents can work around them.
Available Tools
8 toolscall_apiCall an API (spends prepaid credits)AInspect
Call an API from the apifare catalog by slug (find slugs with search_apis). The cost in prepaid credits is deducted automatically and returned with the result.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | API slug from search_apis, e.g. "web-search" | |
| params | No | Params object per the API's manifest |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare openWorldHint=true, readOnlyHint=false, idempotentHint=false and destructiveHint=false, so the safety profile is covered. The description adds genuinely new behavior: prepaid credits are deducted automatically and the cost is returned alongside the result, which an agent needs to know before spending. It omits what happens to credits on failure or error handling, keeping it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences with zero filler; the action and its key constraint (credit deduction) are front-loaded and the slug-discovery pointer follows as supporting detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-param, open-world tool with no output schema, the description covers the essentials: what to pass, where to get a slug, and that a credit cost is returned with the result. The remaining gap is that the dynamic, manifest-defined params object is only explained by the schema, not by the description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the slug and the per-manifest params object documented in the schema itself, so baseline is 3. The description only echoes 'by slug' and adds no detail on how the nested params object should be populated from the target API's manifest, so it neither compensates for nor extends the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Call an API from the apifare catalog by slug') and clarifies the lookup key, so an agent immediately understands what is invoked. It differentiates itself from search_apis by routing slug discovery there, though it gives no signal distinguishing it from the sibling vendor_call.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It supplies the precondition for use ('find slugs with search_apis') and surfaces the cost consequence, giving clear context for when this tool is the right next step. It stops short of explicit when-not-to-use guidance or naming alternatives such as vendor_call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_balanceCheck the prepaid balanceARead-onlyIdempotentInspect
Check the remaining apifare prepaid credit balance (1 credit = $0.01) and get the top-up link.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and a closed world, so safety is covered by structured data. The description still adds non-obvious context: the credit-to-dollar conversion (1 credit = $0.01) and that the response includes a top-up link, which is not derivable from any structured field.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the essential action, the unit definition and the return value all earn their place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless read-only tool the description is nearly sufficient: it defines the unit and discloses the returned top-up link despite there being no output schema. It omits only edge context such as what happens on auth failure or a zero balance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the rubric the baseline is 4. There is nothing parameter-wise for the description to clarify.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('Check the remaining apifare prepaid credit balance') and adds the credit unit, so an agent immediately knows what it returns. It hints at the relation to the 'topup' sibling via the top-up link but never explicitly states how it differs from that tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: checking balance is obviously relevant before spending credits or before calling 'topup', but the description never says when to use this versus 'topup' or 'call_api'. No prerequisites or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_vault_linkGet a secure link for the user's own API keyAInspect
Get a secure one-time link where the user can save their OWN API key for a provider (BYOK). Never ask the user to paste an API key into the chat — always use this link instead. BYOK calls cost a flat 0.1 credits; the user's own provider account pays the provider.
| Name | Required | Description | Default |
|---|---|---|---|
| provider | Yes | API slug from search_apis, e.g. "fal" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and idempotentHint=false, so the agent knows this creates something non-repeatable. The description adds genuinely useful behavior beyond that: the link is one-time, must never be replaced by in-chat key entry, and has a flat credit cost billed against the user's provider account. It stops short of stating link expiration or what is returned, which keeps it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the core action, then the critical behavioral rule, then the cost model. Every sentence carries information an agent needs; nothing is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one parameter, no output schema, and a fully covered schema, the definition supplies the security rule and pricing that structured fields cannot. Only the link's lifecycle (expiry, single-use semantics in detail) is left implicit, a minor gap for a link-generation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single 'provider' parameter is already documented in the schema with a concrete example ('fal'), so the description adds no parameter-level detail. Baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Get a secure one-time link') and scopes it precisely to saving the user's own API key for a provider (BYOK). An agent can distinguish this from call_api or the secret_* siblings without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit directive on when to use it ('Never ask the user to paste an API key into the chat — always use this link instead'), which is exactly the routing decision the agent needs. It also clarifies the cost model (flat 0.1 credits, user's provider account pays), removing a common ambiguity about who bears the cost.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_apisSearch the API catalogARead-onlyIdempotentInspect
Search the apifare catalog of ready-to-call APIs (web search, scraping, weather, and more). Returns each API's slug, params, and per-call price in prepaid credits. Every miss is logged so missing APIs get added.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | What kind of API you need, in plain words |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, and idempotentHint, so the safety profile is covered. The description adds genuinely new context beyond them: the shape of the result (slug, params, per-call price in prepaid credits) and the side effect that every miss is logged for catalog expansion.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences with no filler; the capability statement comes first and the return/side-effect detail second. Every clause carries information an agent cannot get from the structured fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, but the description compensates by naming the returned fields and the logging side effect, which is enough for an agent to call it correctly. Minor gap: it doesn't say how results are ranked or bounded, which matters for an openWorld search.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the single query parameter is already documented as 'What kind of API you need, in plain words.' The description adds no search syntax, matching behavior, or example queries, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Search the apifare catalog of ready-to-call APIs') and enumerates example categories (web search, scraping, weather), so the agent knows exactly what is being searched. It is clearly distinct from action-oriented siblings like call_api or vendor_call, though it never names them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: an agent can infer this is the discovery step before invoking an API. There is no explicit when-to-use or when-not-to-use guidance (e.g., 'use call_api to actually invoke a slug you find'), and no exclusion conditions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
secret_generateGenerate a secret and place it at a vendorBDestructiveInspect
Generate a random secret and place it directly at a vendor resource SERVER-SIDE — the value never enters this conversation.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | ||
| bytes | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true, so the safety profile is covered. The description adds a genuinely non-obvious trait: generation and placement happen SERVER-SIDE and the secret value is never returned to the caller, which changes how an agent should reason about the result. It still omits what happens if a value already exists at the target key, which matters given destructiveHint=true.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that carries the action, the destination, and the constraining behavior with zero padding. Nothing in it is redundant with the title or restates the name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, non-idempotent, open-world write with a nested parameter object at 0% schema coverage and no output schema, the description leaves the agent without the parameter contract or conflict/overwrite semantics. It covers the privacy behavior well but not enough of the calling contract.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the schema contains a nested 'to' object with vendor/resource/key plus a constrained 'bytes' field (16-64). The description only echoes 'vendor resource' in passing and says nothing about the key identifier, the required nesting, or the byte-size bounds, so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (generate) plus the resource (random secret) and its destination (vendor resource, server-side), so the agent knows exactly what the call produces. It does not differentiate itself from the sibling secret_transfer, which is the nearest alternative an agent could confuse it with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'the value never enters this conversation' implicitly frames when to choose this tool (secrets the agent must not see), which is useful context. However, it never says when NOT to use it or names secret_transfer as the alternative for moving a secret the agent already holds.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
secret_transferMove a secret between vendors, server-sideADestructiveInspect
Move a secret from one vendor to another SERVER-SIDE — the value never enters this conversation. Example: fetch a Supabase service_role key and place it as a Vercel env var.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | ||
| from | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, openWorldHint=true, readOnlyHint=false, and idempotentHint=false, so the safety profile is covered. The description adds genuine context beyond that: the transfer happens server-side and the secret value never enters the conversation, which is a meaningful security trait not encoded in the annotations. It stops short of explaining whether the source secret is removed or what permissions are required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences, with the core behavior and the server-side guarantee front-loaded before the illustrative example. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no parameter documentation in the schema, so the description should do more. It covers the big behavioral idea but omits whether the source secret is deleted (move vs copy), which vendors are supported, and what auth or error conditions apply, leaving gaps for a destructive cross-vendor mutation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and both parameters are nested objects, so the description must carry the load. The example maps the concepts reasonably well (source = Supabase service_role key, destination = Vercel env var), but it never explains the distinction between the source's 'field' and the destination's 'key', nor what 'resource' denotes, leaving the nested fields ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (move) and resource (a secret) plus the scope (from one vendor to another, server-side), which is far more informative than a tautology. It does not explicitly name or contrast with siblings such as secret_generate or get_vault_link, so it falls short of the 5 bar for sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The Supabase-to-Vercel example conveys an implied use case (relocating a credential to a new deployment target), but there is no explicit when-to-use/when-not statement and no routing to alternatives like secret_generate or vendor_call. Usage is inferable rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
topupTop up the balance (charges the owner's card)ADestructiveInspect
Top up the apifare balance from the owner's standing auto-refill mandate (if the owner enabled one). Charges within the owner's configured limits and returns the new balance. Without a mandate, returns payment instructions to relay to the user.
| Name | Required | Description | Default |
|---|---|---|---|
| amount_usd | No | Optional whole-dollar amount; defaults to the mandate's refill amount and is clamped to it |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and idempotentHint=false, so the safety profile is covered by structured data. The description adds real value beyond that: the charge hits the owner's card, is bounded by 'the owner's configured limits', and the result differs depending on mandate presence. It stops short of warning that repeated calls trigger repeated charges or what happens on a declined/over-limit card.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the charge action and its funding source. Every sentence carries distinct information (mandate path, limits, no-mandate fallback) with no repetition or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-optional-param money-mutating tool with no output schema, the description covers outcomes on both branches (new balance vs payment instructions) and the charge bounding. It lacks explicit idempotency/repeat-charge guidance and failure handling, though annotations partly cover the mutation semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the schema itself documents the default-to-mandate-amount and clamping behavior, so the description needs to add little. The description alludes to 'configured limits' and the mandate's refill amount but never mentions the amount_usd parameter directly. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Top up the apifare balance') and immediately names the funding mechanism (the owner's standing auto-refill mandate). This is clearly distinguishable from the sibling check_balance (a read) and call_api (a spend per call), so an agent can tell them apart without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives the condition that selects the charging path ('if the owner enabled one') and the fallback behavior ('Without a mandate, returns payment instructions to relay to the user'). It does not explicitly route to alternatives such as check_balance or state when-not-to-use, but the conditional context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vendor_callCall a vendor management APIAInspect
Call a vendor MANAGEMENT API (supabase, vercel, fly, resend, github, npm, cloudflare, lemonsqueezy) with the owner's vaulted root credential injected server-side. Native request/response; destructive, billing, and member/admin routes are blocked. The root token is never visible.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | JSON body for write methods | |
| path | Yes | The vendor's own API path, e.g. "v9/projects" | |
| method | No | HTTP method (default GET) | |
| vendor | Yes | Vendor name, e.g. "vercel" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare openWorldHint=true and destructiveHint=false, and the description adds real context beyond them: the credential is injected server-side, the root token is never exposed, and entire route classes are blocked. It also explains why destructive operations cannot occur despite being a write-capable passthrough. It stops short of describing rate limits, timeouts, or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences: vendor list, credential handling, and route restrictions are front-loaded with no filler. Slightly list-heavy, but every clause carries operational information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a four-parameter open-world passthrough with no output schema, the description covers the essentials: auth model, supported vendors, and safety ceilings. Missing only response shape and failure modes, which are harder to specify for arbitrary vendor APIs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so vendor, path, method, and body are already documented at the field level. The description adds no format guidance beyond the schema (e.g., which vendors accept which methods, how body maps to vendor payloads), so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (call a vendor management API) and enumerates the supported vendors, so an agent knows exactly what it reaches. It doesn't distinguish itself from the sibling call_api, which appears to overlap in function, so it falls 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It names a meaningful exclusion set (destructive, billing, and member/admin routes are blocked) which implicitly tells the agent when this tool will fail. However, it never explains when to prefer this over the similarly named sibling call_api, leaving the primary routing decision to inference.
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.
8 tool updates
- First observed
call_api - First observed
check_balance - First observed
get_vault_link - First observed
search_apis - First observed
secret_generate - First observed
secret_transfer - First observed
topup - First observed
vendor_call
Related MCP Connectors
One key and one balance for 2,500+ data APIs from 90+ providers. Your AI agent pays per call.
Prepaid virtual cards for AI agents: one-time cards, spend caps, human approvals.
Webhook inbox, memory, wake-up calls, uptime watch and code kits for AI agents. Prepaid balance.
Pay-per-call MCP catalog of data and automation tools for AI agents. One prepaid balance.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceGive your AI agent a prepaid card to pay per call for hundreds of paid services — no per-vendor signups or API keys.44MIT
- AlicenseAqualityFmaintenanceEnables AI agents to access paid tools like crypto prices, weather, translation, and web intelligence via per-request USDC payments on Base, with no API keys or subscriptions.1514 npmMIT
- AlicenseNot gradedqualityDmaintenanceEnables 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.3 npmMIT
- -licenseNot gradedqualityFmaintenanceEnables AI agents to manage and use prepaid virtual Visa cards with hard budget limits for secure online transactions. It provides tools for creating cards, checking balances, and retrieving payment credentials with human-in-the-loop approvals.1-
Glama MCP Gateway
Add one secure layer between your agents and this server.