Skip to main content
Glama

Server Details

PDF URL → extracted text for bots. Free try then prepaid TEST. https://pdf.kymac.co

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-03-26
URL

TDQS

A4.1/5.0

Scored across 12 tools

Disambiguation5/5

Every tool has a clearly distinct purpose: core extraction (pdf_extract), credit lifecycle (quote, checkout, confirm, balance, events, packs), and key management (issue, revoke, rotate, verify). No two tools overlap in function; even credit operations are separated by intent vs confirmation.

Naming Consistency4/5

Most tools follow a verb_noun pattern (issue_key, pdf_extract, quote_credits), but a few are noun-first (credit_balance, credit_events) and health is a single noun. The credit_* prefix adds consistency within that group, and the mix is still easily predictable.

Tool Count5/5

12 tools is well-scoped for a PDF extraction service with integrated billing and key management. Each tool earns its place and the count falls comfortably within the ideal range, covering core, financial, and administrative needs.

Completeness5/5

The surface is complete for its purpose: extraction with quote/dry-run, full credit purchase flow (checkout, confirm, list packs), balance and ledger visibility, and full key lifecycle (issue, revoke, rotate, verify). Health check is a bonus. No essential operation is missing.

Available Tools

12 tools
checkout_creditsCheckout credit pack — pdf text, pdf extract, document textAInspect

Stripe TEST PaymentIntent for a pack (POST /credits/checkout). Intent only — returns credits_pending; credits are not granted or spendable until confirm_credits succeeds. Requires a caller key.

ParametersJSON Schema
NameRequiredDescriptionDefault
pack_idYesPack id from list_credit_packs (e.g. pack_10).

TDQS

A4.2/5.0
Behavior4/5

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

Annotations only set readOnlyHint=false and destructiveHint=false, so the description carries the burden of behavioral disclosure. It adds valuable context: the operation is a TEST mode PaymentIntent, it only creates a pending state, credits are not granted or spendable until confirm_credits, and it requires a caller key. This goes beyond annotations and clarifies side effects, though it omits details about failure handling or response format.

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 two tight sentences, front-loading the core purpose and immediately clarifying the pending state. Every clause adds value—test mode, intent-only, pending credits, and key requirement—with zero 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?

With a single required parameter and no output schema, the description sufficiently covers the call flow: it states the action, the prerequisite key, the test environment, and the dependency on confirm_credits. It does not detail the response structure, but given the simplicity and the presence of confirm_credits, this is an acceptable gap.

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 coverage is 100% and the parameter description already explains pack_id as coming from list_credit_packs with an example. The tool description adds no additional semantic meaning beyond what the schema provides, 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 clearly states the tool initiates a Stripe TEST PaymentIntent for a credit pack, specifies the endpoint, and explicitly differentiates itself from confirm_credits by noting the intent-only nature. This gives an agent a precise, unambiguous purpose that distinguishes it from siblings like quote_credits or list_credit_packs.

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 provides clear context: it is the first step in a two-step flow, explicitly naming confirm_credits as the subsequent required call. It also notes the prerequisite of a caller key. However, it does not explicitly state when NOT to use it or offer alternative selection criteria, leaving a small gap.

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

confirm_creditsConfirm TEST credit purchase — pdf text, pdf extract, document textAInspect

Confirm a TEST PaymentIntent with Stripe test card pm_card_visa (POST /credits/confirm). This is when credits become granted/spendable (appends credit.purchase with credits_added). TEST only.

ParametersJSON Schema
NameRequiredDescriptionDefault
stripe_payment_intent_idYesPaymentIntent id (pi_…) from checkout_credits.

TDQS

A4.4/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint=false, destructiveHint=false), the description discloses the real side effect: credits become spendable and a credit.purchase entry is appended with credits_added. It also warns that this is TEST only, which matters for an agent deciding whether to invoke it in a real workflow.

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 tight sentences: the action and endpoint come first, followed by the consequence and the TEST-only constraint. There is no wasted wording or repetition that would slow down an agent.

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 one-parameter, no-output-schema mutation tool, the description provides the essential context: what it does, when credits become spendable, and the TEST-only boundary. It does not describe the response shape or failure modes, but those are not required to invoke the tool correctly.

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?

The schema already covers the sole parameter at 100% and explains it as a PaymentIntent id (pi_…) from checkout_credits. The description adds no additional parameter-level semantics, so the baseline 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 clear action ('Confirm a TEST PaymentIntent'), names the endpoint, and explains the credit-lifecycle effect (credits become granted/spendable). It is immediately distinguishable from siblings like checkout_credits, which creates the PaymentIntent rather than confirming it.

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 TEST-only restriction is explicit, and the parameter schema ties the PaymentIntent id to checkout_credits, giving an agent the right sequencing. It does not name alternative tools or spell out when-not-to-use cases beyond the TEST restriction, so it falls just short of a 5.

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

credit_balanceCredit balance — pdf text, pdf extract, document textB
Read-only
Inspect

Derived prepaid balance for this caller_id (GET /credits/balance).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already communicate read-only, non-destructive behavior. The description adds a small but useful nuance by saying the balance is 'derived' and scoped to 'this caller_id,' and it exposes the GET endpoint. It does not disclose additional behavioral traits like rate limits or error conditions, but the annotation coverage lowers the bar.

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, tight sentence with no filler. The most important information ('derived prepaid balance') appears first, and the endpoint reference is included compactly.

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 zero-parameter read-only tool, the description gives the essential purpose and endpoint. However, there is no output schema and no mention of the response format or whether the balance is current/pending, so an agent still has some ambiguity about what exactly will be returned.

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 input schema has zero parameters, so the baseline is 4. The description still adds meaning by clarifying that the balance is implicitly tied to the authenticated caller_id, which helps explain why no explicit parameters are needed.

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 resource ('credits/balance') and the result ('derived prepaid balance for this caller_id'). It is clear enough to be distinguished from most siblings, though it does not explicitly contrast with similar credit-related tools like credit_events or list_credit_packs.

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 given on when to use this tool versus alternatives. The description does not mention when to prefer credit_balance over credit_events or list_credit_packs, nor does it state any prerequisites or exclusions.

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

credit_eventsCredit ledger events — pdf text, pdf extract, document textA
Read-only
Inspect

Append-only Ledger events for this caller_id (GET /credits/events): credit.grant (first_key), credit.purchase, credit.debit (pdf_success), optional credit.balance_snapshot.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already mark the tool as read-only and non-destructive; the description adds valuable context by stating the ledger is 'append-only' and enumerating event types like credit.grant, credit.purchase, credit.debit, and credit.balance_snapshot. This gives the agent a clearer picture of the data without contradicting the annotations.

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 dense sentence with no filler. It front-loads the resource and endpoint, then packs the relevant event types into a compact, scannable list. Every part contributes to understanding the tool.

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, read-only tool with annotations covering safety, the description is mostly complete: it names the endpoint, scoping, and event categories. It omits details like pagination, ordering, or response shape, but since no output schema exists and the tool is simple, the description provides sufficient context for selection and invocation.

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?

The input schema is empty with 100% coverage, so the baseline is 4. The description goes beyond by clarifying that events are implicitly scoped to 'this caller_id' and by describing what kinds of events appear in the ledger, which helps the agent understand how the tool is parameterized without explicit parameters.

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 identifies a specific resource (credit ledger events), the relevant endpoint (GET /credits/events), and the event types returned. It does not use an explicit verb like 'list' or 'get,' but the GET path plus event-type enumeration makes the purpose clear. It is distinguishable from siblings like credit_balance and list_credit_packs, though it doesn't explicitly contrast with them.

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 phrase 'for this caller_id' implies this tool is for viewing the calling account's own credit ledger history. However, there is no explicit guidance about when to prefer this tool over related siblings such as credit_balance or list_credit_packs, and no when-not-to-use conditions.

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

healthHealth — pdf text, pdf extract, document textA
Read-only
Inspect

Public readiness (GET /health): billing (test|gated) and runner_ready. No key.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already mark the tool as read-only and non-destructive. The description adds valuable context beyond that: the endpoint is public, keyless, and reports specific states (billing test/gated and runner_ready). It does not describe response format or status codes, but for a zero-parameter health endpoint this is a minor gap.

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 sentence that front-loads the purpose and includes the endpoint, public access, and reported fields. There is no wasted wording.

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, zero-parameter, read-only health check with no output schema, the description covers the endpoint, authentication requirement, and core reported statuses. It could clarify what 'test|gated' and 'runner_ready' mean, but the overall context is sufficient for invoking the tool.

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 no parameters, and schema coverage is effectively 100%, so the description carries no parameter documentation burden. The baseline of 4 applies because there is nothing for the description to add about parameters.

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 resource (GET /health), its public nature, and the readiness information it reports ('billing (test|gated) and runner_ready'). It is distinct from the billing/key/pdf siblings, though the title contains unrelated PDF text that creates noise.

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 use for readiness checks and explicitly notes that no key is required, which is useful context. However, it does not explain when to prefer this tool over alternatives or provide any exclusions or preconditions.

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

issue_keyIssue caller key — pdf text, pdf extract, document textAInspect

Mint a caller key (POST /keys). Bot install starts at GET https://pdf.kymac.co/llms.txt (sole advertised entry). Secret ssm_… is returned once. Prefer Authorization: Bearer; X-API-Key is an alias. First issue grants 1 free credit (credit.grant reason=first_key). Quote cost with quote_credits before pdf_extract.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior5/5

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

Annotations only state readOnlyHint=false and destructiveHint=false, so the description carries the burden of behavioral disclosure. It reveals that the secret is returned only once (a critical caveat), that the first issue grants free credit, the preferred Authorization header over the alias, and the entry point URL. These details go beyond the annotations and meaningfully inform the agent of side effects and constraints.

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?

Every sentence adds value: the action is front-loaded ('Mint a caller key'), followed by installation context, a one-time secret warning, auth preference, free-credit detail, and cost-check advice. The description is tightly packed with no filler, and the most critical instruction (secret returned once) is placed early.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no parameters, no output schema, and minimal annotations, the description covers all essential aspects: the action, the endpoint, the one-time secret, the credit grant, and the recommended cost-check flow. It explains what to expect (secret) and how to behave (prefer Bearer, quote credits first). For a 0-param creation tool, this is highly complete.

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 schema provides full coverage (100%). Baseline for 0 params is 4. The description doesn't add parameter-specific info, but that's unnecessary since there are none. It does mention the endpoint and the returned secret, which loosely relates to expected output but not to parameters.

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 function: 'Mint a caller key (POST /keys)', which is a specific verb and resource. The title 'Issue caller key' reinforces this. It distinguishes itself from sibling tools like revoke_key, rotate_key, and verify_key by focusing on creation, making it unambiguous.

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 provides usage context: it mentions the bot install flow, that the secret is returned only once, and advises to quote cost with quote_credits before pdf_extract. It does not explicitly state when not to use it or name alternatives, but the context strongly implies it's the initial step for obtaining a key. The guidance about authentication method and free credit also aids correct usage.

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

list_credit_packsList credit packs — pdf text, pdf extract, document textA
Read-only
Inspect

Prepaid TEST packs (GET /credits/packs). checkout_credits is intent only; credits grant after confirm_credits.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds useful context by identifying the operation as a GET and noting these are prepaid TEST packs, and it clarifies the credit-granting sequence around checkout/confirm. It does not mention return shape or pagination, but this is a simple list with no output schema.

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

Conciseness5/5

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

The description is two short sentences with no filler. The core listing purpose is front-loaded, and the checkout/confirm clarification earns its place by preventing workflow confusion.

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 parameterless read-only list operation, the description is largely complete: it gives the endpoint, the resource type, and the surrounding credit workflow. It does not explain what the returned pack data contains, but the absence of an output schema and the simple nature of the call make this a minor gap.

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 schema is fully covered by default and the description does not need to explain parameter meaning. The baseline for 0 params is 4.

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 ('List') and the resource ('Prepaid TEST packs') and gives the exact endpoint 'GET /credits/packs'. It distinguishes this tool from the credit workflow siblings by noting that 'checkout_credits is intent only; credits grant after confirm_credits.'

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 workflow context is explicit about how checkout_credits and confirm_credits relate to each other, which helps an agent avoid treating checkout as the final step. It does not explicitly name alternatives like credit_balance for viewing balance, so it stops short of full when/when-not guidance.

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

pdf_extractExtract pdf text / pdf extract (document text) — pdf text, pdf extract, document textB
Read-only
Inspect

Text-layer PDF extract (POST /pdf). Install via GET https://pdf.kymac.co/llms.txt only. Prefer Authorization: Bearer; X-API-Key is an alias. Golden URL https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf — compare ok true/false JSON in llms.txt. First key includes 1 free credit. Quote first with quote_credits (no debit). Debits 1 credit on ok:true (credit.debit reason=pdf_success). 200 bodies include credits_burned and credits_remaining. HTTP fails use code/message/retryable/next (error aliases message). 401 next=refresh key. 402: code=insufficient_credits, retryable=false, next=buy credits. Retryable fails use next=retry. No OCR.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesAbsolute http(s) URL of a text-layer PDF. Golden proof URL: https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf

TDQS

B3.3/5.0
Behavior1/5

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

Annotation Contradiction: readOnlyHint=true implies no side effects or state changes, but the description explicitly states 'Debits 1 credit on ok:true' and mentions updated credit fields in the 200 response body. This is a direct behavioral contradiction with the annotation.

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

Conciseness2/5

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

The description is a dense run-on collection of operational fragments with no sectioning or paragraph breaks. Critical scope information like 'No OCR' is buried at the end, and the telegraphic style makes the tool harder to parse quickly.

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 one-parameter paid API, the description covers endpoint, auth, installation, credit cost, response fields, error format, retry behavior, and testing URL. The only real gap is that the extracted text payload structure is implied by the tool name rather than explicitly described.

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 coverage is 100%, and the url parameter already documents the absolute http(s) URL and text-layer requirement. The description repeats the golden URL and adds workflow details, but does not materially extend the meaning of the url parameter itself.

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 opens with 'Text-layer PDF extract (POST /pdf)', giving a precise verb, resource, and endpoint. Closing with 'No OCR' further clarifies the tool's exact scope and separates it from potential OCR-based alternatives.

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 provides strong invocation guidance: install via llms.txt, prefer Bearer auth, quote credits before calling, and use the golden URL to verify output. There is no alternative PDF tool among the siblings, but 'No OCR' and the credit workflow serve as practical when-to-use/when-not-to-use indicators.

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

quote_creditsQuote credit cost — pdf text, pdf extract, document textA
Read-only
Inspect

Dry-run cost for an op without debit (GET /credits/quote?op=pdf). Returns cost, balance, and would_succeed.

ParametersJSON Schema
NameRequiredDescriptionDefault
opNoOperation to quote. Defaults to pdf.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already indicate read-only and non-destructive; the description adds that no debit occurs and enumerates the response fields (cost, balance, would_succeed). This is meaningful behavioral context beyond the annotations, though edge cases like rate limits are not mentioned.

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?

One dense sentence delivers the core concept first ('Dry-run cost'), then the endpoint and return fields. No filler or redundant explanation.

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 one-param tool with no output schema, it adequately covers the no-debit behavior and return fields. However, it does not specify the range of acceptable op values, and the title hints at multiple operations, leaving some ambiguity for non-default invocations.

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?

The schema already fully documents the only parameter (op, default pdf), so the baseline is 3. The description's URL example reinforces the default but doesn't clarify what other operations are valid or how to choose them, adding minimal semantic value.

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 specific verb and resource: quoting the cost of an operation without debiting, and gives the exact endpoint. The phrase 'without debit' distinguishes it from checkout_credits, making sibling differentiation clear.

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?

Clear context: this is a dry-run cost check, so use it before an operation that might debit credits. It does not explicitly name alternatives or exclusions, but the 'without debit' phrasing implicitly routes away from checkout_credits.

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

revoke_keyRevoke caller key — pdf text, pdf extract, document textA
Destructive
Inspect

Invalidate the presented secret (POST /keys/revoke). Same id is revoked; old secret then fails 401 invalid_api_key. Prefer Authorization: Bearer; X-API-Key is an alias only. No ops file-edit.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior4/5

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

The annotations already mark the tool as destructive, and the description adds valuable behavioral detail: revoking the same id causes the old secret to fail with 401 invalid_api_key. It also discloses the auth header alias behavior. Nothing contradicts the annotations.

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 compact and front-loads the core action in the first sentence, with the consequence and auth preference following logically. The closing phrase 'No ops file-edit' is cryptic and adds limited value, preventing a top score.

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 destructive action, the description covers the essential facts: what is invalidated, the failure mode of the old secret, and the preferred authentication method. It could be slightly more complete by noting the expected response or handling of already-revoked keys, but nothing critical is missing for invocation.

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 input schema has zero parameters, so the baseline is 4. The description's reference to the 'presented secret' makes clear that the key is supplied via the request credentials rather than a schema parameter, which is sufficient for an agent to invoke the tool correctly.

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 uses a specific verb ('Invalidate') and a clear resource ('the presented secret'), and identifies the endpoint (POST /keys/revoke). The title also clearly marks this as 'Revoke caller key', which semantically separates it from issue_key, verify_key, and rotate_key, though it does not name those alternatives explicitly.

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 gives concrete invocation guidance by preferring Authorization: Bearer and noting that X-API-Key is only an alias, and it frames the tool's purpose as secret invalidation. However, it does not state when to choose revoke_key over rotate_key or verify_key, and it provides no exclusions or alternative routing.

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

rotate_keyRotate caller key — pdf text, pdf extract, document textAInspect

Replace the presented secret (POST /keys/rotate). Same id/caller_id and credits. New ssm_… is returned once. Old secret then fails 401 invalid_api_key. Prefer Authorization: Bearer; X-API-Key is an alias only. No ops file-edit.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior4/5

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

Annotations only indicate it is non-read-only and non-destructive. The description adds key behavioral details: the new ssm_ secret is returned only once, the old secret subsequently fails with 401 invalid_api_key, and the auth preference for Authorization: Bearer. These go beyond the annotations and are useful for an agent.

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 three sentences, dense and informative without fluff. It front-loads the core purpose, then provides return/failure behavior and authentication notes. It is appropriately sized for the tool's simplicity.

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 no-parameter, no-output-schema tool, the description covers the essential operational context: what it does, the single-return behavior, the consequence for the old key, and the preferred auth method. No critical information for a caller is missing.

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 (100% coverage), so there is nothing to document. The baseline for 0 params is 4. The description does not need to add parameter details and appropriately stays silent on them.

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 rotates a key by replacing the presented secret, with an explicit endpoint reference (POST /keys/rotate). It distinguishes itself from sibling tools like issue_key and revoke_key by focusing on rotation while preserving id/caller_id and credits.

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 does not explicitly state when to use this tool versus alternatives. It implies rotation is the action, and mentions 'No ops file-edit' as a non-goal, but does not clearly contrast with issue_key or revoke_key. An agent would infer usage from the name and siblings, but explicit guidance is missing.

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

verify_keyVerify caller key — pdf text, pdf extract, document textA
Read-only
Inspect

Confirm PDF_TEXT_API_KEY or Authorization: Bearer (GET /keys/verify). X-API-Key is an alias only. Does not echo the secret.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already mark this as read-only and non-destructive. The description adds valuable behavior beyond that: it confirms the accepted authentication mechanisms and explicitly discloses that the secret is not echoed. This is useful context for an agent deciding whether to call the tool safely.

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?

Three short sentences, each carrying distinct meaning: what the tool confirms, how authentication is expressed, and a security-relevant limitation. The most important verb and resource appear first, with no redundant framing or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only verification endpoint, the description is complete. It names the exact endpoint, lists accepted credentials, and clarifies that the secret is not echoed. Annotations cover the safety profile, and no output schema means the description does not need to document return fields.

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?

There are no input parameters, so the baseline is 4, and the description goes further by explaining the caller-key semantics: PDF_TEXT_API_KEY, Authorization: Bearer, and the X-API-Key alias. This gives an agent clear guidance on what credential is being verified even though the schema is empty.

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: confirming an API key via the /keys/verify endpoint. It clearly distinguishes verification from key lifecycle operations like issue_key, revoke_key, and rotate_key among the siblings. The title also disambiguates which product context this key belongs to.

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 checking key validity, and the GET path suggests a non-mutating verification call. However, it does not explicitly state when to use it versus related tools such as health or the key-management siblings, nor does it mention any exclusion cases.

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. 12 tool updates
    • First observedcheckout_credits
    • First observedconfirm_credits
    • First observedcredit_balance
    • First observedcredit_events
    • First observedhealth
    • First observedissue_key
    • First observedlist_credit_packs
    • First observedpdf_extract
    • First observedquote_credits
    • First observedrevoke_key
    • First observedrotate_key
    • First observedverify_key

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources