mshegolev/jaeger-mcp

mshegolev/jaeger-mcp

от mshegolev
MCP-сервер для read-only доступа к Jaeger: поиск трейсов, анализ спанов, сравнение трасс, карта зависимостей сервисов и прогнозирование деградации — всё через Claude без покидания диалога.

jaeger-mcp

PyPI version Python versions License: MIT Tests

MCP server for Jaeger distributed tracing. Give Claude (or any MCP-capable agent) read access to your trace data — search traces, inspect spans, compare traces, compute span statistics, map service dependencies, predict performance issues, and forecast capacity needs — without leaving the conversation.

Why another Jaeger MCP?

The existing Jaeger integrations require a running UI or custom scripts. This server:

  • Speaks the standard Model Context Protocol over stdio — works with Claude Desktop, Claude Code, Cursor, and any MCP client.
  • Is read-only: all 15 tools carry readOnlyHint: true — zero risk of modifying trace data.
  • Returns dual-channel output: structured JSON (structuredContent) for programmatic use + Markdown (content) for human-readable display.
  • Has actionable error messages that name the exact env var to fix and suggest a next step.
  • Supports Bearer token, HTTP Basic auth, or no auth (common for internal deployments).
  • Includes OpenAPI specification documenting the underlying Jaeger Query API (openapi.yaml).
Инструменты были проиндексированы:
jaeger_compare_tracesтолько чтениеидемпотентныйвнешний мир

Сравнивает две трассы структурно — находит добавленные, удалённые и изменённые спаны. Получает обе трассы из Jaeger и выполняет структурное сравнение, сопоставляя спаны по (operationName, serviceName, parentOperation), а не по идентификаторам спанов, которые различаются в разных трассах. Сообщает разницу в длительности и различия в тегах для изменённых спанов. Примеры: - Используйте когда: «Что изменилось между быстрым и медленным запросом?» → передайте идентификаторы трасс обоих запросов; проверьте changed_spans на разницу в длительности. - Используйте когда: «Добавил ли деплой новые вызовы сервисов?» → сравните трассу до деплоя с трассой после деплоя; проверьте added_spans на наличие новых операций. - Используйте когда: «Эти две трассы структурно идентичны?» → если added_spans, removed_spans и changed_spans пусты, трассы имеют одинаковую структуру. - Не используйте когда: Вам нужны агрегированные статистики по множеству трасс (используйте jaeger_span_statistics, как только он станет доступен). - Не используйте когда: У вас только одна трасса — используйте jaeger_get_trace для просмотра одной трассы. Возвращает: словарь с trace_id_a / trace_id_b / added_spans / removed_spans / changed_spans (с разницей в длительности и тегах) / unchanged_count.

Параметры
  • trace_id_astringобязательный

    Первый идентификатор трассировки (базовый) в виде шестнадцатеричной строки (16 или 32 шестнадцатеричных символа). Получается из jaeger_search_traces.

  • trace_id_bstringобязательный

    Второй идентификатор трассы (для сравнения) в виде hex-строки (16 или 32 шестнадцатеричных символа). Получается из jaeger_search_traces.

jaeger_compare_windowsтолько чтениеидемпотентныйвнешний мир

Сравнивает агрегированное поведение трасс между двумя временными периодами для сервиса. Выбирает трассы из обоих временных окон, агрегирует статистику спанов по операциям, затем сравнивает агрегированное поведение для обнаружения изменений производительности. Примеры: - Используйте когда: «Повлияло ли последнее развёртывание на производительность?» → сравните временные окна до и после развёртывания для сервиса. - Используйте когда: «Какие операции замедлились после обновления базы данных?» → проверьте столбцы comparison_p95_us и p95_delta_pct на увеличения. - Используйте когда: «Появляются ли новые шаблоны ошибок?» → ищите операции с увеличенным error_rate_delta. - Используйте когда: «Добавили или удалили ли мы какие-либо конечные точки API?» → проверьте added_count и removed_count в сводке. - Не используйте когда: нужно сравнить две конкретные трассы (вместо этого используйте jaeger_compare_traces). - Не используйте когда: нужна полная детализация спанов для одной трассы (вместо этого используйте jaeger_get_trace). Возвращает: WindowComparisonOutput с различиями по операциям и сводной статистикой.

Параметры
  • baseline_endintegerобязательный

    Время окончания базового окна (временная метка Unix в микросекундах).

  • baseline_startintegerобязательный

    Время начала базового окна (Unix timestamp в микросекундах).

  • comparison_endintegerобязательный

    Время окончания окна сравнения (Unix timestamp в микросекундах).

  • comparison_startintegerобязательный

    Время начала окна сравнения (Unix timestamp в микросекундах).

  • limitinteger

    Максимальное количество трейсов на окно (по умолчанию 100).

  • operationstring | null

    Необязательный фильтр по имени операции.

  • servicestringобязательный

    Имя сервиса для сравнения по временным окнам.

jaeger_critical_pathтолько чтениеидемпотентныйвнешний мир

Определяет критический путь и основные узкие места в трейсе. Находит самую длинную цепочку спанов (критический путь) от корня до листа и ранжирует спаны по собственному времени, чтобы выявить реальные узкие места производительности. Примеры: - Используйте, когда: «Почему этот трейс такой медленный?» → вызовите с ID медленного трейса; посмотрите на critical_path_duration_us и critical_path_percentage, чтобы узнать, сколько общего времени приходится на самый длинный путь. - Используйте, когда: «Какие операции потребляют больше всего CPU/собственного времени?» → проверьте список узких мест, отсортированный по self_time_us по убыванию. - Используйте, когда: Отладка регрессий производительности — сравнивайте доли критического пути до и после изменений. - Не используйте, когда: Нужна агрегированная статистика по множеству трейсов (для этого используйте jaeger_span_statistics). - Не используйте, когда: Нужно сравнить два трейса структурно (для этого используйте jaeger_compare_traces). Возвращает: словарь с метаданными трейса, спанами критического пути и рейтингом узких мест.

Параметры
  • trace_idstringобязательный

    Trace ID в виде hex-строки (16 или 32 hex-символа). Получите из jaeger_search_traces.

jaeger_detect_anomaliesтолько чтениеидемпотентныйвнешний мир

Обнаруживает аномалии задержек и частоты ошибок для сервиса, сравнивая недавнее поведение с историческим базовым уровнем. Извлекает трассы из исторического базового окна и недавнего окна наблюдения, вычисляет статистику по каждой операции для обоих окон, а затем выявляет статистически значимые отклонения, которые могут указывать на проблемы с производительностью или надёжностью. Примеры: - Используйте, когда: «Есть ли новые проблемы с производительностью в order-service?» → service='order-service' (использует базовый период по умолчанию 60 минут, текущий – 5 минут). - Используйте, когда: «Нужна большая чувствительность к незначительным изменениям» → установите sensitivity=1.5 (более низкий порог). - Используйте, когда: «Проверить проблемы за последние 24 часа относительно предыдущей недели» → baseline_duration_minutes=10080, current_duration_minutes=1440. - Не используйте, когда: нужно сравнить два конкретных временных периода (вместо этого используйте jaeger_compare_windows). - Не используйте, когда: нужны полные детали спана для одного трейса (вместо этого используйте jaeger_get_trace). Возвращает: AnomalyDetectionOutput с отмеченными операциями и оценками серьёзности.

Параметры
  • baseline_duration_minutesinteger

    Длительность исторического базового периода в минутах (5-1440, по умолчанию 60).

  • current_duration_minutesinteger

    Текущее окно наблюдения в минутах (1-60, по умолчанию 5).

  • sensitivitynumber

    Порог чувствительности к аномалиям (1.0-5.0, по умолчанию 2.0). Ниже = чувствительнее.

  • servicestringобязательный

    Имя сервиса для обнаружения аномалий.

jaeger_find_test_tracesтолько чтениеидемпотентный

Находит трассы Jaeger, соответствующие указанному запросу по тегам. Принимает любую схему ключ-значение тегов (Allure, pytest, custom) без нормализации. Если служба не указана, выполняет поиск по всем известным службам одновременно (не более 20). Результаты сортируются от новых к старым.

Параметры
  • limitinteger

    Максимальное количество трасс для возврата в общей сложности.

  • lookback_hoursinteger

    Часов назад от текущего момента для поиска.

  • servicestring | null

    Имя сервиса Jaeger. Если не указано, поиск выполняется по всем сервисам (до 20) одновременно.

  • tagsobjectобязательный

    Помечает пары «ключ-значение» для фильтрации трассировок. Подходит любая схема тегов фреймворка — например, {'allure.id': 'TC-42'} или {'test.run_id': 'abc123'}.

jaeger_forecast_capacityтолько чтениеидемпотентныйвнешний мир

Прогнозирует будущие требования к пропускной способности и ресурсам для сервиса. Предоставляет прогнозы на ближайшие 7-30 дней с доверительными интервалами для принятия решений по масштабированию инфраструктуры. Args: service: Название сервиса, для которого нужно спрогнозировать ёмкость days_ahead: Количество дней для прогноза (по умолчанию: 30 дней) Returns: ForecastResult с прогнозами пропускной способности и требованиями к ресурсам

Параметры
  • days_aheadinteger

    Количество дней для прогноза вперед (1–90)

  • servicestringобязательный

    Имя службы для прогнозирования емкости

jaeger_get_dependenciesтолько чтениеидемпотентныйвнешний мир

Получает граф вызовов между сервисами из Jaeger. Оборачивает GET /api/dependencies. Возвращает направленные рёбра (родитель → потомок) с call_count — количество спанов, где родитель вызвал потомка за окно просмотра. Используйте это, чтобы понять топологию сервисов, найти сервисы с большим количеством исходящих вызовов (high fan-out) или проверить, что новый сервис подключён как ожидается. Примеры: - Используйте, когда: «Какие сервисы вызывает order-service?» → проверьте рёбра, где parent='order-service'. - Используйте, когда: «Построить полный граф зависимостей сервисов за последние 7 дней» → lookback_hours=168. - Используйте, когда: «Какие сервисы вызываются чаще всего?» → отсортируйте рёбра по call_count по убыванию. - Не используйте, когда: нужны детальные тайминги спанов (вместо этого используйте jaeger_search_traces + jaeger_get_trace). - Не используйте, когда: нужны данные в реальном времени — граф зависимостей Jaeger агрегирован и может отставать на несколько минут. Возвращает: dict с полями end_ts_us / lookback_hours / edge_count / edges (список {parent, child, call_count}).

Параметры
  • end_tsinteger | null

    Конечная метка времени в микросекундах с начала эпохи Unix UTC (необязательно). По умолчанию — текущее время. Пример: 1713400000000000.

  • lookback_hoursinteger

    Количество часов для просмотра назад от end_ts (1-720, по умолчанию 24).

jaeger_get_traceтолько чтениеидемпотентныйвнешний мир

Получает полную детализацию трассировки со всеми спанами, разбивкой по сервисам и деревом выполнения. Обёртка для GET /api/traces/{traceID}. Возвращает каждый спан в трассировке, статистику по каждому сервису и плоское дерево выполнения (каждый узел содержит идентификаторы дочерних спанов), которое обобщает иерархию вызовов. Спаны с ошибками определяются по tags["error"] = "true". Примеры: - Используй когда: «Почему трассировка abc123... тормозит — покажи разбивку по спанам» → trace_id='abc123...'; проверяй services на самый медленный сервис и execution_tree для иерархии вызовов. - Используй когда: «Какой сервис вызвал ошибку в трассировке xyz...?» → проверь spans, где is_error=true. - Используй когда: Вы нашли медленную или ошибочную трассировку в jaeger_search_traces и нужна полная детализация. - Не используй когда: У вас нет конкретного traceID — сначала примените jaeger_search_traces, чтобы его найти. - Не используй когда: Нужны только агрегированные данные по многим трассировкам (вместо этого используйте jaeger_search_traces с фильтрами). Возвращает: словарь с trace_id / span_count / service_count / root_operation / root_service / start_time_us / total_duration_us / errors_count / services (статистика по сервисам) / spans (все спаны) / execution_tree.

Параметры
  • trace_idstringобязательный

    Trace ID в виде hex-строки (16 или 32 шестнадцатеричных символа). Пример: 'abcdef1234567890abcdef1234567890'. Получите из jaeger_search_traces.

jaeger_list_operationsтолько чтениеидемпотентныйвнешний мир

Выводит все имена операций, которые Jaeger видел для заданного сервиса. Оборачивает GET /api/services/{service}/operations. Полезен для поиска имён операций, которые нужно передавать в качестве фильтров в jaeger_search_traces. Вывод ограничен 500 операциями. Примеры: - Используйте, когда: «Какие HTTP-эндпоинты order-service отслеживает в трейсинге?» → service='order-service'. - Используйте, когда: нужно найти конкретную медленную операцию, но точное имя неизвестно — сначала выведите список операций, затем передайте его в jaeger_search_traces. - Используйте, когда: аудит того, какие gRPC-методы отслеживает сервис. - Не используйте, когда: нет конкретного сервиса — сначала вызовите jaeger_list_services. - Не используйте, когда: нужно сразу искать трейсы (пропустите этот шаг, если имя операции уже известно). Возвращает: dict с ключами service / operations_count / truncated / operations (отсортированы по алфавиту).

Параметры
  • servicestringобязательный

    Имя сервиса ровно такое, какое возвращает jaeger_list_services.

jaeger_list_servicesтолько чтениеидемпотентныйвнешний мир

Перечисляет все сервисы, для которых Jaeger наблюдал трассы. Обёртка над GET /api/services. Jaeger возвращает все сервисы сразу, без пагинации. Результат ограничен 500 сервисами с подсказкой об усечении. Сначала используйте его для обнаружения существующих имён сервисов перед вызовом jaeger_list_operations или jaeger_search_traces. Примеры: - Используйте, когда: "Какие сервисы знает Jaeger?" → вызовите без параметров; прочитайте список services. - Используйте, когда: "Инструментирован ли payment-service?" → проверьте, появляется ли payment-service в списке сервисов. - Используйте, когда: начинаете сессию отладки, сначала перечислите сервисы, затем выберите один для jaeger_list_operations или jaeger_search_traces. - Не используйте, когда: вы уже знаете имя сервиса и хотите найти его трассы (вызовите jaeger_search_traces напрямую). - Не используйте, когда: вам нужен граф зависимостей между сервисами (вызовите jaeger_get_dependencies). Возвращает: dict с ключами services_count / truncated / services.

Параметры

Без параметров.

jaeger_predict_degradationтолько чтениеидемпотентныйвнешний мир

Прогнозирует потенциальные события ухудшения производительности для сервиса. Анализирует исторические паттерны данных трассировки, тенденции критических путей и результаты обнаружения аномалий, чтобы прогнозировать вероятные проблемы с производительностью за 2-24 часа вперед. Аргументы: service: Имя сервиса для анализа на предмет возможного ухудшения производительности hours_back: Количество часов исторических данных для анализа (по умолчанию: 168 часов/1 неделя) Возвращает: PredictionResult с прогнозом ухудшения, уровнем уверенности и рекомендациями

Параметры
  • hours_backinteger

    Количество часов исторических данных для анализа (1-720)

  • servicestringобязательный

    Название сервиса для анализа потенциальной деградации.

jaeger_regression_diffтолько чтениеидемпотентный

Сравнивает два временных окна Jaeger и классифицирует пооперационные регрессии.Извлекает трассы из базового и сравнительного окон, затем относит каждую операцию к категории регрессировавшей, восстановившейся, появившейся или удалённой. Результаты сортируются по оценке серьёзности (0–100) по убыванию для удобной приоритезации.

Параметры
  • baseline_endintegerобязательный

    Время окончания базового окна (микросекунды Unix).

  • baseline_startintegerобязательный

    Время начала базового окна (в микросекундах Unix).

  • comparison_endinteger | null

    Время окончания окна сравнения (в микросекундах Unix). По умолчанию равно текущему времени.

  • comparison_startinteger | null

    Время начала окна сравнения (Unix-микросекунды). По умолчанию: текущее время минус 15 минут.

  • limitinteger

    Максимальное количество трейсов, получаемых за одно окно.

  • servicestringобязательный

    Имя сервиса Jaeger для анализа регрессий.

jaeger_search_tracesтолько чтениеидемпотентныйвнешний мир

Ищет трейсы Jaeger с богатыми фильтрами. Обёртка над GET /api/traces. Возвращает список сводок по трейсам — используй jaeger_get_trace, чтобы углубиться в конкретный трейс и получить детали спанов. Параметр tags принимает JSON-строку, чтобы LLM могла строить произвольные фильтры по тегам. Длительности (min_duration/max_duration) передаются в Jaeger как есть (например '100ms', '1.5s'). Примеры: - Используй когда: «Покажи последние 500 ошибок в order-service» → service='order-service', tags='{"http.status_code":"500"}'. - Используй когда: «Найди медленные трейсы (>1с) для эндпоинта checkout» → service='checkout', operation='POST /checkout', min_duration='1s'. - Используй когда: «Выдай последние 5 трейсов за последний час» → limit=5, установи start = (сейчас - 3600с) в микросекундах. - Не используй когда: у тебя уже есть traceID и нужны полные детали (вызови jaeger_get_trace напрямую — одним круговым запросом меньше). - Не используй когда: нужна топология зависимостей сервисов (вызови jaeger_get_dependencies). Возвращает: dict с service / operation / returned / truncated / traces (список :class:TraceSummary).

Параметры
  • endinteger | null

    Время окончания в микросекундах с начала эпохи Unix по UTC (необязательно). Если параметр опущен и задан start, по умолчанию используется текущее время.

  • limitinteger

    Максимальное количество возвращаемых трасс (1-1500, по умолчанию 20).

  • max_durationstring | null

    Фильтр по максимальной длительности трейса (необязательно). Формат: '100ms', '500ms'. Используется, чтобы находить быстрые трейсы или исключать выбросы.

  • min_durationstring | null

    Фильтр минимальной длительности трассировки (необязательный). Формат: '100ms', '1.5s', '2m'. Используется для поиска медленных трассировок.

  • operationstring | null

    Фильтр имени операции (необязательно). Используйте jaeger_list_operations, чтобы найти допустимые имена. Пример: 'GET /api/orders' или 'grpc.health.v1.Health/Check'.

  • servicestringобязательный

    Имя сервиса для поиска трассировок (обязательно). Используйте jaeger_list_services, чтобы узнать допустимые имена.

  • startinteger | null

    Время начала в микросекундах с начала эпохи Unix (UTC) (необязательно). Пример: 1713400000000000 соответствует 2024-04-18 00:00:00 UTC.

  • tagsstring | null

    JSON-строка пар «ключ-значение» тегов для фильтрации (необязательно). Пример: '{"http.status_code":"500"}' для поиска ошибок 5xx, или '{"error":"true"}' для любых спанов с ошибками.

jaeger_span_statisticsтолько чтениеидемпотентныйвнешний мир

Вычисляет процентили задержки и частоту ошибок для каждой операции по последним трейсам. Получает до limit трейсов для указанного сервиса (опционально отфильтрованных по операции), затем агрегирует все спаны по имени операции. Для каждой операции сообщает: количество спанов, p50/p95/p99 длительность в микросекундах, количество ошибок и частоту ошибок. Длительность указывается в микросекундах (целое число). Частота ошибок — error_count / span_count (число с плавающей точкой, 0.0–1.0). Примеры: - Используйте когда: «Какие p95 задержки для каждой конечной точки в order-service?» → service='order-service'; проверьте p95_duration_us для каждой операции. - Используйте когда: «Как часто ошибается конечная точка POST /checkout?» → service='checkout-svc', operation='POST /checkout'; посмотрите error_rate в статистике. - Используйте когда: «Сравнить распределение задержек между операциями» → посмотрите разброс p50 и p99, чтобы найти операции с высокой вариативностью. - Используйте когда: «Получить большую выборку для более точной статистики» → limit=100 для более достоверных процентилей. - Не используйте когда: нужно сравнить два конкретных трейса (вместо этого используйте jaeger_compare_traces). - Не используйте когда: нужны полные детали спанов для одного трейса (вместо этого используйте jaeger_get_trace). Возвращает: словарь с полями service / operation / trace_count / stats (список статистики по каждой операции: count, p50/p95/p99 duration_us, error_count, error_rate).

Параметры
  • limitinteger

    Количество трейсов для получения и анализа (1-100, по умолчанию 20).

  • operationstring | null

    Фильтр по имени операции (необязательно). Если он задан, извлекаются только трассы, соответствующие этой операции. Используйте jaeger_list_operations, чтобы узнать допустимые имена.

  • servicestringобязательный

    Имя сервиса, для которого нужно вычислить статистику (обязательно). Используйте jaeger_list_services, чтобы узнать допустимые имена.

jaeger_test_profileтолько чтениеидемпотентный

Агрегирует точки задержки по каждой операции среди всех трейсов, соответствующих заданному запросу тегов. Операции сортируются по общему времени выполнения по убыванию, поэтому самые затратные отображаются первыми.

Параметры
  • limitinteger

    Максимальное количество трейсов для агрегирования.

  • lookback_hoursinteger

    Часов назад от текущего момента для поиска.

  • servicestring | null

    Имя сервиса Jaeger. Если не указано, поиск выполняется по всем сервисам (до 20) одновременно.

  • tagsobjectобязательный

    Пары «ключ-значение», задающие границы тестового запуска, например {'test.run_id': 'abc123'} или {'allure.id': 'TC-42'}.

0.6.1основная
0.6.0
0.3.0
0.5.0
0.4.0
0.1.1
0.1.0

Выберите клиент, чтобы установить mshegolev/jaeger-mcp:

Любой клиент

Конфиг добавления MCP сервера стандартный, обычно он не меняется вообще, поэтому подходит практически к любому ИИ клиенту, поддерживающему MCP.

{
  "mcpServers": {
    "mshegolev-jaeger-mcp-he7trvye5r": {
      "command": "uvx",
      "args": [
        "jaeger-mcp"
      ],
      "env": {
        "JAEGER_URL": "https://jaeger.example.com"
      }
    }
  }
}
CursorCursor

Перейдите по ссылке и сервер автоматически будет добавлен в Cursor. Либо откройте/создайте файл ~/.cursor/mcp.json(%USERPROFILE%\.cursor\mcp.json на Windows) и добавьте конфиг сервера:

{
  "mcpServers": {
    "mshegolev-jaeger-mcp-he7trvye5r": {
      "command": "uvx",
      "args": [
        "jaeger-mcp"
      ],
      "env": {
        "JAEGER_URL": "https://jaeger.example.com"
      }
    }
  }
}
VS Code

Создайте .vscode/mcp.json в проекте (ключ верхнего уровня — servers):

{
  "servers": {
    "mshegolev-jaeger-mcp-he7trvye5r": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "jaeger-mcp"
      ],
      "env": {
        "JAEGER_URL": "https://jaeger.example.com"
      }
    }
  }
}

Либо добавьте сервер через терминал:

code --add-mcp "{\"name\":\"mshegolev-jaeger-mcp-he7trvye5r\",\"type\":\"stdio\",\"command\":\"uvx\",\"args\":[\"jaeger-mcp\"],\"env\":{\"JAEGER_URL\":\"https://jaeger.example.com\"}}"
ClaudeClaude Desktop

Откройте Settings → Developer → Edit Config — это откроет файл claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Впишите сервер и полностью перезапустите Claude Desktop:

{
  "mcpServers": {
    "mshegolev-jaeger-mcp-he7trvye5r": {
      "command": "uvx",
      "args": [
        "jaeger-mcp"
      ],
      "env": {
        "JAEGER_URL": "https://jaeger.example.com"
      }
    }
  }
}
Claude CodeClaude Code

Добавьте сервер одной командой в терминале:

claude mcp add mshegolev-jaeger-mcp-he7trvye5r --env JAEGER_URL=https://jaeger.example.com -- uvx jaeger-mcp

Либо через JSON-конфиг:

claude mcp add-json mshegolev-jaeger-mcp-he7trvye5r "{\"command\":\"uvx\",\"args\":[\"jaeger-mcp\"],\"env\":{\"JAEGER_URL\":\"https://jaeger.example.com\"}}"
CodexCodex

Добавьте сервер командой в терминале:

codex mcp add mshegolev-jaeger-mcp-he7trvye5r --env JAEGER_URL=https://jaeger.example.com -- uvx jaeger-mcp

Либо вручную в ~/.codex/config.toml(%USERPROFILE%\.codex\config.toml на Windows):

[mcp_servers.mshegolev-jaeger-mcp-he7trvye5r]
command = "uvx"
args = ["jaeger-mcp"]

[mcp_servers.mshegolev-jaeger-mcp-he7trvye5r.env]
JAEGER_URL = "https://jaeger.example.com"
PerplexityPerplexity

MCP доступен подписчикам Perplexity Pro / Max / Enterprise. Локальные серверы — только в приложении для macOS.

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите mshegolev/jaeger-mcp, а в поле команды запуска — строку ниже:
uvx jaeger-mcp

Нажмите Save и дождитесь статуса Running.

WindsurfWindsurf

Откройте Windsurf Settings → Cascade → MCP Servers или отредактируйте файл ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "mshegolev-jaeger-mcp-he7trvye5r": {
      "command": "uvx",
      "args": [
        "jaeger-mcp"
      ],
      "env": {
        "JAEGER_URL": "https://jaeger.example.com"
      }
    }
  }
}
ClineCline

В панели Cline нажмите иконку MCP Servers → Configure → Configure MCP Servers (или отредактируйте ~/.cline/mcp.json) и добавьте сервер:

{
  "mcpServers": {
    "mshegolev-jaeger-mcp-he7trvye5r": {
      "command": "uvx",
      "args": [
        "jaeger-mcp"
      ],
      "env": {
        "JAEGER_URL": "https://jaeger.example.com"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например mshegolev-jaeger-mcp-he7trvye5r.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: mshegolev-jaeger-mcp-he7trvye5r
    command: uvx
    args:
      - "jaeger-mcp"
    env:
      JAEGER_URL: https://jaeger.example.com
Zed

Выполните agent: add context server или откройте настройки (zed: open settings file) и добавьте сервер в объект context_servers:

{
  "context_servers": {
    "mshegolev-jaeger-mcp-he7trvye5r": {
      "command": "uvx",
      "args": [
        "jaeger-mcp"
      ],
      "env": {
        "JAEGER_URL": "https://jaeger.example.com"
      }
    }
  }
}

Похожие MCP-сервера

context-rot-detection

context-rot-detection

от milos-product-maker

MCP инструмент, дающий AI-агентам самосознание: измеряет деградацию когнитивного здоровья при заполнении контекста. Разработчики применяют его для выявления context rot и получения рекомендаций.

TypeScript⭐ 13
alilxxey/openobserve-community-mcp

alilxxey/openobserve-community-mcp

от alilxxey

MCP сервер для OpenObserve Community Edition в режиме read-only через stdio и REST API. Выполняет поиск логов, просмотр схем потоков и дашбордов. Интегрируется с Claude и Codex для анализа данных OpenObserve без права записи.

Python⭐ 16
Sentry MCP

Sentry MCP

официальный

от getsentry

Официальный Sentry показывает стектрейсы и ошибки в IDE, ищет по событиям и трейсам, создаёт issue для разбора инцидентов.

TypeScript⭐ 934
last9/last9-mcp-server

last9/last9-mcp-server

официальный

от last9

Last9 MCP-сервер подключает AI-агентов (Claude, Cursor, Windsurf) к вашим производственным данным observability — логам, метрикам, трейсам, алертам. Без установки бинарников, через OAuth. Полезен S...

Go⭐ 63
TANTIOPE/datadog-mcp-server

TANTIOPE/datadog-mcp-server

от tantiope

MCP сервер для AI-ассистентов, открывающий полный доступ к Datadog: поиск логов, фильтрация APM-трейсов, запрос метрик, управление мониторами и дашбордами. Помогает SRE и разработчикам быстро разбирать инциденты, не переключаясь между инструментами.

TypeScript⭐ 6
Comet-ML/Opik-MCP

Comet-ML/Opik-MCP

официальный

от comet-ml

MCP сервер для Opik – подключает AI-ассистентов (Claude Code, Cursor, VS Code) к вашему рабочему пространству: читайте трейсы, логируйте оценки, сохраняйте версии промптов и задавайте вопросы ассис...

Python⭐ 223
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин