关于 Statuser
Statuser MCP 让 AI 客户端通过 Statuser API 管理监控服务、事件、状态页和通知,适用于维护服务运行状态的团队。它提供远程连接和本地 npx 启动,并默认要求确认数据变更。
主要功能
- 01查看和管理服务监控
- 02调查事件并生成摘要和报告
- 03创建状态页并发布更新
- 04配置通知规则与 Webhook
- 05按类别选择工具集
适用场景
- 01检查服务状态和检测历史
- 02查看事件诊断并添加评论
- 03发布事件报告或计划维护
- 04调整通知渠道与规则
MCP 相关
该 MCP 服务通过 Statuser 公共 API 向客户端提供账户、项目、监控、事件、状态页和通知工具。可通过带 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需要授权工具
详细介绍
Statuser MCP 服务
用于通过 AI 客户端管理 Statuser 的 MCP 服务,支持 Claude Code、Cursor、VS Code、Windsurf、Claude Desktop,以及其他支持 Model Context Protocol 的客户端。
借助它,助手可以直接操作您的 Statuser 账号:查看服务状态、分析故障、在状态页发布更新、配置通知。所有操作均通过 Statuser 公共 API 完成,并使用 API 密钥进行身份验证。
可通过两种方式连接服务,两种方式提供的工具相同:
- 通过地址
https://mcp.statuser.cloud— 无需安装任何内容:客户端使用您在请求头中提供的密钥连接到我们的服务。 - 本地运行
npx -y @statuser/mcp— 服务在您的计算机上运行,需要 Node.js。
包含内容
- 服务监控。 服务列表、状态、检查图表和 heartbeat 事件、DNS 更改历史记录;添加和编辑服务、暂停服务,以及发送测试通知。
- 故障。 每个地点的详细故障卡片,包含诊断和时间信息、AI 摘要、PDF 报告,以及带附件的评论。
- 状态页。 创建和配置状态页,管理分组和服务,发布故障报告和计划维护,并提供更新时序。
- 通知。 按订阅类型设置通知规则(email、Telegram、MAX 和工作聊天工具——Mattermost、Rocket.Chat、Пачка、Discord、Slack),管理 webhook,添加并确认 email 渠道。
- 账号和项目。 个人资料、套餐和功能、休假模式、2FA、Telegram 和 MAX 绑定、操作历史记录、项目。
说明
MCP 服务会以密钥所有者账号的身份调用 API。套餐的所有限制均保持不变——例如,只有在您的套餐中启用了 AI 摘要和自定义域名,才能使用这些功能。请参阅
current_plan_get工具。
目录
快速开始
- 在 Statuser 控制面板中创建 API 密钥。
- 将服务添加到 MCP 客户端。最简单的方法是使用地址
https://mcp.statuser.cloud,并设置请求头Authorization: Bearer ваш_ключ;现成的配置见下文。 - 重启客户端。工具将以
statuser的名称显示。
如果客户端只支持连接本地服务——例如 Claude Desktop——请使用通过 npx 本地运行。
通过地址连接
| 参数 | 值 |
|---|---|
| 地址 | 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 中(适用于所有项目),或 .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。远程服务的字段名是 serverUrl,而不是 url:
{
"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 相同,但按密钥而非 IP 地址计算。10 分钟内使用错误密钥请求 30 次后,该 IP 地址将在当前时间窗口结束前收到
429。 - 密钥发送到我们的服务,方式与直接调用 API 相同。MCP 服务不会保存密钥,也不会将其写入日志;相关操作会以该密钥的名义显示在账号的操作历史中。
通过 npx 本地启动
使用 npx -y @statuser/mcp 启动——无需全局安装,也不需要 Docker。需要 Node.js 18.17 或更高版本。唯一必需的参数是环境变量 STATUSER_API_KEY。
一键安装
对于支持 MCP-deeplink 的客户端,只需点击按钮即可完成安装。客户端会打开并提示输入 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 — 您的套餐不支持此功能(例如,Webhook、AI 摘要、自定义域名),或已达到限额——服务器数量、状态页数量或月度报告配额。请查看工具 current_plan_get。
Statuser API 429 (too_many_requests) — 请求次数超出限额。服务器会自动重试一到两次,并等待响应头 ratelimit-reset 指定的时间窗口结束。如果错误仍然出现,请降低请求频率。
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,或通过地址连接。
反馈
错误报告和建议请提交至 问题。请私下报告漏洞——参见 SECURITY.md。
API 一般问题请查阅 Statuser 文档,或联系 [email protected]。
许可证
MIT——参见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。