shelf-smoke — url smoke / headless QA

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

我该使用它吗

质量与安全性

B
描述质量
95%
模式完整度
53%
命名质量
87%
投毒风险
60%
权限匹配度
100%
协议合规性
100%

发现(3)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains URL to non-standard domain在 issue_key 中
  • MEDIUMTool description contains URL to non-standard domain在 smoke 中

基于对工具定义和协议合规性的自动分析。

上下文开销

~1,201token 数(工具定义)
~272 B典型响应大小
对注意力有中等影响(占 128k 上下文窗口的 0.94%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "shelf-smoke": {
      "url": "https://shelf.kymac.co/mcp"
    }
  }
}

远程端点

https://shelf.kymac.co/mcpstreamable-http

它能做什么

工具清单

工具(12)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢issue_key

Mint 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.

输入模式

{
  "type": "object",
  "properties": {}
}
🟢verify_key

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

输入模式

{
  "type": "object",
  "properties": {}
}
⚪rotate_key

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.

输入模式

{
  "type": "object",
  "properties": {}
}
🔴revoke_key

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.

输入模式

{
  "type": "object",
  "properties": {}
}
🟢list_credit_packs

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

输入模式

{
  "type": "object",
  "properties": {}
}
⚪checkout_credits(pack_id)

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.

输入模式

{
  "type": "object",
  "properties": {
    "pack_id": {
      "type": "string",
      "description": "Pack id from list_credit_packs (e.g. pack_10)."
    }
  },
  "required": [
    "pack_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
⚪confirm_credits(stripe_payment_intent_id)

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.

输入模式

{
  "type": "object",
  "properties": {
    "stripe_payment_intent_id": {
      "type": "string",
      "description": "PaymentIntent id (pi_…) from checkout_credits."
    }
  },
  "required": [
    "stripe_payment_intent_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢quote_credits(op)

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

输入模式

{
  "type": "object",
  "properties": {
    "op": {
      "description": "Operation to quote. Defaults to smoke.",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢credit_balance

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

输入模式

{
  "type": "object",
  "properties": {}
}
🟢credit_events

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

输入模式

{
  "type": "object",
  "properties": {}
}
🟢smoke(url)

Headless 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/next (error aliases message). 401 next=refresh key. 402: code=insufficient_credits, retryable=false, next=buy credits. Retryable fails use next=retry.

输入模式

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "Absolute http(s) URL to smoke. Golden proof URL: https://example.com/"
    }
  },
  "required": [
    "url"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢health

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

输入模式

{
  "type": "object",
  "properties": {}
}

推荐提示词

list_items
List all [items] available in shelf-smoke — url smoke / headless QA
预期工具: list_credit_packs
browse_collection
Show me the [collection] from shelf-smoke — url smoke / headless QA
预期工具: list_credit_packs

社区

评价此服务器

证据

最近观测

已验证未记录版本12 个工具