Arguslog

Arguslog: трекинг ошибок с поддержкой Web3-стека для AI-агентов

От сообщества: Добавлен пользователем или импортирован; проверьте владельца перед подключениемРаботаетНужен API-ключГлобальныйБесплатноТолько чтение

Что умеет

  • Читать и обновлять issue, события и релизы проекта
  • Настраивать правила и адресаты алертов
  • Создавать организации, DSN и source-map артефакты
  • Управлять токенами доступа и участниками команды
  • Запускать оформление подписки и криптоплатёж

Какие данные видит

Ассистент действует от имени пользователя по личному токену доступа и видит проекты, ошибки и биллинг организации в рамках его прав.

Нужен ли аккаунт

Нужен API-ключ из настроек сервиса

Arguslog отслеживает ошибки в приложениях, включая проекты на viem, ethers, web3.js, Anchor, wagmi и WalletConnect. MCP-сервер открывает весь REST API как 54 инструмента — issue, события, релизы, алерты, организации и биллинг, авторизация по личному токену доступа.

Как подключить

Как подключить Arguslog к Claude

Адрес сервера, который нужно вставить в настройках Claude:

https://arguslog--petarnenovpetrov.run.tools

  1. Откройте Claude (сайт claude.ai или приложение для компьютера).
  2. Перейдите в Настройки → Коннекторы (в английском интерфейсе: Settings → Connectors).
  3. Нажмите Добавить пользовательский коннектор (Add custom connector).
  4. Вставьте адрес сервера, скопированный ниже, в поле URL удалённого MCP-сервера и нажмите Добавить.
  5. В чате нажмите + → Коннекторы и включите новый коннектор.

Пользовательские коннекторы доступны на тарифах Free, Pro, Max, Team и Enterprise. На Free можно добавить только один. В Team и Enterprise коннектор сначала добавляет владелец организации в Настройки организации → Коннекторы.

Авторизация

После нажатия Добавить откроется окно входа в сервис. Войдите под своим аккаунтом и подтвердите доступ. Пароль Claude не видит.

Как подключить Arguslog к ChatGPT

Адрес сервера, который нужно вставить в настройках ChatGPT:

https://arguslog--petarnenovpetrov.run.tools

  1. Откройте ChatGPT в браузере (chatgpt.com). Нужен тариф Plus, Pro, Business, Enterprise или Edu.
  2. Один раз включите режим разработчика: Настройки → Приложения → Дополнительные настройки → Режим разработчика (Settings → Apps → Advanced settings → Developer mode).
  3. Откройте Настройки → Коннекторы и нажмите Создать (Create).
  4. Заполните форму: Название (любое), Описание (одна фраза, что делает сервис), URL MCP-сервера (скопируйте ниже).
  5. В поле Аутентификация выберите OAuth, если сервис требует вход, иначе Нет. Нажмите Создать.
  6. В новом чате откройте + → Приложения/Коннекторы и включите коннектор.

Название раздела у OpenAI менялось (Connectors → Apps/Plugins). Если пункт называется иначе, ищите «режим разработчика» в настройках. В рабочих пространствах Business/Enterprise администратор должен разрешить пользовательские коннекторы.

Авторизация

При первом использовании ChatGPT откроет окно входа в сервис. Войдите и подтвердите доступ.

Как подключить Arguslog к Cursor

Адрес сервера, который нужно вставить в настройках Cursor:

https://arguslog--petarnenovpetrov.run.tools

Быстрый способ: нажмите кнопку Открыть в Cursor ниже, Cursor сам предложит добавить сервер.

Вручную:

  1. В Cursor откройте Settings → Cursor Settings → MCP и нажмите Add new global MCP server.
  2. Вставьте JSON, скопированный ниже, в открывшийся файл ~/.cursor/mcp.json (для одного проекта: .cursor/mcp.json в корне проекта).
  3. Сохраните файл. Сервер появится в списке MCP; при необходимости пройдите авторизацию по кнопке рядом с ним.

Авторизация

Если сервис требует вход, рядом с сервером в списке MCP появится кнопка авторизации.

Список инструментов сервера (54)

Технические названия из tools/list. Нужны только разработчикам.

get_releaseGET /api/v1/projects/{projectId}/releases/{id} Method: GET /api/v1/projects/{projectId}/releases/{id}
update_releasePUT /api/v1/projects/{projectId}/releases/{id} Method: PUT /api/v1/projects/{projectId}/releases/{id}
delete_releaseDELETE /api/v1/projects/{projectId}/releases/{id} Method: DELETE /api/v1/projects/{projectId}/releases/{id}
get_alert_rule_1GET /api/v1/projects/{projectId}/alert-rules/{id} Method: GET /api/v1/projects/{projectId}/alert-rules/{id}
update_alert_rule_1PUT /api/v1/projects/{projectId}/alert-rules/{id} Method: PUT /api/v1/projects/{projectId}/alert-rules/{id}
delete_alert_rule_1DELETE /api/v1/projects/{projectId}/alert-rules/{id} Method: DELETE /api/v1/projects/{projectId}/alert-rules/{id}
get_alert_destination_2GET /api/v1/orgs/{orgId}/alert-destinations/{id} Method: GET /api/v1/orgs/{orgId}/alert-destinations/{id}
update_alert_destination_2PUT /api/v1/orgs/{orgId}/alert-destinations/{id} Method: PUT /api/v1/orgs/{orgId}/alert-destinations/{id}
delete_alert_destination_2DELETE /api/v1/orgs/{orgId}/alert-destinations/{id} Method: DELETE /api/v1/orgs/{orgId}/alert-destinations/{id}
stripe_webhook_receivePOST /api/v1/webhooks/stripe Method: POST /api/v1/webhooks/stripe
now_payments_webhook_receive_1POST /api/v1/webhooks/nowpayments Method: POST /api/v1/webhooks/nowpayments
list_releaseGET /api/v1/projects/{projectId}/releases Method: GET /api/v1/projects/{projectId}/releases
list_source_map_artifact_1GET /api/v1/projects/{projectId}/releases/{releaseId}/sourcemaps Method: GET /api/v1/projects/{projectId}/releases/{releaseId}/sourcemaps
create_source_map_artifact_1POST /api/v1/projects/{projectId}/releases/{releaseId}/sourcemaps Method: POST /api/v1/projects/{projectId}/releases/{releaseId}/sourcemaps
create_dsn_2POST /api/v1/projects/{projectId}/keys Method: POST /api/v1/projects/{projectId}/keys
create_alert_rule_3POST /api/v1/projects/{projectId}/alert-rules Method: POST /api/v1/projects/{projectId}/alert-rules
create_org_4POST /api/v1/orgs Method: POST /api/v1/orgs
checkout_portalPOST /api/v1/orgs/{orgId}/billing/portal Method: POST /api/v1/orgs/{orgId}/billing/portal
crypto_checkout_startPOST /api/v1/orgs/{orgId}/billing/crypto-invoice Method: POST /api/v1/orgs/{orgId}/billing/crypto-invoice
checkout_start_1POST /api/v1/orgs/{orgId}/billing/checkout-session Method: POST /api/v1/orgs/{orgId}/billing/checkout-session
create_alert_destination_6POST /api/v1/orgs/{orgId}/alert-destinations Method: POST /api/v1/orgs/{orgId}/alert-destinations
list_me_tokens_7GET /api/v1/me/tokens Method: GET /api/v1/me/tokens
create_me_tokens_7POST /api/v1/me/tokens Method: POST /api/v1/me/tokens
revoke_adminDELETE /api/v1/admin/orgs/{orgId}/grant Method: DELETE /api/v1/admin/orgs/{orgId}/grant
remove_memberDELETE /api/v1/orgs/{orgId}/members/{userId} Method: DELETE /api/v1/orgs/{orgId}/members/{userId}
member_change_rolePATCH /api/v1/orgs/{orgId}/members/{userId} Method: PATCH /api/v1/orgs/{orgId}/members/{userId}
list_platform_9GET /api/v1/platforms Method: GET /api/v1/platforms
get_project_3GET /api/v1/orgs/{orgId}/projects/{projectId} Method: GET /api/v1/orgs/{orgId}/projects/{projectId}
archive_projectDELETE /api/v1/orgs/{orgId}/projects/{projectId} Method: DELETE /api/v1/orgs/{orgId}/projects/{projectId}
me_meGET /api/v1/me Method: GET /api/v1/me
info_health_infoGET /api/v1/info Method: GET /api/v1/info
admin_usersGET /api/v1/admin/users Method: GET /api/v1/admin/users
admin_statsGET /api/v1/admin/stats Method: GET /api/v1/admin/stats
admin_orgsGET /api/v1/admin/orgs Method: GET /api/v1/admin/orgs
admin_orgGET /api/v1/admin/orgs/{orgId} Method: GET /api/v1/admin/orgs/{orgId}
admin_auditGET /api/v1/admin/audit Method: GET /api/v1/admin/audit
revoke_dsn_1DELETE /api/v1/projects/{projectId}/keys/{keyId} Method: DELETE /api/v1/projects/{projectId}/keys/{keyId}
delete_org_3DELETE /api/v1/orgs/{orgId} Method: DELETE /api/v1/orgs/{orgId}
delete_me_tokens_4DELETE /api/v1/me/tokens/{id} Method: DELETE /api/v1/me/tokens/{id}
list_my_orgsList the organizations the authenticated user is a member of. Always start here. Most other tools need an `orgId` from this list. Returns one row per org with `id`, `slug`, `name`, `plan`, and `createdAt`. The `plan` field is one of: free, starter, pro, business, enterprise. Method: GET /api/v1/orgs No arguments. Example: call this tool first to discover the user's orgs, pick the right one by `name` or `slug`, then pass its `id` to other tools.
list_projectsList projects belonging to an organization. Returns rows with `id`, `slug`, `name`, `platform`, `createdAt`. Archived projects are excluded by default. Use the `id` from this list as `projectId` for issues / events / release tools. Method: GET /api/v1/orgs/{orgId}/projects Required: `orgId` (number). Example: `{ "orgId": 42 }`.
list_issuesList unresolved issues for a project, most-recent first. This is the agent's main lookup tool when the user says "what broke today" or "show me the top errors". Use `statuses=unresolved` (the default) for the live error wall; pass `statuses=resolved,ignored` to audit silenced groups. Pagination uses `afterId` from the last row of the previous page. Method: GET /api/v1/projects/{projectId}/issues Required: `projectId` (number). Optional: `statuses` (csv: `unresolved,resolved,ignored`), `levels` (csv: `fatal,error,warning,info,debug`), `q` (free-text search), `afterId`, `limit` (default 50, max 200). Example: `{ "projectId": 7, "statuses": "unresolved", "levels": "error,fatal", "limit": 25 }`
get_issueFetch full details of a single issue, including its first / last seen timestamps, total occurrences, fingerprint, and current status. Method: GET /api/v1/projects/{projectId}/issues/{issueId} Required: `projectId` (number), `issueId` (number). Example: `{ "projectId": 7, "issueId": 123 }`
list_issue_eventsList recent events for an issue, ordered by time descending. Each event has the full payload (stack trace, breadcrumbs, contexts, request, web3 fields if present). Use this after `get_issue` to see actual exception details — the issue row only has aggregate stats, not the per-occurrence payloads. Method: GET /api/v1/projects/{projectId}/issues/{issueId}/events Required: `projectId`, `issueId`. Optional: `afterId`, `limit` (default 50, max 200).
get_org_usageCurrent-month event usage + plan caps for an organization. Use to answer "are we close to our event cap?" or "what plan are we on?". Returns `eventsUsed`, `eventCap`, `projectCap`, `retentionDays`, `plan`, `ratio` (0..1+), `exceeded`, `bonus` (when an admin has comp'd a paid plan). Method: GET /api/v1/orgs/{orgId}/usage
create_projectCreate a new project under an org. The project gets an auto-generated DSN; call `list_dsns` afterwards to fetch it (the response of this tool returns the project metadata only). Method: POST /api/v1/orgs/{orgId}/projects Required: `orgId`, `body.name` (2-100 chars), `body.platform` (one of: javascript, react, vue, angular, nextjs, react-native, node, java-spring, python). Example: `{ "orgId": 42, "body": { "name": "Marketing Web", "platform": "react" } }`
create_releaseRegister a release for a project. Source maps uploaded later via the artifact endpoints attach to this release so symbolication can resolve minified frames back to original files. Method: POST /api/v1/projects/{projectId}/releases Required: `projectId`, `body.version` (semver or commit sha). Optional: `body.environment` (`production`, `staging`, …), `body.commit`. Example: `{ "projectId": 7, "body": { "version": "1.4.2", "environment": "production", "commit": "abc123" } }`
list_alert_rulesList alert rules for a project. Each rule has a name, enabled flag, level filter (`fatal | error | warning | info | debug`), tag filters, throttle window, and the destinations it fires to. Method: GET /api/v1/projects/{projectId}/alert-rules
list_alert_destinationsList the alert destinations configured on an org (Telegram, Slack, email, generic webhook). Destination IDs are referenced from alert rules. Method: GET /api/v1/orgs/{orgId}/alert-destinations
list_membersList members of an org with their roles (owner / admin / member) and join dates. Method: GET /api/v1/orgs/{orgId}/members
invite_memberInvite a new member to an org. The server emails the invitee a magic link and also inserts a pending membership row. Required scope on the PAT: `orgs:write`. Method: POST /api/v1/orgs/{orgId}/members Required: `orgId`, `body.email`, `body.role` (`admin` | `member`). Example: `{ "orgId": 42, "body": { "email": "alice@example.com", "role": "member" } }`
list_dsnsList active DSN keys for a project. The DSN is the SDK ingest credential — SDKs authenticate to ingest with this. Returns the public part of the DSN; the secret half is shown only at creation time. Method: GET /api/v1/projects/{projectId}/keys
list_billing_plansPublic catalog of all paid plans with caps + duration ladder (-17/-25/-33% discount for 3/6/12 months). No org context needed. Use to answer "what's the price of Pro for 6 months" or "how many events does Business include". Method: GET /api/v1/billing/plans
grant_bonus_plan[Platform admin only] Comp a paid plan to a specific organization. The plan column is updated to the new tier and `bonus_until` is set to now + months × 30 days. An audit-log entry is written. Required: `orgId`, `body.tier` (`starter` | `pro` | `business`), `body.months` (1, 3, 6, or 12), `body.reason` (free text shown to the customer). Method: POST /api/v1/admin/orgs/{orgId}/grant Example: `{ "orgId": 42, "body": { "tier": "pro", "months": 3, "reason": "Beta tester" } }`