API / 版本 1
以穩定的 JSON 呈現證據。
公開 API 所揭露的觀測與網站相同,皆附有時間戳記。此 API 為唯讀,且不需要金鑰或帳號。
請求與快取
每個回應都是 application/json,並帶有 Cache-Control: public, s-maxage=60, stale-while-revalidate=300。遵守該標頭不會對你造成任何成本,也能讓索引的供應維持低廉,因此請從你的快取讀取,而不要輪詢。僅提供 GET 與 HEAD;任何其他方法都會傳回 405,並附上 Allow 標頭。
錯誤絕不會只傳回狀態碼。回應主體一律是物件,其中包含可安全用於分支判斷的 code,以及為人撰寫的 message:
{ "error": { "code": "invalid_limit", "message": "limit must be an integer from 1 to 100" } }列出伺服器
GET /api/v1/servers- q
- 比對標題、登錄名稱與說明的自由文字。
- state
- verified、stale、broken、auth_required 或 unverifiable 其中之一。
- package
- 套件登錄檔類型:npm、pypi 或 oci。
- transport
- Registry 紀錄所宣告的傳輸方式,例如 stdio。
- client
- 用戶端代稱,如「用戶端」頁面所列,例如 claude-code。 公開 API
- limit
- 1 到 100 的整數。預設為 25。超出此範圍的值會被拒絕,而不是被截斷,因此用戶端絕不會在未被告知的情況下,拿到與要求不同的資料列數。
- cursor
- 前一個回應中的 nextCursor。第一頁請省略此參數;最後一頁時其值為 null。
GET /api/v1/servers?state=verified&package=npm&limit=2
{
"data": [
{
"id": "srv_01J…",
"registryName": "example/one",
"title": "Example Server",
"description": "What the server says it does.",
"state": "verified",
"observedAt": "2026-09-15T00:00:00.000Z",
"toolCount": 3,
"url": "/servers/example/one"
}
],
"nextCursor": null
}伺服器詳細資料
GET /api/v1/servers/:namespace/:name在 data 底下傳回某部伺服器的 Registry 中介資料、可執行的套件,以及公開觀測記錄。該記錄中的每次執行都會註明所測試的確切套件版本,而該版本通常不是現今發布的版本。未知的組合會傳回 404,並帶有錯誤碼 not_found。
驗證執行
GET /api/v1/verification-runs/:id依識別碼取得單一觀測。尚未通過確認規則的執行不會出現在這裡,並會傳回 404 與錯誤碼 not_found —— 與從未存在過的執行得到相同答案,因為兩者之間的任何差異,都會揭露該規則所要保留的失敗。
資料集統計資料
GET /api/v1/stats{ "data": { "indexedServers": 979, "verifiedServers": 0, "observedAt": null } }錯誤碼
- invalid_limit
400— limit 不是 1 到 100 的整數。- invalid_cursor
400— cursor 格式錯誤,或是針對不同的排序順序所產生。請從第一頁重新開始。- not_found
404— 沒有這部伺服器,或沒有具備該識別碼的可發布執行。- method_not_allowed
405— 此 API 為唯讀。回應會列出所提供的方法。
未揭露的內容
內部的 stderr、工作程序租約,以及待確認的詳細資料永遠不會發布;狀態一律帶有其所描述之觀測的時間戳記,而不是你查詢當下的時間。