Scorekeeper

Create live scoreboards, connect with OAuth, and prepare checkout or Stripe CLI payments.

我該用這個嗎

品質與安全性

A
說明品質
100%
結構描述完整度
65%
命名品質
98%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

根據工具定義與協定合規性的自動化分析。

上下文成本

~3,776Token(工具定義)
~3.0 KB典型回應大小
顯著的注意力影響(128k 上下文的 2.95%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "scorekeeper": {
      "url": "https://www.scorekeeper.co/api/mcp"
    }
  }
}

遠端端點

https://www.scorekeeper.co/api/mcpstreamable-http

它能做什麼

工具清單

工具(11)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢get_service_info

Start here to discover Scorekeeper's MCP/OAuth and guest REST onboarding, supported scoreboard operations, free limits, current prices and payment steps. Public; no account or authentication needed. Does not create anything.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    },
    "publisher": {
      "type": "string"
    },
    "version": {
      "type": "string"
    }
  },
  "required": [
    "name",
    "publisher",
    "version"
  ],
  "additionalProperties": true,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_account

Read only the connected account's current plan, expiry, board capacity and permissions. Call before offering a paid upgrade. Requires explicit billing:read permission; returns no personal or payment details.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡create_checkout(requestId, offerId, months)

Create a private Stripe checkout for a current offer after the user expresses purchase intent. Explain price, duration and annual renewal before proceeding. This tool does not charge a card: give checkoutUrl privately to the buyer for payment authorization. Reuse the exact requestId/input after uncertainty; never create a replacement checkout to retry. Pro and Studio passes accept months=1–12 and never auto-renew; annual offers are recurring. Requires billing:checkout.

輸入結構描述

{
  "type": "object",
  "properties": {
    "requestId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,128}$"
    },
    "offerId": {
      "type": "string",
      "enum": [
        "pro_week",
        "pro",
        "studio",
        "pro_annual",
        "studio_annual"
      ]
    },
    "months": {
      "type": "integer",
      "minimum": 1,
      "maximum": 12
    }
  },
  "required": [
    "requestId",
    "offerId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "offerId": {
      "type": "string",
      "enum": [
        "pro_week",
        "pro",
        "studio",
        "pro_annual",
        "studio_annual"
      ]
    },
    "months": {
      "type": "integer"
    },
    "amountCents": {
      "type": "integer"
    },
    "currency": {
      "type": "string",
      "const": "USD"
    },
    "checkoutUrl": {
      "type": [
        "string",
        "null"
      ]
    },
    "checkoutStatus": {
      "type": "string",
      "enum": [
        "creating",
        "open",
        "complete",
        "expired"
      ]
    },
    "paymentStatus": {
      "type": "string",
      "enum": [
        "pending",
        "unpaid",
        "paid",
        "no_payment_required"
      ]
    },
    "fulfillmentStatus": {
      "type": "string",
      "enum": [
        "pending",
        "fulfilled"
      ]
    }
  },
  "required": [
    "id",
    "offerId",
    "months",
    "amountCents",
    "currency",
    "checkoutUrl",
    "checkoutStatus",
    "paymentStatus",
    "fulfillmentStatus"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_checkout(id)

Read the connected account's checkout by its returned opaque id. Only fulfillmentStatus=fulfilled confirms webhook-granted access; paid/completed alone is insufficient. Poll no more often than every 15 seconds. Return to the requested scoreboard task once access is granted.

輸入結構描述

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "offerId": {
      "type": "string",
      "enum": [
        "pro_week",
        "pro",
        "studio",
        "pro_annual",
        "studio_annual"
      ]
    },
    "months": {
      "type": "integer"
    },
    "amountCents": {
      "type": "integer"
    },
    "currency": {
      "type": "string",
      "const": "USD"
    },
    "checkoutUrl": {
      "type": [
        "string",
        "null"
      ]
    },
    "checkoutStatus": {
      "type": "string",
      "enum": [
        "creating",
        "open",
        "complete",
        "expired"
      ]
    },
    "paymentStatus": {
      "type": "string",
      "enum": [
        "pending",
        "unpaid",
        "paid",
        "no_payment_required"
      ]
    },
    "fulfillmentStatus": {
      "type": "string",
      "enum": [
        "pending",
        "fulfilled"
      ]
    }
  },
  "required": [
    "id",
    "offerId",
    "months",
    "amountCents",
    "currency",
    "checkoutUrl",
    "checkoutStatus",
    "paymentStatus",
    "fulfillmentStatus"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡create_payment_order(requestId, offerId, months)

Prepare an owner-bound one-time payment order after purchase intent, only when get_service_info pricing.paymentMethods.stripe_cli_pay.available is true. Returns the exact @scorekeeper recipient, USD amount and unique memo for stripe pay. Supports pro_week, pro and studio (1–12 calendar months), never annual subscriptions. This tool sends no money. Separately obtain authorization for the actual Stripe transfer and payer-selected funding account. Reuse identical requestId/input on retry; never pay twice or send without the returned memo.

輸入結構描述

{
  "type": "object",
  "properties": {
    "requestId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,128}$"
    },
    "offerId": {
      "type": "string",
      "enum": [
        "pro_week",
        "pro",
        "studio"
      ]
    },
    "months": {
      "type": "integer",
      "minimum": 1,
      "maximum": 12
    }
  },
  "required": [
    "requestId",
    "offerId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "offerId": {
      "type": "string",
      "enum": [
        "pro_week",
        "pro",
        "studio"
      ]
    },
    "months": {
      "type": "integer"
    },
    "amountCents": {
      "type": "integer"
    },
    "currency": {
      "type": "string",
      "const": "USD"
    },
    "reference": {
      "type": "string",
      "pattern": "^SK[A-F0-9]{20}$"
    },
    "createdAt": {
      "type": "number"
    },
    "expiresAt": {
      "type": "number"
    },
    "paymentStatus": {
      "type": "string",
      "enum": [
        "pending",
        "received",
        "reversed",
        "review_required"
      ]
    },
    "fulfillmentStatus": {
      "type": "string",
      "enum": [
        "pending",
        "fulfilled",
        "review_required"
      ]
    },
    "orderStatus": {
      "type": "string",
      "enum": [
        "open",
        "expired",
        "fulfilled",
        "review_required"
      ]
    },
    "nextAction": {
      "type": "string",
      "enum": [
        "pay_with_stripe_cli",
        "check_status",
        "contact_support",
        "expired",
        "complete"
      ]
    },
    "pollAfterSeconds": {
      "type": "integer"
    },
    "accessExpiresAt": {
      "type": [
        "number",
        "null"
      ]
    },
    "instructions": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "recipient": {
              "type": "string",
              "const": "@scorekeeper"
            },
            "amount": {
              "type": "string"
            },
            "currency": {
              "type": "string",
              "const": "usd"
            },
            "memo": {
              "type": "string"
            },
            "flags": {
              "type": "array",
              "items": {
                "type": "string",
                "const": "--agent"
              }
            }
          },
          "required": [
            "recipient",
            "amount",
            "currency",
            "memo",
            "flags"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "id",
    "offerId",
    "months",
    "amountCents",
    "currency",
    "reference",
    "createdAt",
    "expiresAt",
    "paymentStatus",
    "fulfillmentStatus",
    "orderStatus",
    "nextAction",
    "pollAfterSeconds",
    "accessExpiresAt",
    "instructions"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡get_payment_order(id)

Check only the connected account's payment order and reconcile a bank receipt. May activate access after matching verified received funds. Only fulfillmentStatus=fulfilled confirms access; CLI output or sender status does not. Poll no more often than pollAfterSeconds (at least 60 seconds). Bank transfers can take business days. Never send a replacement payment while pending. review_required or reversed needs support reconciliation, not another payment.

輸入結構描述

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "offerId": {
      "type": "string",
      "enum": [
        "pro_week",
        "pro",
        "studio"
      ]
    },
    "months": {
      "type": "integer"
    },
    "amountCents": {
      "type": "integer"
    },
    "currency": {
      "type": "string",
      "const": "USD"
    },
    "reference": {
      "type": "string",
      "pattern": "^SK[A-F0-9]{20}$"
    },
    "createdAt": {
      "type": "number"
    },
    "expiresAt": {
      "type": "number"
    },
    "paymentStatus": {
      "type": "string",
      "enum": [
        "pending",
        "received",
        "reversed",
        "review_required"
      ]
    },
    "fulfillmentStatus": {
      "type": "string",
      "enum": [
        "pending",
        "fulfilled",
        "review_required"
      ]
    },
    "orderStatus": {
      "type": "string",
      "enum": [
        "open",
        "expired",
        "fulfilled",
        "review_required"
      ]
    },
    "nextAction": {
      "type": "string",
      "enum": [
        "pay_with_stripe_cli",
        "check_status",
        "contact_support",
        "expired",
        "complete"
      ]
    },
    "pollAfterSeconds": {
      "type": "integer"
    },
    "accessExpiresAt": {
      "type": [
        "number",
        "null"
      ]
    },
    "instructions": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "recipient": {
              "type": "string",
              "const": "@scorekeeper"
            },
            "amount": {
              "type": "string"
            },
            "currency": {
              "type": "string",
              "const": "usd"
            },
            "memo": {
              "type": "string"
            },
            "flags": {
              "type": "array",
              "items": {
                "type": "string",
                "const": "--agent"
              }
            }
          },
          "required": [
            "recipient",
            "amount",
            "currency",
            "memo",
            "flags"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "id",
    "offerId",
    "months",
    "amountCents",
    "currency",
    "reference",
    "createdAt",
    "expiresAt",
    "paymentStatus",
    "fulfillmentStatus",
    "orderStatus",
    "nextAction",
    "pollAfterSeconds",
    "accessExpiresAt",
    "instructions"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡create_scoreboard(requestId, title, teams)

Create a public, shareable two-team scoreboard at zero. Requires explicit user intent to create; title and team names are public. Free boards allow 50 total spectator views and show branding. Retry the identical requestId and input after a timeout.

輸入結構描述

{
  "type": "object",
  "properties": {
    "requestId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,128}$"
    },
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "teams": {
      "type": "array",
      "minItems": 2,
      "maxItems": 2,
      "items": [
        {
          "type": "object",
          "properties": {
            "name": {
              "$ref": "#/properties/title"
            }
          },
          "required": [
            "name"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "name": {
              "$ref": "#/properties/title"
            }
          },
          "required": [
            "name"
          ],
          "additionalProperties": false
        }
      ]
    }
  },
  "required": [
    "requestId",
    "title",
    "teams"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "teams": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "score": {
            "type": "number"
          }
        },
        "required": [
          "id",
          "name",
          "score"
        ],
        "additionalProperties": false
      }
    },
    "revision": {
      "type": "string"
    },
    "links": {
      "type": "object",
      "properties": {
        "spectator": {
          "type": "string"
        },
        "manage": {
          "type": [
            "string",
            "null"
          ]
        },
        "overlay": {
          "type": "string"
        }
      },
      "required": [
        "spectator",
        "manage",
        "overlay"
      ],
      "additionalProperties": false
    },
    "limits": {
      "type": "object",
      "properties": {
        "spectatorViews": {
          "type": [
            "number",
            "null"
          ]
        },
        "watermark": {
          "type": "boolean"
        }
      },
      "required": [
        "spectatorViews",
        "watermark"
      ],
      "additionalProperties": false
    },
    "capabilities": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "id",
    "title",
    "teams",
    "revision",
    "links",
    "limits",
    "capabilities"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_scoreboard(id)

Read a scoreboard created through this API by the connected account, including stable team IDs and current revision.

輸入結構描述

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,128}$"
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "teams": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "score": {
            "type": "number"
          }
        },
        "required": [
          "id",
          "name",
          "score"
        ],
        "additionalProperties": false
      }
    },
    "revision": {
      "type": "string"
    },
    "links": {
      "type": "object",
      "properties": {
        "spectator": {
          "type": "string"
        },
        "manage": {
          "type": [
            "string",
            "null"
          ]
        },
        "overlay": {
          "type": "string"
        }
      },
      "required": [
        "spectator",
        "manage",
        "overlay"
      ],
      "additionalProperties": false
    },
    "limits": {
      "type": "object",
      "properties": {
        "spectatorViews": {
          "type": [
            "number",
            "null"
          ]
        },
        "watermark": {
          "type": "boolean"
        }
      },
      "required": [
        "spectatorViews",
        "watermark"
      ],
      "additionalProperties": false
    },
    "capabilities": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "id",
    "title",
    "teams",
    "revision",
    "links",
    "limits",
    "capabilities"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_scoreboards(cursor, limit)

List the connected account's API-created generic scoreboards. Does not list unrelated legacy boards. Pass nextCursor as cursor to continue until null; a filtered page can be empty.

輸入結構描述

{
  "type": "object",
  "properties": {
    "cursor": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,128}$"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "scoreboards": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "teams": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "score": {
                  "type": "number"
                }
              },
              "required": [
                "id",
                "name",
                "score"
              ],
              "additionalProperties": false
            }
          },
          "revision": {
            "type": "string"
          },
          "links": {
            "type": "object",
            "properties": {
              "spectator": {
                "type": "string"
              },
              "manage": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "overlay": {
                "type": "string"
              }
            },
            "required": [
              "spectator",
              "manage",
              "overlay"
            ],
            "additionalProperties": false
          },
          "limits": {
            "type": "object",
            "properties": {
              "spectatorViews": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "watermark": {
                "type": "boolean"
              }
            },
            "required": [
              "spectatorViews",
              "watermark"
            ],
            "additionalProperties": false
          },
          "capabilities": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "id",
          "title",
          "teams",
          "revision",
          "links",
          "limits",
          "capabilities"
        ],
        "additionalProperties": false
      }
    },
    "nextCursor": {
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "scoreboards",
    "nextCursor"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴update_scoreboard

Atomically set exact scores, increment scores, rename teams or change title. Use stable team IDs and the last read revision. Updates immediately appear publicly. On revision_conflict read the board and decide again; do not blindly replay a stale increment. Identical retry IDs return the previous result.

輸入結構描述

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

輸出結構描述

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "teams": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "score": {
            "type": "number"
          }
        },
        "required": [
          "id",
          "name",
          "score"
        ],
        "additionalProperties": false
      }
    },
    "revision": {
      "type": "string"
    },
    "links": {
      "type": "object",
      "properties": {
        "spectator": {
          "type": "string"
        },
        "manage": {
          "type": [
            "string",
            "null"
          ]
        },
        "overlay": {
          "type": "string"
        }
      },
      "required": [
        "spectator",
        "manage",
        "overlay"
      ],
      "additionalProperties": false
    },
    "limits": {
      "type": "object",
      "properties": {
        "spectatorViews": {
          "type": [
            "number",
            "null"
          ]
        },
        "watermark": {
          "type": "boolean"
        }
      },
      "required": [
        "spectatorViews",
        "watermark"
      ],
      "additionalProperties": false
    },
    "capabilities": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "id",
    "title",
    "teams",
    "revision",
    "links",
    "limits",
    "capabilities"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪hand_off_scoreboard(id, requestId)

Return the connected account owner’s private management link. Share it only with the intended scorer, never spectators. Does not transfer ownership. Reuse requestId on retry.

輸入結構描述

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,128}$"
    },
    "requestId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,128}$"
    }
  },
  "required": [
    "id",
    "requestId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string"
    },
    "expiresAt": {
      "type": [
        "number",
        "null"
      ]
    },
    "transfersOwnership": {
      "type": "boolean"
    }
  },
  "required": [
    "url",
    "expiresAt",
    "transfersOwnership"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本11 個工具