Enreign/productboard-mcp
요약
Productboard API를 위한 MCP(Model Context Protocol) 서버입니다. Claude나 Cursor 같은 AI 어시스턴트가 Productboard의 기능, 제품, 노트, 목표 등을 직접 조회하고 관리할 수 있도록 지원합니다.
핵심 포인트
- MCP를 통해 AI 어시스턴트와 Productboard 워크스페이스 간 상호작용 지원
- 기능(feature), 제품(product), 목표(objective) 등 다양한 데이터 CRUD 도구 제공
- 별도의 빌드 없이 .mcpb 파일을 통한 간편한 설치 가능
- 통신 오류 방지를 위해 LOG_LEVEL을 error로 설정 권장
Productboard API를 위한 MCP (Model Context Protocol) 서버입니다. AI 어시스턴트 (Claude, Cursor 등)가 사용자의 Productboard 워크스페이스와 상호작용할 수 있도록 지원합니다.
| 도구 (Tool) | 설명 (Description) |
|---|---|
pb_feature_list | 필터링을 포함한 기능 (feature) 목록 조회 |
pb_feature_get | ID를 통한 기능 (feature) 조회 |
pb_feature_create | 새로운 기능 (feature) 생성 |
pb_feature_update | 기존 기능 (feature) 업데이트 |
pb_feature_delete | 기능 (feature) 삭제 |
pb_product_list | 제품 (product) 목록 조회 |
pb_product_create | 제품 (product) 생성 |
pb_product_hierarchy | 전체 제품 (product) 계층 구조 조회 |
pb_note_list | 고객 노트 (customer notes) 목록 조회 |
pb_note_create | 고객 노트 (customer note) 생성 |
pb_objective_list | 목표 (objectives) 목록 조회 |
pb_objective_create | 목표 (objective) 생성 |
pb_objective_update | 목표 (objective) 업데이트 |
pb_keyresult_list | 핵심 결과 (key results) 목록 조회 |
pb_keyresult_create | 핵심 결과 (key result) 생성 |
pb_keyresult_update | 핵심 결과 (key result) 업데이트 |
pb_release_list | 릴리스 (releases) 목록 조회 |
pb_release_create | 릴리스 (release) 생성 |
pb_release_update | 릴리스 (release) 업데이트 |
pb_release_status_update | 릴리스 상태 (release status) 업데이트 |
pb_release_timeline | 릴리스 타임라인 (release timeline) 조회 |
Releases 페이지에서 최신 .mcpb 파일을 다운로드하여 Claude Desktop (Developer → Extensions → Install)으로 드래그하거나, 호환되는 MCP 클라이언트에서 더블 클릭하세요.
이 번들은 독립형(self-contained)이므로 클로닝(cloning)이나 빌드(building)가 필요하지 않습니다.
설치 후, 확장 프로그램 설정에서 PRODUCTBOARD_API_TOKEN을 설정하세요.
# 1. 저장소 클론 (Clone the repo)
git clone https://github.com/Enreign/productboard-mcp.git
cd productboard-mcp
...
그 다음 claude_desktop_config.json에 추가하세요:
{
"mcpServers": {
"productboard": {
...
중요: LOG_LEVEL을 error로 설정하세요 (info가 아님). MCP는 통신을 위해 stdio를 사용합니다. stdout으로 출력되는 info 레벨의 로그는 프로토콜을 방해하여 서버가 잠기는(lock up) 원인이 됩니다.
⚠️ 출시 예정 — 아직 npm에 게시되지 않았습니다. 위의 옵션 1 또는 2를 사용하세요.
{
"mcpServers": {
"productboard": {
...
- Productboard 워크스페이스에 로그인합니다.
- Profile & Settings (프로필 및 설정) → API Access (API 액세스)로 이동합니다. Generate API key (API 키 생성)를 클릭하고 토큰을 복사합니다.
| 변수 (Variable) | 설명 (Description) |
|---|---|
PRODUCTBOARD_API_TOKEN | Productboard API 토큰 (Bearer 인증) |
| 변수 (Variable) | 기본값 (Default) | 설명 (Description) |
|---|---|---|
PRODUCTBOARD_AUTH_TYPE | bearer | 인증 유형 (Auth type): bearer 또는 oauth2 |
PRODUCTBOARD_API_BASE_URL | https://api.productboard.com/v2 | API 기본 URL (API base URL) |
PRODUCTBOARD_API_TIMEOUT | 10000 | API 요청 제한 시간 (ms) (API request timeout) |
API_RETRY_ATTEMPTS | 3 | 재시도 횟수 (Number of retry attempts) |
API_RETRY_DELAY | 1000 | 재시도 간 지연 시간 (ms) (Delay between retries) |
RATE_LIMIT_GLOBAL | 100 | 윈도우당 최대 요청 수 (Max requests per window) |
RATE_LIMIT_WINDOW_MS | 60000 | 속도 제한 윈도우 (ms) (Rate limit window) |
CACHE_ENABLED | false | 응답 캐싱 활성화 (Enable response caching) |
CACHE_TTL | 300 | 캐시 유지 시간 (seconds) (Cache TTL) |
LOG_LEVEL | info | 로그 수준 (Log level): trace, debug, info, warn, error, fatal |
MCP 클라이언트 참고 사항: Claude Desktop, Cursor 또는 기타 stdio 기반 MCP 클라이언트를 사용할 때는 항상 LOG_LEVEL=error로 설정하세요. 로그 수준이 높으면 stdout (표준 출력)에 기록되어 MCP 프로토콜이 깨질 수 있습니다.
| 변수 (Variable) | 설명 (Description) |
|---|---|
PRODUCTBOARD_OAUTH_CLIENT_ID | OAuth2 클라이언트 ID (OAuth2 client ID) |
PRODUCTBOARD_OAUTH_CLIENT_SECRET | OAuth2 클라이언트 비밀키 (OAuth2 client secret) |
PRODUCTBOARD_OAUTH_REDIRECT_URI | OAuth2 리다이렉트 URI (OAuth2 redirect URI) |
"MCP 서버가 멈추거나 에러 로그가 발생함"
→ MCP 설정의 env 블록에 "LOG_LEVEL": "error"를 추가하세요. stdout에 기록되는 info 로그는 stdio 전송 방식(stdio transport)을 방해합니다.
"npx 실패 / 패키지를 찾을 수 없음"
→ 해당 패키지는 아직 npm에 게시되지 않았습니다. 위에 설명된 .mcpb 번들 또는 로컬 설치를 사용하세요.
"로컬 빌드 후 명령어를 찾을 수 없음"
→ args가 productboard-mcp.js 래퍼(wrapper)가 아닌, dist/index.js의 전체 절대 경로를 가리키도록 설정하세요.
MIT
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Claude Ecosystem의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기