{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_qk3d253zf972","handle":"scorekeeper","url":"https://wellknown.network/agents/scorekeeper","links":{"self":"https://wellknown.network/agents/scorekeeper/record.json","html":"https://wellknown.network/agents/scorekeeper","markdown":"https://wellknown.network/agents/scorekeeper/record.md","api":"https://wellknown.network/api/v1/agents/scorekeeper","status":"https://wellknown.network/api/v1/agents/scorekeeper/status","claim":"https://wellknown.network/agents/scorekeeper/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/scorekeeper/claim.json","badge":"https://wellknown.network/agents/scorekeeper/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/scorekeeper/history","tools":"https://wellknown.network/api/v1/agents/scorekeeper/tools"},"ard":{"identifier":"urn:air:www.scorekeeper.co:server:scorekeeper","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Scorekeeper","summary":"Create live scoreboards, connect with OAuth, and prepare checkout or Stripe CLI payments.","description":"Create live scoreboards, connect with OAuth, and prepare checkout or Stripe CLI payments.","publisher":{"name":"co.scorekeeper","url":null},"homepage":"https://www.scorekeeper.co/agents","repository":"https://github.com/HatoUP/scorekeeper-mcp","version":"1.2.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://www.scorekeeper.co/api/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-29T21:27:40.957989Z","publishedAt":"2026-10-29T21:27:40.957989Z","registryName":"co.scorekeeper/scorekeeper"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"commerce.payments","name":"Payments","confidence":1,"provenance":"derived"},{"slug":"security.identity","name":"Identity & Access","confidence":1,"provenance":"derived"},{"slug":"commerce.pricing","name":"Pricing & Quotes","confidence":0.51,"provenance":"derived"},{"slug":"communication.notifications","name":"Notifications","confidence":0.51,"provenance":"derived"}],"categories":["commerce","communication","security"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 4h ago.","lastOkAt":"2026-11-01T08:25:49.456Z","lastProbedAt":"2026-11-01T08:25:49.456Z","statusComputedAt":"2026-11-01T08:29:37.181Z","reliability30d":{"probes":2,"successRate":1,"p50Ms":561,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":2,"ok":2,"authBoundaryOk":0,"serviceOk":2,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-11-01T08:25:49.456Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":518,"error":null,"detail":{"tools":[{"name":"get_service_info","description":"Start here to discover Scorekeeper's MCP/OAuth and guest REST onboarding, supported scoreboard operations, free limits, current prices and payment steps. Public"},{"name":"get_account","description":"Read only the connected account's current plan, expiry, board capacity and permissions. Call before offering a paid upgrade. Requires explicit billing:read perm"},{"name":"create_checkout","description":"Create a private Stripe checkout for a current offer after the user expresses purchase intent. Explain price, duration and annual renewal before proceeding. Thi"},{"name":"get_checkout","description":"Read the connected account's checkout by its returned opaque id. Only fulfillmentStatus=fulfilled confirms webhook-granted access; paid/completed alone is insuf"},{"name":"create_payment_order","description":"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"},{"name":"get_payment_order","description":"Check only the connected account's payment order and reconcile a bank receipt. May activate access after matching verified received funds. Only fulfillmentStatu"},{"name":"create_scoreboard","description":"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 spe"},{"name":"get_scoreboard","description":"Read a scoreboard created through this API by the connected account, including stable team IDs and current revision."},{"name":"list_scoreboards","description":"List the connected account's API-created generic scoreboards. Does not list unrelated legacy boards. Pass nextCursor as cursor to continue until null; a filtere"},{"name":"update_scoreboard","description":"Atomically set exact scores, increment scores, rename teams or change title. Use stable team IDs and the last read revision. Updates immediately appear publicly"},{"name":"hand_off_scoreboard","description":"Return the connected account owner’s private management link. Share it only with the intended scorer, never spectators. Does not transfer ownership. Reuse reque"}],"toolCount":11,"toolsHash":"32d0be0a20220eb171397a3f43a893dbbe48d2bb6dd536a7b8c2b4ef78700c32","serverName":"scorekeeper","capabilities":["tools"],"serverVersion":"1.2.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-01T00:27:21.682Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":604,"error":null,"detail":{"tools":[{"name":"get_service_info","description":"Start here to discover Scorekeeper's MCP/OAuth and guest REST onboarding, supported scoreboard operations, free limits, current prices and payment steps. Public"},{"name":"get_account","description":"Read only the connected account's current plan, expiry, board capacity and permissions. Call before offering a paid upgrade. Requires explicit billing:read perm"},{"name":"create_checkout","description":"Create a private Stripe checkout for a current offer after the user expresses purchase intent. Explain price, duration and annual renewal before proceeding. Thi"},{"name":"get_checkout","description":"Read the connected account's checkout by its returned opaque id. Only fulfillmentStatus=fulfilled confirms webhook-granted access; paid/completed alone is insuf"},{"name":"create_payment_order","description":"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"},{"name":"get_payment_order","description":"Check only the connected account's payment order and reconcile a bank receipt. May activate access after matching verified received funds. Only fulfillmentStatu"},{"name":"create_scoreboard","description":"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 spe"},{"name":"get_scoreboard","description":"Read a scoreboard created through this API by the connected account, including stable team IDs and current revision."},{"name":"list_scoreboards","description":"List the connected account's API-created generic scoreboards. Does not list unrelated legacy boards. Pass nextCursor as cursor to continue until null; a filtere"},{"name":"update_scoreboard","description":"Atomically set exact scores, increment scores, rename teams or change title. Use stable team IDs and the last read revision. Updates immediately appear publicly"},{"name":"hand_off_scoreboard","description":"Return the connected account owner’s private management link. Share it only with the intended scorer, never spectators. Does not transfer ownership. Reuse reque"}],"toolCount":11,"toolsHash":"32d0be0a20220eb171397a3f43a893dbbe48d2bb6dd536a7b8c2b4ef78700c32","serverName":"scorekeeper","capabilities":["tools"],"serverVersion":"1.2.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"get_service_info","description":"Start here to discover Scorekeeper's MCP/OAuth and guest REST onboarding, supported scoreboard operations, free limits, current prices and payment steps. Public"},{"name":"get_account","description":"Read only the connected account's current plan, expiry, board capacity and permissions. Call before offering a paid upgrade. Requires explicit billing:read perm"},{"name":"create_checkout","description":"Create a private Stripe checkout for a current offer after the user expresses purchase intent. Explain price, duration and annual renewal before proceeding. Thi"},{"name":"get_checkout","description":"Read the connected account's checkout by its returned opaque id. Only fulfillmentStatus=fulfilled confirms webhook-granted access; paid/completed alone is insuf"},{"name":"create_payment_order","description":"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"},{"name":"get_payment_order","description":"Check only the connected account's payment order and reconcile a bank receipt. May activate access after matching verified received funds. Only fulfillmentStatu"},{"name":"create_scoreboard","description":"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 spe"},{"name":"get_scoreboard","description":"Read a scoreboard created through this API by the connected account, including stable team IDs and current revision."},{"name":"list_scoreboards","description":"List the connected account's API-created generic scoreboards. Does not list unrelated legacy boards. Pass nextCursor as cursor to continue until null; a filtere"},{"name":"update_scoreboard","description":"Atomically set exact scores, increment scores, rename teams or change title. Use stable team IDs and the last read revision. Updates immediately appear publicly"},{"name":"hand_off_scoreboard","description":"Return the connected account owner’s private management link. Share it only with the intended scorer, never spectators. Does not transfer ownership. Reuse reque"}],"package":null,"toolSurface":{"id":"ts_xagzt8w654u4","endpointId":"ep_kf5xbt4x7t64","hash":"32d0be0a20220eb171397a3f43a893dbbe48d2bb6dd536a7b8c2b4ef78700c32","toolCount":11,"serverName":"scorekeeper","serverVersion":"1.2.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-11-01T00:27:21.738Z","lastSeenAt":"2026-11-01T08:25:49.449Z","observations":2,"toolNames":["get_service_info","get_account","create_checkout","get_checkout","create_payment_order","get_payment_order","create_scoreboard","get_scoreboard","list_scoreboards","update_scoreboard","hand_off_scoreboard"],"distinctSurfaces":1},"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"co.scorekeeper/scorekeeper","url":"https://registry.modelcontextprotocol.io/v0/servers/co.scorekeeper%2Fscorekeeper","firstSeenAt":"2026-10-31T22:21:48.364Z","fetchedAt":"2026-10-31T22:21:48.364Z","normalizedAt":"2026-10-31T22:21:48.364Z"}]},"firstSeenAt":"2026-10-31T22:21:48.364Z","updatedAt":"2026-11-01T08:31:11.969Z"}