shelf-smoke — url smoke / headless QA

url smoke / headless QA: desktop+phone → pass/fail JSON.

Community: Submitted by a user or imported; check the owner before granting accessDegradedAPI key requiredGlobalFreeRead-only

What it can do

    What data it sees

    Do you need an account

    An API key from the service settings is required

    url smoke / headless QA: desktop+phone → pass/fail JSON. MCP shelf.kymac.co

    Server tool list (12)

    Raw names from tools/list. Only developers need these.

    issue_keyMint a caller key (POST /keys). Bot install starts at GET https://shelf.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 smoke.
    verify_keyConfirm SHELF_SMOKE_API_KEY or Authorization: Bearer (GET /keys/verify). X-API-Key is an alias only. Does not echo the secret.
    rotate_keyReplace 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.
    revoke_keyInvalidate 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.
    list_credit_packsPrepaid TEST packs (GET /credits/packs). checkout_credits is intent only; credits grant after confirm_credits.
    checkout_creditsStripe 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.
    confirm_creditsConfirm 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.
    quote_creditsDry-run cost for an op without debit (GET /credits/quote?op=smoke). Returns cost, balance, and would_succeed.
    credit_balanceDerived prepaid balance for this caller_id (GET /credits/balance).
    credit_eventsAppend-only Ledger events for this caller_id (GET /credits/events): credit.grant (first_key), credit.purchase, credit.debit, optional credit.balance_snapshot.
    smokeHeadless smoke (POST /smoke). Install via GET https://shelf.kymac.co/llms.txt only. Prefer Authorization: Bearer; X-API-Key is an alias. Golden URL https://example.com/ — 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=smoke_success). 200 bodies include credits_burned and credits_remaining. HTTP fails use code/message/retryable (error aliases message). 402: code=insufficient_credits, retryable=false.
    healthPublic readiness (GET /health): billing (test|live|gated) and runner_ready. No key.
    shelf-smoke — url smoke / headless QA: connect to Claude, ChatGPT, Cursor · Connectors.fun