Provides comprehensive file and image management capabilities including listing task files, retrieving file metadata, downloading file content in base64 encoding, and direct file access through Content IDs via Drive API.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Dooray MCP Servershow me all tasks assigned to me that are overdue"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Dooray MCP Server
Dooray API를 Claude Code와 연동하기 위한 MCP (Model Context Protocol) 서버입니다.
기능
이 MCP 서버는 Dooray의 주요 기능을 6개의 통합 도구로 제공합니다:
dooray_tasks - 업무 관리 (목록 조회, 상세 조회, 생성, 수정, 삭제, 상태 변경, 담당자 지정)
dooray_comments - 댓글 관리 (목록 조회, 생성, 수정, 삭제, 멘션 지원)
dooray_tags - 태그 관리 (목록 조회, 생성, 업무에 태그 추가/제거)
dooray_search - 검색 기능 (업무 검색, 담당자별/상태별/태그별/기간별 검색)
dooray_members - 사용자 관리 (이메일/ID 검색, 사용자 정보 조회, 프로젝트 멤버 목록)
dooray_files - 파일 및 이미지 관리 (업무 파일 목록, 파일 메타데이터, 파일 콘텐츠 다운로드, Content ID로 직접 접근)
Related MCP server: Dida365 (TickTick) MCP Server
빠른 설치
GitHub에서 자동 설치
# 1. 저장소 클론
git clone https://github.com/tallpizza/dooray-mcp.git
cd dooray-mcp
# 2. 자동 설치 스크립트 실행
./install.sh
# 3. 환경 변수 설정 (.env 파일 수정)
# DOORAY_API_TOKEN과 DOORAY_DEFAULT_PROJECT_ID를 실제 값으로 변경
# 4. Claude Code에 추가
claude mcp add-json dooray "$(cat .mcp.json | jq -c .dooray)"상세 설치 및 설정
1. GitHub에서 설치
# GitHub에서 프로젝트 클론
git clone https://github.com/tallpizza/dooray-mcp.git
cd dooray-mcp
# 종속성 설치
uv sync2. 환경 변수 설정
.env 파일을 생성하고 다음 내용을 설정합니다:
# .env.example을 복사
cp .env.example .env
# .env 파일 내용
DOORAY_API_TOKEN=your-actual-dooray-api-token
DOORAY_BASE_URL=https://api.dooray.com
DOORAY_DEFAULT_PROJECT_ID=your-default-project-id
LOG_LEVEL=INFO3. Claude Code MCP 서버 추가
방법 1: JSON으로 추가 (권장)
# 환경 변수를 포함한 완전한 설정
claude mcp add-json dooray '{
"type": "stdio",
"command": "uv",
"args": ["run", "python", "-m", "dooray_mcp.server"],
"env": {
"DOORAY_API_TOKEN": "your-actual-dooray-api-token",
"DOORAY_BASE_URL": "https://api.dooray.com",
"DOORAY_DEFAULT_PROJECT_ID": "your-default-project-id"
}
}'방법 2: 설정 파일 사용
# .mcp.json 설정 파일 준비
cp .mcp.json.example .mcp.json
# 환경 변수를 실제 값으로 수정
# Claude Code에서 사용
claude --mcp-config .mcp.json4. 연결 확인
# MCP 서버 목록 확인
claude mcp list
# Dooray 서버가 ✓ Connected로 표시되는지 확인5. 도구 테스트
# 업무 목록 조회 테스트
claude --print "dooray_tasks를 사용해서 업무 목록을 조회해주세요."
# 댓글 생성 테스트
claude --print "dooray_comments를 사용해서 댓글을 생성해주세요."사용법
도구별 사용 예제
1. dooray_tasks (업무 관리)
// 업무 목록 조회
{
"action": "list",
"projectId": "project-123" // 선택사항 (환경 변수 사용 가능)
}
// 업무 생성
{
"action": "create",
"projectId": "project-123",
"title": "새 업무",
"description": "업무 설명",
"priority": "normal"
}2. dooray_comments (댓글 관리)
// 댓글 생성 (멘션 포함)
{
"action": "create",
"taskId": "task-456",
"content": "댓글 내용",
"mentions": ["user1", "user2"] // 선택사항
}3. dooray_tags (태그 관리)
// 새 태그 생성
{
"action": "create",
"projectId": "project-123",
"tagName": "긴급",
"tagColor": "#FF0000" // # 포함 가능, 자동으로 제거됨
}
// 업무에 태그 추가
{
"action": "add_to_task",
"taskId": "task-456",
"tagName": "긴급"
}4. dooray_search (검색 기능)
// 업무 텍스트 검색
{
"searchType": "tasks",
"projectId": "project-123",
"query": "버그 수정"
}
// 상태별 검색
{
"searchType": "by_status",
"projectId": "project-123",
"status": "완료"
}5. dooray_members (사용자 관리)
// 이메일로 사용자 검색
{
"action": "search_by_email",
"email": "user@company.com"
}
// 프로젝트 멤버 목록
{
"action": "list_project_members",
"projectId": "project-123"
}6. dooray_files (파일 및 이미지 관리)
// 업무 파일 목록 조회
{
"action": "list_task_files",
"taskId": "task-456",
"projectId": "project-123" // 선택사항 (환경 변수 사용 가능)
}
// 업무 파일 메타데이터 조회
{
"action": "get_task_file_metadata",
"taskId": "task-456",
"fileId": "file-789",
"projectId": "project-123"
}
// 업무 파일 콘텐츠 다운로드 (base64 인코딩)
{
"action": "get_task_file_content",
"taskId": "task-456",
"fileId": "file-789",
"projectId": "project-123"
}
// Content ID로 직접 파일 메타데이터 조회 (Drive API)
{
"action": "get_drive_file_metadata",
"fileId": "content-id-xyz"
}
// Content ID로 직접 파일 콘텐츠 다운로드 (Drive API)
{
"action": "get_drive_file_content",
"fileId": "content-id-xyz"
}API 정보
Base URL:
https://api.dooray.com인증:
Authorization: dooray-api {TOKEN}업무 관리:
/project/v1/projects/{projectId}/posts댓글 관리:
/project/v1/projects/{projectId}/posts/{taskId}/logs태그 관리:
/project/v1/projects/{projectId}/tags사용자 관리:
/common/v1/members파일 관리:
/project/v1/projects/{projectId}/posts/{taskId}/filesDrive 파일:
/drive/v1/files/{fileId}
문제 해결
연결 문제
인증 오류:
DOORAY_API_TOKEN이 올바른지 확인프로젝트 ID 오류:
DOORAY_DEFAULT_PROJECT_ID가 존재하는 프로젝트인지 확인권한 오류: API 토큰이 해당 프로젝트에 대한 권한을 가지고 있는지 확인
MCP 연결 문제
서버 연결 실패:
claude mcp list에서 상태 확인도구 인식 실패: MCP 서버 재시작 또는 Claude Code 재시작
권한 문제:
--dangerously-skip-permissions플래그 사용 (개발 환경에서만)
개발 및 기여
이 프로젝트는 MIT 라이센스 하에 배포되며, 버그 리포트와 기능 요청을 환영합니다.
버전 정보
버전: 1.0.0
Python: 3.8+
MCP: 1.0.0+
HTTP 클라이언트: httpx 0.25.0+