remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Integrations
Allows interaction with Asana API to manage tasks, projects, workspaces, and comments. Features include listing workspaces, searching projects and tasks, creating and updating tasks, managing subtasks, adding dependencies, creating project statuses, and more.
Asana용 MCP 서버
Asana의 이 모델 컨텍스트 프로토콜 서버 구현을 통해 Anthropic의 Claude Desktop Application과 같은 MCP 클라이언트에서 Asana API와 통신할 수 있습니다.
MCP에 대한 자세한 내용은 여기에서 확인하세요.
- https://www.anthropic.com/news/model-context-protocol
- https://modelcontextprotocol.io/introduction
- https://github.com/modelcontextprotocol
용법
원하시는 AI 도구(예: Claude Desktop)에서 아사나 관련 작업, 프로젝트, 작업 공간 및/또는 댓글에 대해 질문해 보세요. "아사나"라는 단어를 언급하면 LLM 담당자가 적합한 도구를 선택할 가능성이 높아집니다.
예:
스프린트 30 프로젝트에서 완료되지 않은 아사나 작업이 몇 개나 있나요?
또 다른 예:
도구
asana_list_workspaces
- Asana에서 사용 가능한 모든 작업 공간 나열
- 선택 입력:
- opt_fields(문자열): 포함할 선택적 필드의 쉼표로 구분된 목록
- 반환: 작업 공간 목록
asana_search_projects
- 이름 패턴 매칭을 사용하여 Asana에서 프로젝트 검색
- 필수 입력:
- 작업 공간(문자열): 검색할 작업 공간
- name_pattern(문자열): 프로젝트 이름과 일치하는 정규 표현식 패턴
- 선택 입력:
- 보관됨(부울): 보관된 프로젝트만 반환합니다(기본값: false)
- opt_fields(문자열): 포함할 선택적 필드의 쉼표로 구분된 목록
- 반환: 일치하는 프로젝트 목록
asana_search_tasks
- 고급 필터링 옵션을 사용하여 작업 공간에서 작업 검색
- 필수 입력:
- 작업 공간(문자열): 검색할 작업 공간
- 선택 입력:
- text(문자열): 작업 이름과 설명에서 검색할 텍스트
- resource_subtype(문자열): 작업 하위 유형(예: 마일스톤)으로 필터링
- 완료(부울): 완료된 작업에 대한 필터링
- is_subtask(부울): 하위 작업에 대한 필터
- has_attachment(부울): 첨부 파일이 있는 작업을 필터링합니다.
- is_blocked(부울): 종속성이 완료되지 않은 작업을 필터링합니다.
- is_blocking(부울): 종속 항목이 있는 완료되지 않은 작업을 필터링합니다.
- 담당자, 프로젝트, 섹션, 태그, 팀 및 기타 여러 고급 필터
- sort_by(문자열): due_date, created_at, finished_at, likes, modified_at(기본값: modified_at) 순으로 정렬
- sort_ascending(boolean): 오름차순으로 정렬합니다(기본값: false)
- opt_fields(문자열): 포함할 선택적 필드의 쉼표로 구분된 목록
- custom_fields(객체): 사용자 정의 필드 필터를 포함하는 객체
- 반환: 일치하는 작업 목록
asana_get_task
- 특정 작업에 대한 자세한 정보를 얻으세요
- 필수 입력:
- task_id(문자열): 검색할 작업 ID
- 선택 입력:
- opt_fields(문자열): 포함할 선택적 필드의 쉼표로 구분된 목록
- 반환: 자세한 작업 정보
asana_create_task
- 프로젝트에서 새 작업 만들기
- 필수 입력:
- project_id(문자열): 작업을 생성할 프로젝트
- name(문자열): 작업의 이름
- 선택 입력:
- notes(문자열): 작업에 대한 설명
- html_notes(문자열): 작업에 대한 HTML 형식의 설명
- due_on(문자열): YYYY-MM-DD 형식의 마감일
- 담당자(문자열): 담당자(나 또는 사용자 ID일 수 있음)
- 팔로워(문자열 배열): 팔로워로 추가할 사용자 ID 배열
- parent(문자열): 이 작업을 설정할 부모 작업 ID
- 프로젝트(문자열 배열): 이 작업을 추가할 프로젝트 ID 배열
- resource_subtype(문자열): 작업 유형(기본 작업 또는 마일스톤)
- custom_fields(객체): 사용자 정의 필드 GID 문자열을 해당 값에 매핑하는 객체
- 반환: 생성된 작업 정보
asana_get_task_stories
- 특정 작업에 대한 의견과 스토리를 받으세요
- 필수 입력:
- task_id(문자열): 스토리를 가져올 작업 ID
- 선택 입력:
- opt_fields(문자열): 포함할 선택적 필드의 쉼표로 구분된 목록
- 반환: 작업 스토리/코멘트 목록
asana_update_task
- 기존 작업 세부 정보 업데이트
- 필수 입력:
- task_id(문자열): 업데이트할 작업 ID
- 선택 입력:
- name(문자열): 작업의 새 이름
- notes(문자열): 작업에 대한 새로운 설명
- due_on(문자열): YYYY-MM-DD 형식의 새로운 마감일
- 담당자(문자열): 새로운 담당자(나 또는 사용자 ID일 수 있음)
- 완료(부울): 작업을 완료로 표시하거나 표시하지 않음
- resource_subtype(문자열): 작업 유형(기본 작업 또는 마일스톤)
- custom_fields(객체): 사용자 정의 필드 GID 문자열을 해당 값에 매핑하는 객체
- 반환: 업데이트된 작업 정보
asana_get_project
- 특정 프로젝트에 대한 자세한 정보를 얻으세요
- 필수 입력:
- project_id(문자열): 검색할 프로젝트 ID
- 선택 입력:
- opt_fields(문자열): 포함할 선택적 필드의 쉼표로 구분된 목록
- 반환: 자세한 프로젝트 정보
asana_get_project_task_counts
- 프로젝트의 작업 수를 가져옵니다
- 필수 입력:
- project_id(문자열): 작업 수를 가져올 프로젝트 ID
- 선택 입력:
- opt_fields(문자열): 포함할 선택적 필드의 쉼표로 구분된 목록
- 반환: 작업 개수 정보
asana_get_project_sections
- 프로젝트의 섹션 가져오기
- 필수 입력:
- project_id(문자열): 섹션을 가져올 프로젝트 ID
- 선택 입력:
- opt_fields(문자열): 포함할 선택적 필드의 쉼표로 구분된 목록
- 반환: 프로젝트 섹션 목록
asana_create_task_story
- 작업에 대한 댓글이나 스토리를 작성하세요
- 필수 입력:
- task_id(문자열): 스토리를 추가할 작업 ID
- text(문자열): 스토리/댓글의 텍스트 내용
- 선택 입력:
- opt_fields(문자열): 포함할 선택적 필드의 쉼표로 구분된 목록
- 반환: 생성된 스토리 정보
asana_add_task_dependencies
- 작업에 대한 종속성 설정
- 필수 입력:
- task_id(문자열): 종속성을 추가할 작업 ID
- 종속성(문자열 배열): 이 작업이 종속된 작업 ID 배열
- 반환: 업데이트된 작업 종속성
asana_add_task_dependents
- 작업에 대한 종속 항목 설정(이 작업에 종속된 작업)
- 필수 입력:
- task_id(문자열): 종속 항목을 추가할 작업 ID
- 종속 항목(문자열 배열): 이 작업에 종속된 작업 ID 배열
- 반환: 업데이트된 작업 종속성
asana_create_subtask
- 기존 작업에 대한 새 하위 작업 만들기
- 필수 입력:
- parent_task_id(문자열): 하위 작업을 생성할 상위 작업 ID
- name(문자열): 하위 작업의 이름
- 선택 입력:
- notes(문자열): 하위 작업에 대한 설명
- due_on(문자열): YYYY-MM-DD 형식의 마감일
- 담당자(문자열): 담당자(나 또는 사용자 ID일 수 있음)
- opt_fields(문자열): 포함할 선택적 필드의 쉼표로 구분된 목록
- 반환: 하위 작업 정보가 생성되었습니다.
asana_get_multiple_tasks_by_gid
- GID를 통해 여러 작업에 대한 자세한 정보를 얻으세요(최대 25개 작업)
- 필수 입력:
- task_ids(문자열 배열 또는 쉼표로 구분된 문자열): 검색할 작업 GID(최대 25개)
- 선택 입력:
- opt_fields(문자열): 포함할 선택적 필드의 쉼표로 구분된 목록
- 반환: 자세한 작업 정보 목록
asana_get_project_status
- 프로젝트 상태 업데이트 받기
- 필수 입력:
- project_status_gid(문자열): 검색할 프로젝트 상태 GID
- 선택 입력:
- opt_fields(문자열): 포함할 선택적 필드의 쉼표로 구분된 목록
- 반환: 프로젝트 상태 정보
asana_get_project_statuses
- 프로젝트의 모든 상태 업데이트 받기
- 필수 입력:
- project_gid(문자열): 상태를 가져올 프로젝트 GID
- 선택 입력:
- limit (숫자): 페이지당 결과(1-100)
- offset(문자열): 페이지 번호 오프셋 토큰
- opt_fields(문자열): 포함할 선택적 필드의 쉼표로 구분된 목록
- 반환: 프로젝트 상태 업데이트 목록
asana_create_project_status
- 프로젝트에 대한 새로운 상태 업데이트를 만듭니다.
- 필수 입력:
- project_gid(문자열): 상태를 생성할 프로젝트 GID
- text(문자열): 상태 업데이트의 텍스트 내용
- 선택 입력:
- color(문자열): 상태의 색상(녹색, 노란색, 빨간색)
- title(문자열): 상태 업데이트의 제목
- html_text(문자열): 상태 업데이트를 위한 HTML 형식 텍스트
- opt_fields(문자열): 포함할 선택적 필드의 쉼표로 구분된 목록
- 반환: 생성된 프로젝트 상태 정보
asana_delete_project_status
- 프로젝트 상태 업데이트 삭제
- 필수 입력:
- project_status_gid(문자열): 삭제할 프로젝트 상태 GID
- 반환: 삭제 확인
asana_set_parent_for_task
- 작업의 상위 항목을 설정하고 해당 상위 항목의 다른 하위 항목 내에 하위 작업을 배치합니다.
- 필수 입력:
- task_id(문자열): 작업할 작업 ID
- 데이터(객체):
- parent(문자열): 작업의 새 부모 또는 부모가 없는 경우 null
- 선택 입력:
- insert_after(문자열): 작업을 삽입할 부모의 하위 작업 또는 목록의 시작 부분에 삽입할 경우 null
- insert_before(문자열): 작업을 삽입할 부모의 하위 작업 또는 목록 끝에 삽입할 경우 null
- opt_fields(문자열): 포함할 선택적 필드의 쉼표로 구분된 목록
- 반환: 업데이트된 작업 정보
asana_get_tasks_for_tag
- 특정 태그에 대한 작업 가져오기
- 필수 입력:
- tag_gid(문자열): 작업을 검색할 태그 GID
- 선택 입력:
- opt_fields(문자열): 포함할 선택적 필드의 쉼표로 구분된 목록
- opt_pretty(부울): '예쁜' 형식으로 응답을 제공합니다.
- limit(정수): 페이지당 반환할 개체 수입니다. 값은 1에서 100 사이여야 합니다.
- offset(문자열): API에서 반환된 다음 페이지에 대한 오프셋입니다.
- 반환: 지정된 태그에 대한 작업 목록
asana_get_tags_for_workspace
- 작업 공간에서 태그 가져오기
- 필수 입력:
- workspace_gid(문자열): 작업 공간 또는 조직의 전역 고유 식별자
- 선택 입력:
- limit(정수): 페이지당 결과 수. 페이지당 반환할 객체 수. 값은 1에서 100 사이여야 합니다.
- offset(문자열): 오프셋 토큰. API에서 반환된 다음 페이지까지의 오프셋입니다.
- opt_fields(문자열): 포함할 선택적 필드의 쉼표로 구분된 목록
- 반환: 작업 공간의 태그 목록
프롬프트
task-summary
- 메모, 사용자 정의 필드 및 주석을 기반으로 작업에 대한 요약 및 상태 업데이트를 받으세요.
- 필수 입력:
- task_id(문자열): 요약을 가져올 작업 ID
- 반환: 작업 요약 생성을 위한 지침이 포함된 자세한 프롬프트
task-completeness
- 작업 설명에 완료에 필요한 모든 세부 정보가 포함되어 있는지 분석합니다.
- 필수 입력:
- task_id(문자열): 분석할 작업 ID 또는 URL
- 반환: 작업 완료 분석을 위한 지침이 포함된 자세한 프롬프트
create-task
- 지정된 세부 정보로 새 작업 만들기
- 필수 입력:
- project_name(문자열): 작업이 생성되어야 하는 Asana 프로젝트의 이름
- title(문자열): 작업의 제목
- 선택 입력:
- notes(문자열): 작업에 대한 메모 또는 설명
- due_date(문자열): 작업 마감일(YYYY-MM-DD 형식)
- 반환: 포괄적인 작업을 만드는 데 대한 지침이 포함된 자세한 프롬프트
자원
- 작업 공간 -
asana://workspace/{workspace_gid}
- Asana 작업 공간을 리소스로 표현
- 각 작업 공간은 별도의 리소스로 노출됩니다.
- URI 형식:
asana://workspace/{workspace_gid}
- 반환: 작업 공간 세부 정보가 포함된 JSON 객체:
name
: 작업 공간 이름(문자열)id
: 작업 공간 글로벌 ID(문자열)type
: 리소스 유형(문자열)is_organization
: 작업 공간이 조직인지 여부(부울)email_domains
: 작업 공간과 연결된 이메일 도메인 목록(string[])
- MIME 유형:
application/json
- 프로젝트 -
asana://project/{project_gid}
- GID로 프로젝트 세부 정보를 검색하기 위한 템플릿 리소스
- URI 형식:
asana://project/{project_gid}
- 반환: 프로젝트 세부 정보가 포함된 JSON 객체:
name
: 프로젝트 이름(문자열)id
: 프로젝트 글로벌 ID(문자열)type
: 리소스 유형(문자열)archived
: 프로젝트가 보관되었는지 여부(부울)public
: 프로젝트가 공개인지 여부(부울)notes
: 프로젝트 설명/노트(문자열)color
: 프로젝트 색상(문자열)default_view
: 기본 뷰 유형(문자열)due_date
,due_on
,start_on
: 프로젝트 날짜 정보(문자열)workspace
: 작업공간 정보를 담고 있는 객체team
: 팀 정보를 담고 있는 객체sections
: 프로젝트의 섹션 객체 배열custom_fields
: 프로젝트에 대한 사용자 정의 필드 정의 배열
- MIME 유형:
application/json
설정
- Asana 계정 만들기 :
- 아사나를 방문하세요.
- "가입"을 클릭하세요.
- Asana 액세스 토큰 검색 :
- Asana 개발자 콘솔에서 개인 액세스 토큰을 생성할 수 있습니다.
- 자세한 내용은 여기에서 확인하세요: https://developers.asana.com/docs/personal-access-token
- Claude Desktop 구성 :
claude_desktop_config.json
에 다음을 추가합니다.지엑스피1
베타 버전(아직 출시되지 않음)을 설치하려면 다음을 사용할 수 있습니다.
@roychri/mcp-server-asana@beta
현재 베타 릴리스가 있는 경우 다음 중 하나에서 찾을 수 있습니다.
- https://www.npmjs.com/package/@roychri/mcp-server-asana?activeTab=versions
npm dist-tag ls @roychri/mcp-server-asana
문제 해결
권한 오류가 발생하는 경우:
- 귀하가 보유한 Asana 플랜이 API 액세스를 허용하는지 확인하세요.
claude_desktop_config.json
에 액세스 토큰과 구성이 올바르게 설정되었는지 확인하세요.
기여하다
이 저장소를 복제하고 해킹을 시작하세요.
MCP 검사기를 사용하여 로컬로 테스트하세요
변경 사항을 테스트하려면 다음과 같이 MCP 검사기를 사용할 수 있습니다.
이렇게 하면 클라이언트는 포트 5173
에 노출되고 서버는 포트 3000
에 노출됩니다.
해당 포트가 이미 다른 곳에서 사용되고 있는 경우 다음을 사용할 수 있습니다.
특허
이 MCP 서버는 MIT 라이선스에 따라 라이선스가 부여됩니다. 즉, MIT 라이선스의 조건에 따라 소프트웨어를 자유롭게 사용, 수정 및 배포할 수 있습니다. 자세한 내용은 프로젝트 저장소의 LICENSE 파일을 참조하세요.
You must be authenticated.
Tools
Anthropic의 Claude Desktop Application과 같은 MCP 클라이언트에서 Asana 작업을 수행합니다.