bugsink-mcp
bugsink-mcp
Bugsink(자체 호스팅, Sentry 프로토콜 호환 오류 추적)용 완전한 읽기/쓰기 MCP 서버입니다. Bugsink의 /api/canonical/0/ OpenAPI 스키마에 직접 맞춰 구현되었습니다.
이 서버가 존재하는 이유는 npm의 기존 bugsink-mcp 패키지가 API의 읽기 쪽(list/get)만 다루기 때문입니다. 이 패키지는 canonical API 전체를 다룹니다: 이슈 해결, 음소거, 재열기, 삭제, 댓글 작성, 그리고 팀 ·프로젝트·릴리스의 생성/수정까지 포함하며, 원본 대비 몇 가지 정확성 수정 사항도 담겨 있습니다(원본 대비 수정 사항 참고).
설정
Node.js 18.17 이상이 필요합니다.
Bugsink에서 Account Settings → Auth Tokens로 이동해 토큰을 생성합니다.
서버를 MCP 클라이언트에 추가합니다.
Claude Code
claude mcp CLI를 사용한 한 줄 명령:
claude mcp add bugsink \
-e BUGSINK_URL=https://bugs.example.com \
-e BUGSINK_TOKEN=<your token> \
-- npx -y github:fers4t/bugsink-mcp이 명령은 아래와 동일한 내용을 ~/.claude.json에 기록합니다(또는 --scope project를 전달하면 사용자 로컬 설정 대신 공용 .mcp.json에 기록합니다):
{
"mcpServers": {
"bugsink": {
"type": "stdio",
"command": "npx",
"args": ["-y", "github:fers4t/bugsink-mcp"],
"env": {
"BUGSINK_URL": "https://bugs.example.com",
"BUGSINK_TOKEN": "<your token>"
}
}
}
}이후 Claude Code를 재시작(또는 새 세션 시작)해야 합니다 — MCP 도구 목록은 세션 시작 시 로드되므로 대화 중 설정 변경은 반영되지 않습니다.
기타 MCP 클라이언트
mcpServers 맵을 읽는 모든 클라이언트(Cursor, Windsurf 등)는 위에 표시된 JSON 형태를 그대로 사용할 수 있습니다 — command: npx, args: ["-y","github:fers4t/bugsink-mcp"]를 지정하고 다음과 같이 필수 환경 변수 두 개를 설정하면 됩니다.
npx는 GitHub에서 바로 설치하며(npm을 통한 publishing 없음), 첫 실행 시 prepare 스크립트가 TypeScript로 변경되면 컴파일하고 이후 실행에서는 로컬 캐시를 다시 사용합니다.
환경 변수
변수 | 필수 여부 | 설명 |
| 예 | Bugsink 인스턴스의 기본 URL(예: |
| 예 | 개인 API 토큰(Bearer 인증) |
| 아니요 | 요청당 타임아웃(ms). 기본값 |
.env.example 파일을 참고하세요. 실제 토큰을 커밋하지 마세요. 서버는 토큰을 환경(environment)에서만 읽습니다.
Related MCP server: Sierra Navigator Cloud
도구
연결
도구 | 설명 |
| URL/토큰이 정상적인지 확인하고 표시할 수 있는 팀 개수를 반환합니다 |
팀
도구 | 설명 |
| 모든 팀 목록 조회 |
| UUID로 팀 조회 |
| 팀 생성 |
| 팀 이름 변경 또는 공개 여부 변경 |
프로젝트
도구 | 설명 |
| 선택적으로 팀으로 필터링해 프로젝트 목록 조회 |
| 팀 정보를 확장할 수 있는 프로젝트 조회(DSN 포함) |
| 팀 아래 프로젝트 생성 |
| 이름/공개 여부/알림 플래그/보존 기간/팀 갱신 |
이슈
도구 | 설명 |
| 프로젝트의 이슈 목록 조회( |
| UUID 또는 직관적인 ID(예: |
| 이슈와 해당 이벤트를 되돌릴 수 없게 삭제 |
| 지금 해결 처리 |
| 이후 릴리스에서 다시 보고되면 회귀(regression) 처리하면서 해결 |
| 현재 최신 릴리스 시점으로 해결 처리 |
| 해결된 이슈 다시 열기 |
| 무기한 음소거 |
| N 기간(예: 3일) 동안 음소거 |
| 특정 기간 내 이벤트 수 임계치를 초과할 때까지 음소거 |
| 음소거 해제 |
| 이슈에 댓글 추가 |
이벤트
도구 | 설명 |
| 이슈의 이벤트(발생 건) 목록 조회 |
| 태그/컨텍스트/원시 페이로드를 포함한 전체 이벤트 상세 조회 |
| 이벤트에 대한 렌처된 Markdown 스택트레이스를 반환 |
릴리스
도구 | 설명 |
| 프로젝트의 릴리스 목록 조회 |
| UUID로 릴리스 조회 |
| 릴리스 생성( |
원본 대비 수정 사항
get_stacktrace가 실제로 동작합니다. Bugsink의 스택트레이스 엔드포인트는 JSON이 아닌text/markdown을 반환합니다. 원래 패키지는 무조건res.json()을 호출해 호출할 때마다 항상Unexpected token '#', "# TypeError"... is not valid JSON오류가 발생했습니다. 이 서버는 해당 엔드포인트를 텍스트로 읽습니다.쓰기 지원: 이슈에 대한 resolve/mute/reopen/delete/comment와 팀·프로젝트·릴리스 생성/업데이트 — 모두 읽기 전용이었던 원본에는 없던 기능입니다.
제한된 타임아웃: 모든 요청에
AbortSignal.timeout(기본 15초)을 적용해 응답이 없는 업스트림이 MCP 처리를 무한정 지연시키지 못하게 합니다.안전한 재시도: 멱등성(id pom)인
GET요청은502/503/504또는 네트워크 실패 시 제한된 지수 백오프(backoff + jitter) 재시도를 수행합니다. 변경을 만드는 요청(POST/PATCH/DELETE)은 자동 재시도하지 않습니다. 응답이 유실된 쓰기를 다시 수행하면 부수 효과가 중복될 수 있기 때문입니다(예: 같은 댓글 두 번 생성).입력 검증: 모든 요청 프로미스에 Zod 검증(숫자 ID, UUID, enum)을 적용합니다. , 잘못된 입력은 API까지 가지 않고 명확한 메시지와 함께 로컬에서 거부됩니다.
출력에 비밀정보 없음: 오류는 HTTP 상태와 줄임(truncated)된 응답 본문을 보고하며, 로그나 예외에
Authorization헤더 값은 절대 포함되지 않습니다.
보안 고려 사항
이 서버는 로컬 stdio 프로세스입니다 — 네트워크 리스너를 열지 않습니다. 접근 제어는 MCP 클라이언트가 이미 제공하는 범위에
BUGSINK_TOKEN소지 여부로 이어 처리합니다.진단 출력은 모두
stderr로 전송하며stdout은 JSON-RPC 프로토콜 스트림 전용으로 남겨 둡니다.BUGSINK_URL은 반드시http:또는https:여야 합니다. 로컬 호스트가 아닌 대상에 일반 HTTP를 사용하는 경우 경고를 출력하며(토큰이 암호화 없이 전송될 수 있음을 알림) 내부 네트워크 지원을 위한 것은 차단하지 않습니다.다른 자격 증명과 동일하게
BUGSINK_TOKEN을 취급하세요: 버전 관리 밖에 유지하고, 누출되면 Bugsink에서 회전시키며, 귀하의 워크플로우가 허용하는 최소 권한 사용자 범위로 한정하세요.
개발
npm install # installs deps and runs the TypeScript build (prepare script)
npm run typecheck
npm run build # compile src/ -> dist/
npm run dev # watch mode라이선스
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceMCP server providing full coverage of the Huly SDK — issues, projects, workspaces, members, and account management.901MIT
- FlicenseNot gradedqualityBmaintenanceHosted, OAuth-secured MCP server that drives the Sierra Interactive real-estate admin backend, enabling reads, guarded writes, and identity-locked deletes over HTTP without a browser.
- AlicenseNot gradedqualityBmaintenanceHosted MCP server that exposes your self-hosted Bugsink error tracker as tools for LLMs, enabling issue management, release tracking, and stacktrace retrieval via chat prompts.877MIT
- FlicenseAqualityBmaintenanceA lightweight MCP server for tracking bugs and tasks across coding sessions, providing persistent SQLite-backed storage and six tools for logging, inspecting, updating, resolving, and deleting bugs.61
Related MCP Connectors
MCP server for InsForge BaaS — database, storage, edge functions, and deployments
A MCP server built for developers enabling Git based project management with project and personal…
MCP server for interacting with the Supabase platform
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/fers4t/bugsink-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server