Superlog

Superlog: наблюдение и разбор инцидентов приложения через ассистента

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

Что умеет

  • Искать и фильтровать логи, трейсы и метрики
  • Настраивать и проверять алерты по условиям
  • Создавать и редактировать дашборды с виджетами
  • Переключаться между проектами и сервисами
  • Собирать список сервисов и активных алертов

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

Ассистент видит телеметрию подключённых проектов пользователя — логи, трейсы, метрики и настройки алертов.

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

Не нужен: сервер работает без входа

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

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

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

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

https://superlog-mcp--superlog.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 не видит.

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

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

https://superlog-mcp--superlog.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 откроет окно входа в сервис. Войдите и подтвердите доступ.

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

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

https://superlog-mcp--superlog.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 появится кнопка авторизации.

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

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

query_logsSearch OpenTelemetry logs. Targets the session's active project unless project_id is given. Error rows include flattened exception_type, exception_message, and exception_stacktrace fields when present.
query_tracesSearch OpenTelemetry spans. Targets the session's active project unless project_id is given. Spans with exception events include flattened exception_type, exception_message, and exception_stacktrace fields when present.
query_metricsFetch recent metric points across gauge/sum/histogram/summary tables. Targets the session's active project unless project_id is given. Each point includes its data-point `attributes` (the per-series dimensions like route/status/tenant) and `resource_attrs`. gauge/sum points carry a scalar `value`; histogram/summary points carry `count` and `sum` (plus `min`/`max` for histograms) instead, since they have no scalar value.
list_servicesList distinct service.name values emitting telemetry in the given window.
list_projectsList every project the authenticated user can access, across all of their orgs. The active project is marked.
get_active_projectReturn the project that tools default to when project_id is omitted.
set_active_projectChange the default project for subsequent tool calls in this session. Persists for the lifetime of the access token.
list_alertsList all alerts in the active project (or the project_id you pass).
get_alertFetch a single alert plus its 50 most recent firings.
create_alertCreate an alert. For logs/traces sources aggregation must be 'count'; for metric source it must be 'sum' or 'avg' and metric_name is required.
update_alertPatch an alert. Provide only the fields you want to change. Validation runs on the merged result.
delete_alertDelete an alert by id.
preview_alertEvaluate a draft alert spec against current data without saving. Returns whether it would breach right now.
test_alertRe-evaluate a saved alert against current data and return the result.
get_homeFetch the active project's shared home command center, including built-ins, data widgets, links, and grid layouts.
set_home_builtinShow or hide one of the built-in home widgets: setup_todos, active_incidents, or service_map.
add_home_widgetAdd a chart, table, or markdown widget directly to the shared project home. Uses the same widget config and 12-column layout as dashboards.
add_home_linkAdd a shared link card to project home. URLs must be absolute and use http or https.
update_home_layoutUpdate positions and sizes for home items on the 12-column grid. Read get_home first and send the items that should move.
remove_home_itemRemove a built-in, data widget, or link from project home. Read get_home first to discover item ids.
list_dashboardsList dashboards in the active project (or project_id).
get_dashboardFetch a dashboard with its widgets.
create_dashboardCreate a dashboard. Slug is generated from the name. Optionally seed template variables (see `variables`) so widget filters can reference them with $name.
update_dashboardRename a dashboard.
set_dashboard_variablesReplace a dashboard's template-variable list. Pass the FULL set you want to keep — this overwrites the existing list (read the current one with get_dashboard first). Variables let one dropdown drive filters across many widgets: define a variable here, then point widget filters at it with value:"$name". Dashboard template variables — a named picklist that drives widget filters. Each entry is { name, options[], defaultValue?, label?, attributeKey? }. A widget filter references a variable by putting the token "$name" (or "${name}") in a filter value — e.g. resourceAttrs: [{ key: "deployment.environment", value: "$env" }]. At view time the dashboard shows a dropdown per variable and substitutes the selected option into every filter that references it, so one variable can drive filters across many widgets on any attribute key. `options` is the selectable list (empty = free-form); `defaultValue` must be one of `options` when `options` is non-empty; `attributeKey` is optional and only powers a one-click 'filter by this variable' shortcut in the web editor. Variable names must start with a letter and contain only letters, digits, or underscores.
delete_dashboardDelete a dashboard and all its widgets.
add_dashboard_widgetAppend a widget to a dashboard. Widget types: timeseries_count, timeseries_metric, trace_table, log_table, markdown. Omit `layout` to use the standard size for the type — recommended. The grid is 12 columns wide, so x is 0-11 and w is 1-12; the standard sizes are w:6 h:4 for timeseries charts (half-width), w:12 h:6 for trace_table/log_table (full-width), and w:4 h:5 for markdown. Only pass `layout` when you deliberately want a non-standard size or position. A filter value may reference a dashboard variable with the token "$name" (or "${name}") — e.g. config.filter.resourceAttrs: [{ key: "deployment.environment", value: "$env" }] — which is substituted with the viewer's selected option at view time. Define variables with set_dashboard_variables (or create_dashboard).
update_dashboard_widgetPatch a widget's title, config, or layout. As with add_dashboard_widget, a filter value may reference a dashboard variable with the token "$name" (or "${name}").
delete_dashboard_widgetRemove a widget from a dashboard.
get_incidentFetch one incident by its id — the uuid at the end of a superlog.sh/org/<org>/project/<project>/incidents/<id> link — and everything needed to explain it. No project_id is required; the project is resolved from the incident. Returns: the incident summary with the agent's findings (root_cause_text, agent_summary, estimated_impact_text) and its project_id; every linked issue with a stored telemetry `sample` (trace_id, span_id, stacktrace, span/log/resource attributes); and a pointer to the latest investigation run. To pull live telemetry, take a sample's trace_id and call query_traces, or filter query_logs/query_traces by the issue's service + exception type — passing the returned project_id.
search_incidentsSearch incidents in the active project (or project_id). Incidents are auto-grouped error/anomaly investigations; each row carries the agent's findings (agent_summary, root_cause_text) when available. Filter by status, severity, service, a free-text substring over title/codename, and a last_seen time window. Results are newest-activity-first. By default agent-classified noise (status='autoresolved_noise') is hidden; pass status='all' to include it or status='autoresolved_noise' to inspect just the noise pile. Use get_incident to drill into a single incident's linked issues and telemetry.
list_agent_mcp_serversList the custom MCP servers available to new investigation and Slack-agent sessions for this project. Credentials are always redacted.
add_agent_mcp_serverAdd a trusted HTTPS Streamable HTTP MCP server to this project. Admin only. Authentication accepts none, bearer/API token, arbitrary API-key header, or OAuth. Credential inputs are write-only and never returned.
update_agent_mcp_serverUpdate a project MCP server. Admin only. Omit auth to preserve its credential; supplying auth replaces it. A changed URL must be explicitly trusted.
remove_agent_mcp_serverRemove a custom MCP server from this project. Admin only.
start_agent_mcp_oauthStart OAuth authorization-code authentication with discovery, PKCE, resource binding, and dynamic client registration when needed. Admin only. Open the returned authorizationUrl in a browser.
connect_agent_mcp_client_credentialsExchange the configured OAuth client ID and secret using client_credentials, but only when advertised by the authorization server. Admin only.
disconnect_agent_mcp_oauthErase stored OAuth tokens and disable this custom MCP server. Admin only.
test_agent_mcp_serverConnect to a configured MCP server, initialize the protocol, and list its tools. Admin only. Secrets are never returned.
get_issue_filterRead the project's issue filter: per-kind include/exclude attribute clauses that decide which ERROR events become issues/incidents. Excludes win; a non-empty include list means an event must match at least one clause.
update_issue_filterUpdate the issue filter. Each bucket you provide REPLACES that bucket; omit a bucket to leave it unchanged; pass [] to clear it. Use this to quiet recurring noise (add an exclude clause) or to scope investigations to specific services/routes (add an include clause). Call get_issue_filter first if you want to add to the existing rules rather than overwrite them.
preview_issue_filterPreview which recent ERROR events (last 24h) would still become issues under a candidate filter, WITHOUT saving. Buckets you pass are merged over the project's current filter (same semantics as update_issue_filter); omit all buckets to preview the current saved filter. Returns sample matching events.
get_project_contextRead the project's freeform context — the human-written description of the system (architecture, conventions, key services) that the investigation agent reads on every run.
set_project_contextOverwrite the project's freeform context (max 8000 chars; longer input is truncated). This REPLACES the whole field — call get_project_context first and edit the returned text if you want to preserve existing content. Use for durable, system-level facts that apply to every investigation; for narrower learnings prefer create_agent_memory.
list_agent_memoriesList the investigation agent's stored memories for the project — durable learnings (feedback, terminology, infra, project facts) that are injected into future investigations.
create_agent_memoryRecord a durable, reusable learning so future investigations inherit it. Record a memory whenever you discover something worth remembering across investigations — a root-cause pattern, a piece of infra/architecture, a domain term, or a user correction about how to investigate. Keep the title a short handle and the body the specific, reusable fact (not a one-off incident narrative).
update_agent_memoryPatch a stored memory. Provide only the fields you want to change. Set status='archived' to retire a memory without deleting it (archived memories stop being injected into investigations).
delete_agent_memoryPermanently delete a stored memory by id. To retire one reversibly, prefer update_agent_memory with status='archived'.