Skip to main content
Glama
jilio

Telebugs MCP Server

by jilio

Telebugs MCP 서버

AI 에이전트가 자체 호스팅된 Sentry 대안인 Telebugs에서 오류 보고서를 검색할 수 있도록 하는 MCP(Model Context Protocol) 서버입니다.

아키텍처

┌─────────────────┐                           ┌─────────────────────────────────────┐
│  Local Machine  │                           │              Remote VPS             │
│                 │         HTTPS             │                                     │
│  Claude Desktop │ ◄───────────────────────► │  Bun MCP Server   ───►  Telebugs    │
│                 │      (SSE transport)      │     :3100              SQLite DB    │
└─────────────────┘                           └─────────────────────────────────────┘

Related MCP server: otel-mcp

기능

  • 직접 데이터베이스 액세스 - Telebugs SQLite 데이터베이스 읽기 및 쓰기

  • MCP OAuth 인증 - Telebugs 사용자가 지원하는 브라우저 기반 OAuth 흐름

  • API 키 인증 - 기존 Telebugs 사용자 API 키를 베어러 토큰으로 계속 사용 가능

  • 액세스 제어 - 사용자는 자신이 멤버로 속한 프로젝트만 볼 수 있음

  • SSE 전송 - 원격 Claude Desktop 연결 허용

  • 토큰 효율성 - 압축된 JSON, 기본적으로 열린 오류만 표시

  • 단일 바이너리 - Linux용 교차 컴파일, 런타임 종속성 없음

사용 가능한 도구

도구

설명

list_projects

액세스 가능한 모든 프로젝트 나열

list_error_groups

필터링을 포함한 중복 제거된 오류 그룹 나열

get_error_group

특정 오류 그룹의 세부 정보 가져오기

list_reports

개별 오류 발생 내역 나열

get_report

백트레이스, 브레드크럼, 컨텍스트를 포함한 전체 보고서 가져오기

get_statistics

집계된 오류 통계 가져오기

search_errors

오류 전체 텍스트 검색

list_releases

아티팩트 수를 포함한 프로젝트의 모든 릴리스 나열

list_release_artifacts

릴리스에 업로드된 아티팩트 나열

get_sourcemap_status

디버그 ID에 소스맵이 있는지 확인

resolve_error_group

오류 그룹 해결(수정됨으로 표시)

unresolve_error_group

해결된 오류 그룹 다시 열기

mute_error_group

만료 시간 설정이 가능한 오류 그룹 음소거

unmute_error_group

음소거된 오류 그룹 음소거 해제

add_note

오류 그룹에 메모 추가

delete_note

오류 그룹에서 메모 삭제(작성자만 가능)

create_project

새 프로젝트 생성(관리자만 가능)

update_project

프로젝트 이름 또는 시간대 업데이트(관리자만 가능)

delete_project

프로젝트 소프트 삭제(관리자만 가능)

get_project_token

SDK 구성을 위한 프로젝트 토큰/DSN 가져오기

regenerate_project_token

프로젝트 토큰 재생성(관리자만 가능)

add_project_member

프로젝트에 사용자 추가(관리자만 가능)

remove_project_member

프로젝트에서 사용자 제거(관리자만 가능)

list_project_members

역할과 함께 프로젝트 멤버 나열

list_platforms

프로젝트 생성에 사용 가능한 플랫폼 이름 나열

list_error_groups

매개변수

유형

기본값

설명

project_id

number

-

프로젝트 ID로 필터링

status

string

"open"

"open", "resolved", "muted" 또는 "all"

error_type

string

-

정확한 오류 유형으로 필터링

error_message

string

-

오류 메시지로 필터링(부분 일치)

from

string

-

시작 날짜 (ISO 8601)

to

string

-

종료 날짜 (ISO 8601)

limit

number

20

최대 결과 수 (1-100)

offset

number

0

페이지네이션을 위한 N개 결과 건너뛰기

페이지네이션을 위한 total_count를 반환합니다.

list_reports

매개변수

유형

기본값

설명

group_id

number

-

오류 그룹 ID로 필터링

project_id

number

-

프로젝트 ID로 필터링

from

string

-

시작 날짜 (ISO 8601)

to

string

-

종료 날짜 (ISO 8601)

limit

number

20

최대 결과 수 (1-100)

offset

number

0

페이지네이션을 위한 N개 결과 건너뛰기

페이지네이션을 위한 total_count를 반환합니다.

매개변수

유형

기본값

설명

query

string

필수

전체 텍스트 검색 쿼리

project_id

number

-

프로젝트 ID로 필터링

limit

number

20

최대 결과 수 (1-100)

resolve_error_group / unresolve_error_group / unmute_error_group

이 도구들은 group_id(number)만 필요합니다.

mute_error_group

매개변수

유형

기본값

설명

group_id

number

필수

오류 그룹 ID

muted_until

string

-

그룹이 음소거될 선택적 ISO 8601 날짜

add_note

매개변수

유형

기본값

설명

group_id

number

필수

오류 그룹 ID

content

string

필수

메모 내용

delete_note

매개변수

유형

기본값

설명

group_id

number

필수

오류 그룹 ID

note_id

number

필수

삭제할 메모 ID

create_project (관리자만 가능)

매개변수

유형

기본값

설명

name

string

필수

프로젝트 이름 (고유)

platform

string

필수

플랫폼 이름 — 옵션을 보려면 list_platforms 사용

timezone

string

"UTC"

프로젝트 시간대 (예: "America/New_York")

update_project (관리자만 가능)

매개변수

유형

기본값

설명

project_id

number

필수

업데이트할 프로젝트 ID

name

string

-

새 프로젝트 이름

timezone

string

-

새 시간대

delete_project / regenerate_project_token (관리자만 가능)

이 도구들은 project_id(number)만 필요합니다.

add_project_member / remove_project_member (관리자만 가능)

매개변수

유형

기본값

설명

project_id

number

필수

프로젝트 ID

user_id

number

필수

추가/제거할 사용자 ID

get_project_token / list_project_members

이 도구들은 project_id(number)만 필요합니다.

list_platforms

매개변수 없음. 사용 가능한 모든 플랫폼 이름을 반환합니다.

설치

cd telebugs-mcp
bun install

빌드

# Build for current platform
bun run build

# Build for Linux (for VPS deployment)
bun run build:linux

구성

변수

설명

기본값

TELEBUGS_DB_PATH

Telebugs SQLite 데이터베이스 경로

/var/lib/docker/volumes/telebugs-data/_data/db/production.sqlite3

PORT

수신할 HTTP 포트

3100

MCP_BASE_URL

OAuth 메타데이터 및 리다이렉트를 위한 공개 기본 URL

요청에서 추론

OAUTH_ACCESS_TOKEN_TTL_SECONDS

MCP OAuth 액세스 토큰 수명

43200

TELEBUGS_SECRET_KEY_BASE

Telebugs Rails secret_key_base, Telebugs 로그인 링크 수락에 필요

설정 안 됨

로컬 실행

TELEBUGS_DB_PATH=/path/to/telebugs/storage/db/development.sqlite3 bun run dev

배포

단일 바이너리

# Copy to server
scp telebugs-mcp-linux root@your-server:~/telebugs-mcp-linux

# On server
chmod +x ~/telebugs-mcp-linux
./telebugs-mcp-linux

systemd 서비스

telebugs-mcp.service/etc/systemd/system/으로 복사합니다:

cp telebugs-mcp.service /etc/systemd/system/
systemctl daemon-reload
systemctl enable telebugs-mcp
systemctl start telebugs-mcp

상태 확인:

systemctl status telebugs-mcp

Nginx 리버스 프록시 (선택 사항)

location /mcp {
    proxy_pass http://127.0.0.1:3100;
    proxy_http_version 1.1;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;

    # SSE support
    proxy_set_header Connection '';
    proxy_buffering off;
    proxy_cache off;
    chunked_transfer_encoding off;
}

Claude Desktop 구성

OAuth 지원 MCP 클라이언트의 경우 서버 URL만 구성하십시오. 클라이언트가 OAuth 메타데이터를 검색하고 브라우저 로그인 페이지를 열며, 발급된 베어러 토큰으로 재시도합니다:

{
  "mcpServers": {
    "telebugs": {
      "url": "https://your-server/mcp"
    }
  }
}

MCP 서버가 리버스 프록시 뒤에서 실행되는 경우 MCP_BASE_URL을 공개 HTTPS 오리진으로 설정하십시오:

MCP_BASE_URL=https://your-server bun run start

OAuth 로그인 페이지는 Bun의 Tailwind 플러그인으로 생성된 CSS와 함께 React로 렌더링됩니다. 이는 Telebugs 로그인 페이지와 일치하며, 요청하는 클라이언트와 리다이렉트 오리진을 표시하고, 인증 코드를 발급하기 전에 명시적인 승인을 요구합니다. Telebugs에서 사용하는 것과 동일한 bcrypt users.password_digest에 대해 검증된 Telebugs 이메일/비밀번호를 허용합니다. 또한 TELEBUGS_SECRET_KEY_BASE가 설정되어 있으면 MCP 서버가 Rails의 active_record/signed_id 검증기 키를 도출하고 서명된 ID 페이로드를 검증할 수 있으므로 /session/transfers/...의 Telebugs 로그인 링크도 허용할 수 있습니다.

Telebugs가 SECRET_KEY_BASE 대신 RAILS_MASTER_KEY로 구성된 경우, Telebugs 앱에서 bin/rails runner 'puts Rails.application.secret_key_base'를 사용하여 값을 읽고 이 서버에 TELEBUGS_SECRET_KEY_BASE로 전달하십시오.

MCP OAuth를 아직 지원하지 않는 클라이언트의 경우, 정적 베어러 토큰이 여전히 작동합니다. ~/Library/Application Support/Claude/claude_desktop_config.json(macOS)에 추가하십시오:

{
  "mcpServers": {
    "telebugs": {
      "url": "http://your-server:3100/mcp",
      "headers": {
        "Authorization": "Bearer your_telebugs_api_key"
      }
    }
  }
}

API 키 가져오기

  1. Telebugs 인스턴스에 로그인

  2. 사용자 → 계정 설정 → 보안으로 이동

  3. API 키 복사

보안

  • 프로젝트 관리(생성, 업데이트, 삭제, 토큰 재생성, 멤버십)에 대해 관리자 전용 작업 강제

  • 쓰기 작업은 오류 상태 변경, 메모 및 프로젝트 관리로 제한

  • 모든 변경 사항은 사용자의 프로젝트 멤버십으로 범위가 지정됨

  • API 키는 활성 사용자에 대해서만 검증됨

  • OAuth 액세스 토큰은 수명이 짧으며 MCP 서버의 메모리에 보관됨

  • 모든 쿼리는 사용자의 프로젝트 멤버십에 의해 필터링됨

  • 매개변수화된 쿼리 사용 (SQL 인젝션 방지)

상태 확인

curl http://localhost:3100/health
# {"status":"ok"}

라이선스

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    MCP server that gives AI agents access to your application's OpenTelemetry traces for querying, analysis, and debugging.
    5
    7 npm
    2
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    MCP server for integrating self-hosted Sentry with AI assistants, enabling project and issue listing, issue details with stack traces, and event retrieval.
    7
    7 npm
    1
    MIT