Statuser について
Statuser MCPは、Statuser APIを通じてAIクライアントからサービス監視、インシデント、ステータスページ、通知を管理します。サービス運用を担うチーム向けで、リモート接続とローカルのnpx起動に対応し、データ変更は標準で確認が必要です。
主な機能
- 01サービス監視の確認と管理
- 02インシデント調査と要約・レポート作成
- 03ステータスページ作成と更新公開
- 04通知ルールとWebhookの設定
- 05カテゴリ別のツールセット選択
活用シーン
- 01サービス状態とチェック履歴の確認
- 02インシデント診断の確認とコメント追加
- 03インシデント報告や計画保守の公開
- 04通知チャネルとルールの調整
MCP 対応
Statuserの公開APIを通じて、アカウント、プロジェクト、監視、インシデント、ステータスページ、通知のツールをMCPクライアントに提供します。APIキーを使うStreamable HTTP接続とnpxによるローカル実行に対応し、データ変更は標準で確認が必要です。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.statuser.cloudclaude mcp add --transport http statuser-cloud https://mcp.statuser.cloud{"mcpServers":{"statuser-cloud":{"type":"http","url":"https://mcp.statuser.cloud"}}}Cursor で開く{"servers":{"statuser-cloud":{"type":"http","url":"https://mcp.statuser.cloud"}}}VS Code で開く{"mcpServers":{"statuser-cloud":{"type":"http","url":"https://mcp.statuser.cloud"}}}{"mcpServers":{"statuser-cloud":{"serverUrl":"https://mcp.statuser.cloud"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://mcp.statuser.cloud認証が必要ツール
詳細
MCP サーバー Statuser
Claude Code、Cursor、VS Code、Windsurf、Claude Desktop、その他 Model Context Protocol に対応するあらゆる AI クライアントから Statuser を操作するための MCP サーバーです。
これを使うと、アシスタントが Statuser アカウントを直接操作できます。サーバーの状態確認、インシデントの調査、ステータスページへの更新の公開、通知の設定などが可能です。すべて Statuser 公開 API を API キーで認証して利用します。
サーバーには 2 つの方法で接続でき、どちらも同じツールを利用できます。
- URL
https://mcp.statuser.cloudを使う方法。インストールは不要で、クライアントからキーをヘッダーに付けて当社のサーバーに接続します。 npx -y @statuser/mcpを使ってローカルで起動する方法。サーバーはお使いのマシン上で動作し、Node.js が必要です。
主な機能
- サービスの監視。 サーバーの一覧、ステータス、チェックとハートビートイベントのグラフ、DNS 変更履歴、サーバーの追加と編集、一時停止、テスト通知。
- インシデント。 各ロケーションの診断情報とタイミングを含む詳細カード、AI サマリー、PDF レポート、添付ファイル付きコメント。
- ステータスページ。 ページの作成と設定、グループとサーバーの管理、更新タイムライン付きのインシデントレポートや計画メンテナンスの公開。
- 通知。 サブスクリプション種別(メール、Telegram、MAX、業務チャット — Mattermost、Rocket.Chat、Пачка、Discord、Slack)に応じた通知ルール、Webhook の管理、メール通知チャネルの追加と確認。
- アカウントとプロジェクト。 プロフィール、プランと機能、休暇モード、2FA、Telegram と MAX の連携、操作履歴、プロジェクト。
メモ
MCP サーバーは、キーの所有者アカウントとして API にアクセスします。プランのすべての制限が適用されます。たとえば、AI サマリーやカスタムドメインは、お使いのプランで有効な場合にのみ利用できます。
current_plan_getツールでご確認ください。
目次
クイックスタート
- Statuser の管理画面で API キーを作成します。
- MCP クライアントにサーバーを追加します。最も簡単なのは、
Authorization: Bearer ваш_ключヘッダーを付けてhttps://mcp.statuser.cloudに接続する方法です。設定例はこちらです。 - クライアントを再起動します。ツールが
statuserという名前で表示されます。
Claude Desktop など、ローカルサーバーにしか接続できないクライアントでは、npx でローカル起動してください。
URL で接続
| パラメーター | 値 |
|---|---|
| URL | https://mcp.statuser.cloud |
| トランスポート | Streamable HTTP |
| 認証 | Authorization: Bearer ваш_ключ ヘッダー |
Claude Code
claude mcp add --transport http statuser https://mcp.statuser.cloud --header "Authorization: Bearer ваш_ключ"
--scope user フラグを指定するとすべてのプロジェクトでサーバーを利用でき、--scope project を指定するとプロジェクトの .mcp.json に保存されます。キーを含むファイルをリポジトリにコミットしないでください。
Cursor
すべてのプロジェクトで使う場合は ~/.cursor/mcp.json に、1 つのプロジェクトで使う場合は .cursor/mcp.json に設定します。
{
"mcpServers": {
"statuser": {
"url": "https://mcp.statuser.cloud",
"headers": {
"Authorization": "Bearer ваш_ключ"
}
}
}
}
VS Code
.vscode/mcp.json に設定します。VS Code は初回接続時にキーを確認するため、キーがファイルに保存されることはありません。
{
"inputs": [
{
"type": "promptString",
"id": "statuser_api_key",
"description": "API-ключ Statuser (https://statuser.cloud/my/account/api-keys)",
"password": true
}
],
"servers": {
"statuser": {
"type": "http",
"url": "https://mcp.statuser.cloud",
"headers": {
"Authorization": "Bearer ${input:statuser_api_key}"
}
}
}
}
Windsurf(Devin Desktop)
mcp_config.json に設定します。最新バージョンでは ~/.config/devin/mcp_config.json、Windows では %APPDATA%\devin\mcp_config.json です。リモートサーバーのフィールド名は url ではなく serverUrl です。
{
"mcpServers": {
"statuser": {
"serverUrl": "https://mcp.statuser.cloud",
"headers": {
"Authorization": "Bearer ваш_ключ"
}
}
}
}
その他のクライアント
Streamable HTTP でリモート MCP サーバーに接続でき、ヘッダーを渡せるクライアントであれば使用できます。上の表に記載されたアドレスとヘッダーを指定してください。サーバーは旧式の SSE トランスポートをサポートしていません。
サーバーは公式 MCP レジストリに io.github.statuser-cloud/mcp として公開されています。レジストリからサーバーを取得するクライアントであれば、自動的に見つけ、キーだけを尋ねます。
知っておくとよいこと
- OAuth のみをサポートするクライアントは、まだ接続できません。 ChatGPT と、Claude Desktop および claude.ai のカスタムコネクタは、独自の API キーをヘッダーで渡せません。Claude Desktop ではローカル起動を利用できます。
- ツールグループは、アドレスのパラメーターで選択します:
https://mcp.statuser.cloud/?toolsets=monitors,incidents。値はグループの表と同じです。 - データの変更は、各呼び出しで
confirm: true引数を指定して確認します。ローカル起動時のようなSTATUSER_ALLOW_WRITE変数はありません。詳しくは意図しない変更の防止をご覧ください。 - ローカルファイルにはアクセスできません。 サーバーはお使いのマシン上で動作しないためです。
incident_comment_upload_fileとincident_comment_createのattached_local_filesフィールドは、ローカル起動時のみ利用できます。既存のリンクを使った添付ファイルは利用できます。 - 制限は API と同じですが、アドレスではなくキーごとに適用されます。10 分間に無効なキーで 30 件リクエストすると、その時間枠が終わるまでアドレスは
429を受け取ります。 - キーは、API に直接アクセスする場合と同様に、当社のサーバーに送信されます。MCP サーバーはキーを保存せず、ログにも記録しません。操作は、キー名義でアカウントの操作履歴に表示されます。
npx を使ったローカル起動
npx -y @statuser/mcp で起動できます。グローバルインストールは不要で、Docker も必要ありません。Node.js 18.17 以降が必要です。必須パラメーターは環境変数 STATUSER_API_KEY のみです。
ワンクリック
MCP ディープリンクに対応したクライアントなら、ボタンを押すだけでインストールできます。クライアントが開き、API キーを求めたあと、設定を自動的に保存します。
インストールする前に、Statuser コントロールパネルで API キーを作成してください。インストール時にクライアントからキーを求められます。Cursor 用のボタンではプレースホルダー API_KEY_HERE が入力されます。Cursor が開くフォームで、ご自身のキーに置き換えてください。
Claude Desktop、Claude Code、Windsurf、Zed などのクライアントには、まだ自動インストール機能がありません。以下の手動設定が必要です。
Claude Desktop
設定 → Developer → Edit Config を開き、claude_desktop_config.json に次の内容を追加します。
{
"mcpServers": {
"statuser": {
"command": "npx",
"args": ["-y", "@statuser/mcp"],
"env": {
"STATUSER_API_KEY": "ваш_ключ"
}
}
}
}
保存したら、Claude Desktop を完全に終了(Cmd/Ctrl + Q)してから再度開いてください。ウィンドウを閉じるだけでは不十分です。
Claude Code
プロジェクトのルートに .mcp.json を作成します。
{
"mcpServers": {
"statuser": {
"command": "npx",
"args": ["-y", "@statuser/mcp"],
"env": {
"STATUSER_API_KEY": "ваш_ключ"
}
}
}
}
または、次のコマンドを実行します。
claude mcp add statuser --env STATUSER_API_KEY=ваш_ключ -- npx -y @statuser/mcp
Cursor
最も簡単なのは、上にある「Cursor にインストール」ボタンを使う方法です。手動で設定する場合は、設定 → MCP → Add new server を開きます。
{
"mcpServers": {
"statuser": {
"command": "npx",
"args": ["-y", "@statuser/mcp"],
"env": {
"STATUSER_API_KEY": "ваш_ключ"
}
}
}
}
VS Code(GitHub Copilot Chat およびその他の MCP 拡張機能)
最も簡単なのは、上にある「VS Code にインストール」ボタンを使う方法です。手動で設定する場合は、設定 → MCP servers → Add を開きます。
{
"statuser": {
"command": "npx",
"args": ["-y", "@statuser/mcp"],
"env": {
"STATUSER_API_KEY": "ваш_ключ"
}
}
}
Windsurf、Zed、その他の MCP クライアント
MCP に対応したクライアントであれば、どれも同じ起動形式を使用します。
command:npxargs:["-y", "@statuser/mcp"]env.STATUSER_API_KEY: ご自身のキー
設定フィールドの名前(mcpServers、mcp.servers、experimental.mcp など)はクライアントによって異なります。各クライアントのドキュメントを確認してください。
При локальном запуске параметры задаются переменными окружения в блоке env конфига клиента. При подключении по адресу настраивать нечего, кроме ключа в заголовке и групп инструментов в адресе.
| Переменная | Обязательно | По умолчанию | Описание |
|---|---|---|---|
STATUSER_API_KEY | да | — | API-ключ от statuser.cloud/my/account/api-keys. Без него сервер не запустится. |
STATUSER_ALLOW_WRITE | нет | 0 | Если 1, true или on — инструменты, которые создают, изменяют или удаляют данные, работают без явного подтверждения. |
STATUSER_TOOLSETS | нет | all | Список включённых групп инструментов через запятую. Значение all включает все группы. |
STATUSER_API_URL | нет | https://api.statuser.cloud | Альтернативный базовый URL. Нужен только если вы проксируете API или работаете со staging-окружением. |
Группы инструментов
Больше 80 инструментов разбиты на 8 логических групп. По умолчанию включены все; оставить только нужные можно переменной STATUSER_TOOLSETS при локальном запуске или параметром ?toolsets= в адресе.
Зачем это бывает удобно:
- меньше инструментов в контексте — ассистент точнее выбирает подходящий;
- меньше токенов в системном промпте клиента;
- если ключ имеет доступ ко всему API, а вам нужны только серверы — можно показать ассистенту только их.
| Группа | Что включает | Примеры инструментов |
|---|---|---|
account | Профиль, тариф, режим отпуска, 2FA, привязки Telegram и MAX, история действий | account_get, current_plan_get, activity_log_list, holiday_mode_set, telegram_linked_list, max_get_link |
projects | Проекты — области внутри аккаунта: свои серверы, страницы статуса и правила уведомлений | project_list, project_create, project_delete, project_channel_list, project_channel_set |
monitors | Серверы, их проверки, heartbeat-события, история изменений DNS, ручной прогон сценария | monitor_list, monitor_create, monitor_pause, monitor_get_checks, monitor_get_dns_history |
incidents | Инциденты, события, AI-саммари, PDF-отчёт, удаление | incident_list, incident_get, incident_get_events, incident_generate_ai_summary, incident_get_report_pdf, incident_delete |
incident-comments | Комментарии к инцидентам с вложениями | incident_comment_create, incident_comment_upload_file, incident_comment_delete |
status-pages | Страницы статуса, группы, серверы, домены, slug, подписчики | status_page_list, status_page_create, status_page_set_groups, status_page_subscriber_list |
status-page-reports | Публикация инцидент-отчётов и плановых работ с таймлайном обновлений | status_page_incident_report_publish, status_page_maintenance_schedule, ..._update_add |
notifications | Правила нотификаций, вебхуки, email-каналы | notification_rule_set, webhook_create, notification_email_add, notification_email_confirm |
Примеры значения:
// только серверы и инциденты
"env": { "STATUSER_API_KEY": "...", "STATUSER_TOOLSETS": "monitors,incidents" }
// явно все группы — то же самое, что не задавать переменную
"env": { "STATUSER_API_KEY": "...", "STATUSER_TOOLSETS": "all" }
По адресу — то же самое параметром: https://mcp.statuser.cloud/?toolsets=monitors,incidents.
Если в списке указана неизвестная группа, сервер не запустится и подскажет допустимые значения.
Защита от случайных изменений
API-ключ Statuser даёт полный доступ к аккаунту, поэтому MCP-сервер по умолчанию блокирует все инструменты, которые что-либо создают, изменяют или удаляют. Это защищает от того, чтобы ассистент случайно удалил сервер продакшна или отписал нужного человека от уведомлений.
重要
Инструменты только для чтения (
*_list,*_get,monitor_get_checks,incident_get_report_pdfи подобные) работают всегда без подтверждения.
При попытке вызвать заблокированный инструмент сервер возвращает осмысленную ошибку с двумя способами разрешить вызов:
- Разрешить навсегда в конфиге клиента:
"STATUSER_ALLOW_WRITE": "1"в блокеenv. Подходит, если вы доверяете ассистенту и заранее очертили его область работы черезSTATUSER_TOOLSETS. - Разрешить разово в самом запросе: передайте ассистенту явное указание добавить аргумент
confirm: trueк конкретному вызову. Это удобно, когда основная сессия должна оставаться read-only, но один-два изменения всё-таки нужны.
При подключении по адресу работает только второй способ: переменной окружения у удалённого сервера нет, каждое изменение подтверждается confirm: true.
Под защитой находятся в том числе:
- удаление серверов, страниц статуса, комментариев, отчётов и плановых работ;
- удаление вебхуков и email-каналов;
- постановка серверов на паузу и снятие;
- публикация и скрытие страниц статуса;
- включение режима отпуска;
- отправка тестовых уведомлений.
Инструменты дополнительно помечаются MCP-аннотациями destructiveHint и readOnlyHint. Клиенты, которые их читают, добавляют поверх нашего собственный экран подтверждения.
Инструменты
Полный список с описанием параметров MCP-клиент покажет автоматически при подключении. Ниже — обзор по группам. Условные обозначения: ✏️ — инструмент изменяет данные, ⚠️ — действие необратимо.
account — 13 инструментов
| Инструмент | Что делает | Изменяет данные |
|---|---|---|
account_get | Профиль текущего аккаунта | |
account_update | Изменить имя, часовой пояс или флаг отображения AI-ассистента | ✏️ |
current_plan_get | Текущий тариф со всеми возможностями и лимитами | |
plan_list | Публичный каталог тарифов | |
holiday_mode_get | Статус режима отпуска | |
holiday_mode_set | Включить режим отпуска до указанной даты или выключить | ✏️ |
two_factor_info | Сведения о текущем втором факторе и доступных методах | |
telegram_linked_list | Привязанные Telegram-аккаунты и чаты | |
telegram_set_topic | Привязать топик в Telegram-группе для уведомлений или снять привязку | ✏️ |
max_linked_list | Привязанные аккаунты и групповые чаты MAX | |
max_get_link | Получить ссылки для привязки MAX — личного чата или групповой | |
max_unlink | Отвязать MAX-аккаунт | ✏️ |
max_set_2fa_account | Сменить MAX-аккаунт, на который приходят коды второго фактора | ✏️ |
projects — 7 инструментов
| Инструмент | Что делает | Изменяет данные |
|---|---|---|
project_list | Проекты аккаунта — с них начинается работа с областями | |
project_create | Завести проект; лимит зависит от тарифа | ✏️ |
project_update | Переименовать проект | ✏️ |
project_delete | Удалить проект, перенеся его содержимое в другой | ✏️ ⚠️ |
project_reorder | Задать порядок проектов в панели | ✏️ |
project_channel_list | Каналы аккаунта и их положение в этом проекте | |
project_channel_set | Включить или выключить канал в проекте | ✏️ |
Проект — область внутри аккаунта: ему принадлежат серверы, страницы статуса и правила уведомлений о мониторинге. Каналы связи, тариф и API-ключи остаются общими. Вызовы без project_id читают весь аккаунт, а создают в самом старом проекте — так работали интеграции до появления проектов, и это поведение сохранено.
monitors — 12 инструментов
| Инструмент | Что делает | Изменяет данные |
|---|---|---|
monitor_list | Список всех серверов аккаунта | |
monitor_get | Полная карточка одного сервера | |
monitor_create | Добавить новый сервер — тип проверки ping, http, keyword, tcp, dns, heartbeat, llm или scenario | ✏️ |
monitor_update | Частичное обновление настроек сервера | ✏️ |
monitor_pause | Поставить проверки на паузу или возобновить (action: pause или unpause) | ✏️ |
monitor_delete | Удалить сервер вместе со всей историей | ⚠️ |
monitor_test_notify | Отправить тестовое уведомление по всем настроенным каналам | ✏️ |
monitor_run_scenario | Проверить сценарий сейчас, вне расписания, — с теми же последствиями, что плановый прогон | ✏️ |
monitor_get_scenario_run_latest | Идёт ли ручной прогон сценария и чем закончился последний | |
monitor_get_checks | Агрегированные результаты проверок для графиков uptime и latency | |
monitor_get_heartbeat_events | События heartbeat для серверов с protocol: heartbeat | |
monitor_get_dns_history | История изменений DNS-записей для серверов с protocol: dns |
incidents — 9 инструментов
| Инструмент | Что делает | Изменяет данные |
|---|---|---|
incident_list | Инциденты по всему аккаунту или по конкретному серверу | |
incident_get | Подробная карточка с диагностикой — скриншот, replay, ping/nmap/mtr/traceroute, тайминги | |
incident_get_events | Хронологическая лента событий — изменения статуса, уведомления, комментарии, скриншот и сетевая диагностика | |
incident_get_server | Связанный с инцидентом сервер одним запросом | |
incident_get_scenario_details | Диагностика инцидента сценария — упавший тест, ошибка Playwright, консоль, есть ли скриншот, видео и трейс | |
incident_generate_ai_summary | Сгенерировать или вернуть закэшированное AI-саммари инцидента | ✏️ |
incident_rate_ai_summary | Поставить оценку AI-саммари — positive или negative | ✏️ |
incident_get_report_pdf | Скачать PDF-отчёт по инциденту — возвращается в виде Base64 | |
incident_delete | Безвозвратно удалить закрытый инцидент со всей диагностикой — аптайм пересчитается вверх | ✏️ |
incident-comments — 5 инструментов
| Инструмент | Что делает | Изменяет данные |
|---|---|---|
incident_comment_list | Все комментарии к инциденту | |
incident_comment_create | Создать комментарий с текстом и вложениями — при локальном запуске можно передать пути к файлам, сервер загрузит их сам | ✏️ |
incident_comment_update | Отредактировать текст или список вложений | ✏️ |
incident_comment_delete | Удалить комментарий и все его файлы | ⚠️ |
incident_comment_upload_file | Загрузить локальный файл для использования как вложение — только при локальном запуске | ✏️ |
status-pages — 12 инструментов
| Инструмент | Что делает | Изменяет данные |
|---|---|---|
status_page_list | Все страницы статуса аккаунта | |
status_page_get | Полная конфигурация одной страницы | |
status_page_check_slug | Проверка, свободен ли slug | |
status_page_check_domain | Проверка свободного кастомного домена и правильности CNAME-записи | |
status_page_create | Создать страницу статуса | ✏️ |
status_page_update | Частично обновить настройки | ✏️ |
status_page_set_groups | Полностью заменить структуру групп и список серверов на странице | ✏️ |
status_page_publish | Опубликовать (published) или скрыть (unpublished) страницу | ✏️ |
status_page_delete | Удалить страницу | ⚠️ |
status_page_subscriber_list | Подписчики страницы (емейл, статус, даты) и сводка с лимитом | |
status_page_subscriber_export | Экспорт подписчиков в CSV | |
status_page_subscriber_delete | Удалить подписчика | ⚠️ |
status-page-reports — 14 инструментов
Инцидент-отчёты:
| Инструмент | Что делает | Изменяет данные |
|---|---|---|
status_page_incident_report_list | Все опубликованные отчёты на странице | |
status_page_incident_report_publish | Опубликовать новый отчёт со стартовым сообщением и статусами влияния на каждый сервер | ✏️ |
status_page_incident_report_update | Изменить поля отчёта — заголовок, время начала | ✏️ |
status_page_incident_report_update_add | Добавить сообщение в таймлайн с новыми статусами серверов | ✏️ |
status_page_incident_report_update_edit | Отредактировать текст одного сообщения | ✏️ |
status_page_incident_report_update_delete | Удалить сообщение из таймлайна. Первичное сообщение удалить нельзя | ⚠️ |
status_page_incident_report_delete | Удалить отчёт целиком | ⚠️ |
Плановые работы:
| Инструмент | Что делает | Изменяет данные |
|---|---|---|
status_page_maintenance_list | Все запланированные работы на странице | |
status_page_maintenance_schedule | Запланировать работы — окно времени и список затронутых сервисов | ✏️ |
status_page_maintenance_update | Изменить поля записи о работах | ✏️ |
status_page_maintenance_update_add | Добавить сообщение в таймлайн | ✏️ |
status_page_maintenance_update_edit | Отредактировать текст одного сообщения | ✏️ |
status_page_maintenance_update_delete | Удалить сообщение из таймлайна. Первичное сообщение удалить нельзя | ⚠️ |
status_page_maintenance_delete | Удалить запись о работах целиком | ⚠️ |
notifications — 11 инструментов
Вебхуки:
| Инструмент | Что делает | Изменяет данные |
|---|---|---|
webhook_list | Все вебхуки аккаунта | |
webhook_create | Создать вебхук с подписками (service_alerts, ssl_alerts и т.д.) и опциональным секретом | ✏️ |
webhook_update | Частично обновить вебхук | ✏️ |
webhook_delete | Удалить вебхук | ⚠️ |
webhook_test | Отправить тестовый запрос в вебхук | ✏️ |
Правила нотификаций — email, telegram, max для каждого типа подписки:
| Инструмент | Что делает | Изменяет данные |
|---|---|---|
notification_rule_list | Текущая матрица правил; project_id выбирает проект для типов о мониторинге | |
notification_rule_set | Включить или выключить каналы для одного типа подписки — в проекте или в аккаунте | ✏️ |
Email-каналы:
| Инструмент | Что делает | Изменяет данные |
|---|---|---|
notification_email_list | Все email-адреса аккаунта со статусом подтверждения | |
notification_email_add | Добавить адрес и отправить на него код подтверждения | ✏️ |
notification_email_confirm | Подтвердить адрес кодом из письма | ✏️ |
notification_email_resend | Повторно отправить код подтверждения | ✏️ |
notification_email_remove | Удалить адрес из списка | ⚠️ |
Примеры запросов к ассистенту
Несколько фраз, которые ассистент сможет выполнить сразу после установки:
- «Покажи все серверы, которые сейчас не отвечают.»
- «Заведи сервер
nightly-exportс проверкой heartbeat, интервал 12 часов, grace 10 минут.» - «Поставь на паузу сервер
staging-dbдо конца дня.» - «Возьми последний инцидент на
api.example.comи сгенерируй по нему AI-саммари. Потом скачай PDF-отчёт с секциямиai_summaryиdiagnostics.» - «Опубликуй на странице статуса
prodотчёт об инциденте: заголовокРасследуем повышенную задержку API, затронутыapi-1иapi-2со статусомdegraded, стартовое сообщение про повышенный p95 на API-слое.» - «Запланируй плановые работы на странице статуса
prod: завтра с 02:00 до 04:00 МСК, описаниеОбновление БД, затронуты сервисыapiиworker.» - «Заведи вебхук
Slack prodнаhttps://hooks.slack.com/...с подпискамиservice_alertsиssl_alerts, подпиши его секретом….» - «Включи режим отпуска до понедельника, 9 утра.»
エラーが発生した場合
STATUSER_API_KEY is not set — 変数が MCP クライアントの env に渡されていないか、設定を変更した後にクライアントを再起動していません。macOS の Claude Desktop では、Cmd+Q で完全に終了する必要がある場合があります。
Statuser API 401 — キーが無効であるか、取り消されています。statuser.cloud/my/account/api-keys で再発行してください。
Statuser API 403 — お使いのプランでは利用できない機能(ウェブフック、AI サマリー、カスタムドメインなど)か、サーバー数、ステータスページ数、月間レポート割り当ての上限に達しています。current_plan_get ツールで確認してください。
Statuser API 429 (too_many_requests) — リクエスト数の上限を超えています。サーバーは ratelimit-reset ヘッダーで示された期間が終了するのを待ってから、1~2 回自動的にリクエストを再試行します。エラーが繰り返される場合は、リクエストの頻度を下げてください。
Refusing to call ...: this tool performs a write/destructive operation — 意図しない変更からの保護が作動しました。アシスタントに、該当する呼び出しに confirm: true を追加するよう依頼してください。ローカルで実行する場合は、代わりにクライアントの設定で STATUSER_ALLOW_WRITE=1 を設定できます。
Missing or malformed API key — アドレス経由で接続する際、クライアントが Authorization: Bearer ваш_ключ ヘッダーを渡していないか、形式が異なっています。Bearer の後にスペースを入れてキーを指定していることを確認してください。
The API key is invalid, expired or revoked — クライアントはアドレス経由で接続していますが、キーが取り消されているか、期限切れです。statuser.cloud/my/account/api-keys で再発行してください。
Too many requests with an invalid API key from this address — このアドレスから 10 分間に、無効なキーを使ったリクエストが 30 回を超えて送信されました。キーを修正し、Retry-After ヘッダーに示されている秒数だけ待ってください。
アドレス経由でクライアントが接続できず、405 が返される — 古い SSE ストリームを開こうとしています。クライアントの設定で Streamable HTTP トランスポートを選択してください(単に HTTP と表示されることもあります)。
STATUSER_TOOLSETS contains unknown toolsets — グループ名に誤りがあります。使用可能な値は、エラーメッセージとツールグループのセクションに記載されています。
互換性
| コンポーネント | バージョン |
|---|---|
| アドレス経由の接続 | インストール不要。Streamable HTTP とヘッダーに対応したクライアント |
| Node.js | 18.17 以降 — ローカル実行の場合のみ |
| MCP SDK | @modelcontextprotocol/sdk ≥ 1.0 |
| Statuser API | v1 (https://api.statuser.cloud) |
| クライアント | Claude Code、Cursor、VS Code、Windsurf — アドレス経由およびローカル。Claude Desktop、Zed — ローカル |
パッケージは ESM として公開されています。お使いの MCP クライアントが古いバージョンの Node を起動する場合は、18.17 以降に更新するか、アドレス経由で接続してください。
フィードバック
不具合や提案は issues にお寄せください。脆弱性は非公開で報告してください。詳しくは SECURITY.md をご覧ください。
API に関する一般的な質問は、Statuser のドキュメントまたは [email protected] までお問い合わせください。
ライセンス
MIT — LICENSE をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。