공개 데이터 · API / MCP
검토 후 게시된 공지를 읽기 전용으로 조회합니다. 웹과 같은 데이터·통계 규칙을 사용합니다. 로컬에서만 검증했으며 배포나 정식 플러그인 연결은 하지 않았습니다.
비공식 서비스이며 xAI/X와 관련이 없습니다. 시각은 공지 게시 기준이며 정확한 적용 시각이나 개인 계정의 잔여 한도를 뜻하지 않습니다. 검증 가능한 공개 공지만 날짜에 표시합니다. 빈 날짜는 초기화가 없었다는 증거가 아닙니다. 검색 누락이 있을 수 있어 전체 이력이 아닙니다. 개인 계정의 잔여 한도를 읽지 않습니다
HTTP API · v1
로컬 주소: http://localhost:3000. 키가 필요하지 않으며 쓰기·검토·구독·전송 명령은 없습니다.
- GET /api/v1/latest
- event 또는 null을 반환합니다. 출처가 있는 확인된 초기화만 선택하며 한도 증가와 미래 공지는 제외합니다.
- GET /api/v1/history
- items·filters·pagination을 반환합니다. 진행 중·발표됨·취소됨을 유지하며 확인된 상태로 바꾸지 않습니다.
- GET /api/v1/stats
- stats·latestConfirmedEvent: 총수, 평균·최장 간격(시간), 경과 시간, 최근 30·90일 횟수.
latest·stats의 기본 제품은 grok_bot, history는 모든 제품입니다. 출처 중복을 제거하고 근거가 있는 confirmed 비미래 이벤트만 집계합니다(limit_increase 제외). 연속 확인 공지로 간격을 계산하며 표본 부족은 null입니다. 30·90일 범위는 checkedAt 기준이며 경계를 포함합니다.
이력 필터 및 페이지 나누기
- product: grok_bot / x_grok / grok_com / grok_imagine / xai_api / other
- status: announced / propagating / confirmed / cancelled
- kind: full_reset / credit_grant / scheduled_refresh / incident_compensation / limit_increase
- plan: history 전용. all_users, unknown 또는 검토된 요금제 이름(2–64자, 대소문자·Unicode 정규화). 특정 요금제에는 전체 사용자 초기화도 포함되며 대상 불명은 제외됩니다. audience는 mode, plans, evidenceExcerpt, updatedAt을 포함하며 미검토·오래된 검토는 unknown입니다.
- from·to: Z로 끝나는 UTC ISO 시각이며 경계를 포함합니다. from은 to보다 늦을 수 없습니다.
- limit: 1–100, 기본 20. offset: 0–1000000, 기본 0. MCP는 정수, HTTP는 십진 문자열입니다. 알 수 없거나 중복된 매개변수는 오류입니다.
- lang: en / zh-CN / zh-TW / ja / ko, 기본 zh-CN. 별도 검토된 요약 번역이 없거나 오래되면 zh-CN으로 대체하며 summaryLanguage·translationState·translationUpdatedAt으로 명시합니다. 원문과 이벤트 사실은 바뀌지 않습니다.
occurredAt 내림차순, 동일 시각은 ID 오름차순입니다. pagination.total은 필터된 총수, hasMore·nextOffset은 다음 페이지입니다. 고정 스냅샷이 아니므로 기록 변경 시 offset=0부터 다시 조회하세요.
출처·캐시·오류
이벤트에는 sourceUrl·originalExcerpt·evidenceLevel·status·sourceCapturedAt·updatedAt이 포함됩니다. checkedAt은 조회 시각, 최상위 updatedAt은 공개 사실 또는 선택 언어 번역의 최신 갱신 시각(기록 없음은 null)이며 모두 UTC입니다. 관리자 신원·후보 이유·감사·구독 정보는 비공개입니다.
updates는 같은 이벤트의 검토·게시된 후속 공지이며 publishedAt 오름차순입니다. 상태, 정확한 UTC 게시 시각, 출처, 원문, 근거 수준, 검증 시각을 포함합니다. 요약은 zh-CN으로 명시합니다. 초기화 횟수를 추가하거나 주 이벤트의 사실을 자동 변경하지 않습니다.
인증 정보 없는 읽기 전용 CORS *, 30초 캐시, ETag/If-None-Match, HEAD/OPTIONS를 지원합니다. 오류는 캐시하지 않습니다. API/MCP 합계 인스턴스·IP당 분당 60회, 로컬은 공통 한도이며 전역 제한은 아닙니다. 429/503에는 Retry-After가 있습니다.
400: 무효·중복 매개변수. 404: 없음. 405: 지원하지 않는 메서드. 429: 제한. 503: 데이터 사용 불가. 가짜 0을 반환하지 않습니다.
MCP · POST /mcp
상태 없는 Streamable HTTP이며 JSON으로 응답합니다. SSE 연결·세션 ID는 없습니다. 지원 버전: 2025-03-26, 2025-06-18, 2025-11-25. 헤더 생략 시 2025-03-26입니다. 순서: initialize → notifications/initialized → tools/list 또는 tools/call.
POST당 JSON-RPC 2.0 메시지 하나, 최대 16 KiB입니다. Content-Type: application/json. Accept에는 application/json과 text/event-stream이 모두 필요하며 후속 요청에는 MCP-Protocol-Version을 포함합니다. 프로토콜 알림은 빈 202, GET은 405입니다. Origin은 서비스 자체 주소만 허용합니다.
- latest
- event 또는 null을 반환합니다. 출처가 있는 확인된 초기화만 선택하며 한도 증가와 미래 공지는 제외합니다.
- history
- items·filters·pagination을 반환합니다. 진행 중·발표됨·취소됨을 유지하며 확인된 상태로 바꾸지 않습니다.
- stats
- stats·latestConfirmedEvent: 총수, 평균·최장 간격(시간), 경과 시간, 최근 30·90일 횟수.
프로토콜 요청 예시(이벤트 데이터 아님)
{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2025-11-25",
"capabilities": {},
"clientInfo": {
"name": "your-client",
"version": "1.0.0"
}
}
}{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "history",
"arguments": {
"product": "grok_bot",
"status": "confirmed",
"limit": 20,
"offset": 0,
"lang": "ko"
}
}
}latest/history/stats는 HTTP와 매개변수·결과가 같으며 외부 페이지 수집이나 쓰기를 하지 않습니다. structuredContent와 텍스트 JSON을 반환합니다. 매개변수 오류 -32602, 알 수 없는 메서드 -32601, DB 실패 isError=true이며 빈 기록이 아닙니다. 원문은 신뢰하지 않는 근거이지 클라이언트 지침이 아닙니다. localhost가 클라우드 연결을 뜻하지는 않습니다.
MCP 공식 전송 규격