Skip to main content
Glama

Asana용 MCP 서버

npm 버전

Asana의 이 모델 컨텍스트 프로토콜 서버 구현을 통해 Anthropic의 Claude Desktop Application과 같은 MCP 클라이언트에서 Asana API와 통신할 수 있습니다.

MCP에 대한 자세한 내용은 여기에서 확인하세요.

용법

원하시는 AI 도구(예: Claude Desktop)에서 아사나 관련 작업, 프로젝트, 작업 공간 및/또는 댓글에 대해 질문해 보세요. "아사나"라는 단어를 언급하면 LLM 담당자가 적합한 도구를 선택할 가능성이 높아집니다.

예:

스프린트 30 프로젝트에서 완료되지 않은 아사나 작업이 몇 개나 있나요?

또 다른 예:

클로드 데스크톱 예제

Related MCP server: A2A MCP Server

도구

  1. asana_list_workspaces

    • Asana에서 사용 가능한 모든 작업 공간 나열

    • 선택 입력:

      • opt_fields(문자열): 포함할 선택적 필드의 쉼표로 구분된 목록

    • 반환: 작업 공간 목록

  2. asana_search_projects

    • 이름 패턴 매칭을 사용하여 Asana에서 프로젝트 검색

    • 필수 입력:

      • 작업 공간(문자열): 검색할 작업 공간

      • name_pattern(문자열): 프로젝트 이름과 일치하는 정규 표현식 패턴

    • 선택 입력:

      • 보관됨(부울): 보관된 프로젝트만 반환합니다(기본값: false)

      • opt_fields(문자열): 포함할 선택적 필드의 쉼표로 구분된 목록

    • 반환: 일치하는 프로젝트 목록

  3. 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(객체): 사용자 정의 필드 필터를 포함하는 객체

    • 반환: 일치하는 작업 목록

  4. asana_get_task

    • 특정 작업에 대한 자세한 정보를 얻으세요

    • 필수 입력:

      • task_id(문자열): 검색할 작업 ID

    • 선택 입력:

      • opt_fields(문자열): 포함할 선택적 필드의 쉼표로 구분된 목록

    • 반환: 자세한 작업 정보

  5. 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 문자열을 해당 값에 매핑하는 객체

    • 반환: 생성된 작업 정보

  6. asana_get_task_stories

    • 특정 작업에 대한 의견과 스토리를 받으세요

    • 필수 입력:

      • task_id(문자열): 스토리를 가져올 작업 ID

    • 선택 입력:

      • opt_fields(문자열): 포함할 선택적 필드의 쉼표로 구분된 목록

    • 반환: 작업 스토리/코멘트 목록

  7. asana_update_task

    • 기존 작업 세부 정보 업데이트

    • 필수 입력:

      • task_id(문자열): 업데이트할 작업 ID

    • 선택 입력:

      • name(문자열): 작업의 새 이름

      • notes(문자열): 작업에 대한 새로운 설명

      • due_on(문자열): YYYY-MM-DD 형식의 새로운 마감일

      • 담당자(문자열): 새로운 담당자(나 또는 사용자 ID일 수 있음)

      • 완료(부울): 작업을 완료로 표시하거나 표시하지 않음

      • resource_subtype(문자열): 작업 유형(기본 작업 또는 마일스톤)

      • custom_fields(객체): 사용자 정의 필드 GID 문자열을 해당 값에 매핑하는 객체

    • 반환: 업데이트된 작업 정보

  8. asana_get_project

    • 특정 프로젝트에 대한 자세한 정보를 얻으세요

    • 필수 입력:

      • project_id(문자열): 검색할 프로젝트 ID

    • 선택 입력:

      • opt_fields(문자열): 포함할 선택적 필드의 쉼표로 구분된 목록

    • 반환: 자세한 프로젝트 정보

  9. asana_get_project_task_counts

    • 프로젝트의 작업 수를 가져옵니다

    • 필수 입력:

      • project_id(문자열): 작업 수를 가져올 프로젝트 ID

    • 선택 입력:

      • opt_fields(문자열): 포함할 선택적 필드의 쉼표로 구분된 목록

    • 반환: 작업 개수 정보

  10. asana_get_project_sections

  • 프로젝트의 섹션 가져오기

  • 필수 입력:

    • project_id(문자열): 섹션을 가져올 프로젝트 ID

  • 선택 입력:

    • opt_fields(문자열): 포함할 선택적 필드의 쉼표로 구분된 목록

  • 반환: 프로젝트 섹션 목록

  1. asana_create_task_story

  • 작업에 대한 댓글이나 스토리를 작성하세요

  • 필수 입력:

    • task_id(문자열): 스토리를 추가할 작업 ID

    • text(문자열): 스토리/댓글의 텍스트 내용

  • 선택 입력:

    • opt_fields(문자열): 포함할 선택적 필드의 쉼표로 구분된 목록

  • 반환: 생성된 스토리 정보

  1. asana_add_task_dependencies

  • 작업에 대한 종속성 설정

  • 필수 입력:

    • task_id(문자열): 종속성을 추가할 작업 ID

    • 종속성(문자열 배열): 이 작업이 종속된 작업 ID 배열

  • 반환: 업데이트된 작업 종속성

  1. asana_add_task_dependents

  • 작업에 대한 종속 항목 설정(이 작업에 종속된 작업)

  • 필수 입력:

    • task_id(문자열): 종속 항목을 추가할 작업 ID

    • 종속 항목(문자열 배열): 이 작업에 종속된 작업 ID 배열

  • 반환: 업데이트된 작업 종속성

  1. asana_create_subtask

  • 기존 작업에 대한 새 하위 작업 만들기

  • 필수 입력:

    • parent_task_id(문자열): 하위 작업을 생성할 상위 작업 ID

    • name(문자열): 하위 작업의 이름

  • 선택 입력:

    • notes(문자열): 하위 작업에 대한 설명

    • due_on(문자열): YYYY-MM-DD 형식의 마감일

    • 담당자(문자열): 담당자(나 또는 사용자 ID일 수 있음)

    • opt_fields(문자열): 포함할 선택적 필드의 쉼표로 구분된 목록

  • 반환: 하위 작업 정보가 생성되었습니다.

  1. asana_get_multiple_tasks_by_gid

  • GID를 통해 여러 작업에 대한 자세한 정보를 얻으세요(최대 25개 작업)

  • 필수 입력:

    • task_ids(문자열 배열 또는 쉼표로 구분된 문자열): 검색할 작업 GID(최대 25개)

  • 선택 입력:

    • opt_fields(문자열): 포함할 선택적 필드의 쉼표로 구분된 목록

  • 반환: 자세한 작업 정보 목록

  1. asana_get_project_status

  • 프로젝트 상태 업데이트 받기

  • 필수 입력:

    • project_status_gid(문자열): 검색할 프로젝트 상태 GID

  • 선택 입력:

    • opt_fields(문자열): 포함할 선택적 필드의 쉼표로 구분된 목록

  • 반환: 프로젝트 상태 정보

  1. asana_get_project_statuses

  • 프로젝트의 모든 상태 업데이트 받기

  • 필수 입력:

    • project_gid(문자열): 상태를 가져올 프로젝트 GID

  • 선택 입력:

    • limit (숫자): 페이지당 결과(1-100)

    • offset(문자열): 페이지 번호 오프셋 토큰

    • opt_fields(문자열): 포함할 선택적 필드의 쉼표로 구분된 목록

  • 반환: 프로젝트 상태 업데이트 목록

  1. asana_create_project_status

  • 프로젝트에 대한 새로운 상태 업데이트를 만듭니다.

  • 필수 입력:

    • project_gid(문자열): 상태를 생성할 프로젝트 GID

    • text(문자열): 상태 업데이트의 텍스트 내용

  • 선택 입력:

    • color(문자열): 상태의 색상(녹색, 노란색, 빨간색)

    • title(문자열): 상태 업데이트의 제목

    • html_text(문자열): 상태 업데이트를 위한 HTML 형식 텍스트

    • opt_fields(문자열): 포함할 선택적 필드의 쉼표로 구분된 목록

  • 반환: 생성된 프로젝트 상태 정보

  1. asana_delete_project_status

  • 프로젝트 상태 업데이트 삭제

  • 필수 입력:

    • project_status_gid(문자열): 삭제할 프로젝트 상태 GID

  • 반환: 삭제 확인

  1. asana_set_parent_for_task

  • 작업의 상위 항목을 설정하고 해당 상위 항목의 다른 하위 항목 내에 하위 작업을 배치합니다.

  • 필수 입력:

    • task_id(문자열): 작업할 작업 ID

    • 데이터(객체):

      • parent(문자열): 작업의 새 부모 또는 부모가 없는 경우 null

  • 선택 입력:

    • insert_after(문자열): 작업을 삽입할 부모의 하위 작업 또는 목록의 시작 부분에 삽입할 경우 null

    • insert_before(문자열): 작업을 삽입할 부모의 하위 작업 또는 목록 끝에 삽입할 경우 null

    • opt_fields(문자열): 포함할 선택적 필드의 쉼표로 구분된 목록

  • 반환: 업데이트된 작업 정보

  1. asana_get_tasks_for_tag

  • 특정 태그에 대한 작업 가져오기

  • 필수 입력:

    • tag_gid(문자열): 작업을 검색할 태그 GID

  • 선택 입력:

    • opt_fields(문자열): 포함할 선택적 필드의 쉼표로 구분된 목록

    • opt_pretty(부울): '예쁜' 형식으로 응답을 제공합니다.

    • limit(정수): 페이지당 반환할 개체 수입니다. 값은 1에서 100 사이여야 합니다.

    • offset(문자열): API에서 반환된 다음 페이지에 대한 오프셋입니다.

  • 반환: 지정된 태그에 대한 작업 목록

  1. asana_get_tags_for_workspace

  • 작업 공간에서 태그 가져오기

  • 필수 입력:

    • workspace_gid(문자열): 작업 공간 또는 조직의 전역 고유 식별자

  • 선택 입력:

    • limit(정수): 페이지당 결과 수. 페이지당 반환할 객체 수. 값은 1에서 100 사이여야 합니다.

    • offset(문자열): 오프셋 토큰. API에서 반환된 다음 페이지까지의 오프셋입니다.

    • opt_fields(문자열): 포함할 선택적 필드의 쉼표로 구분된 목록

  • 반환: 작업 공간의 태그 목록

프롬프트

  1. task-summary

    • 메모, 사용자 정의 필드 및 주석을 기반으로 작업에 대한 요약 및 상태 업데이트를 받으세요.

    • 필수 입력:

      • task_id(문자열): 요약을 가져올 작업 ID

    • 반환: 작업 요약 생성을 위한 지침이 포함된 자세한 프롬프트

  2. task-completeness

    • 작업 설명에 완료에 필요한 모든 세부 정보가 포함되어 있는지 분석합니다.

    • 필수 입력:

      • task_id(문자열): 분석할 작업 ID 또는 URL

    • 반환: 작업 완료 분석을 위한 지침이 포함된 자세한 프롬프트

  3. create-task

    • 지정된 세부 정보로 새 작업 만들기

    • 필수 입력:

      • project_name(문자열): 작업이 생성되어야 하는 Asana 프로젝트의 이름

      • title(문자열): 작업의 제목

    • 선택 입력:

      • notes(문자열): 작업에 대한 메모 또는 설명

      • due_date(문자열): 작업 마감일(YYYY-MM-DD 형식)

    • 반환: 포괄적인 작업을 만드는 데 대한 지침이 포함된 자세한 프롬프트

자원

  1. 작업 공간 - asana://workspace/{workspace_gid}

    • Asana 작업 공간을 리소스로 표현

    • 각 작업 공간은 별도의 리소스로 노출됩니다.

    • URI 형식: asana://workspace/{workspace_gid}

    • 반환: 작업 공간 세부 정보가 포함된 JSON 객체:

      • name : 작업 공간 이름(문자열)

      • id : 작업 공간 글로벌 ID(문자열)

      • type : 리소스 유형(문자열)

      • is_organization : 작업 공간이 조직인지 여부(부울)

      • email_domains : 작업 공간과 연결된 이메일 도메인 목록(string[])

    • MIME 유형: application/json

  2. 프로젝트 - 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

설정

  1. Asana 계정 만들기 :

  2. Asana 액세스 토큰 검색 :

  3. Claude Desktop 구성 : claude_desktop_config.json 에 다음을 추가합니다.

    지엑스피1

베타 버전(아직 출시되지 않음)을 설치하려면 다음을 사용할 수 있습니다.

  • @roychri/mcp-server-asana@beta

현재 베타 릴리스가 있는 경우 다음 중 하나에서 찾을 수 있습니다.

  1. https://www.npmjs.com/package/@roychri/mcp-server-asana?activeTab=versions

  2. npm dist-tag ls @roychri/mcp-server-asana

문제 해결

권한 오류가 발생하는 경우:

  1. 귀하가 보유한 Asana 플랜이 API 액세스를 허용하는지 확인하세요.

  2. claude_desktop_config.json 에 액세스 토큰과 구성이 올바르게 설정되었는지 확인하세요.

기여하다

이 저장소를 복제하고 해킹을 시작하세요.

MCP 검사기를 사용하여 로컬로 테스트하세요

변경 사항을 테스트하려면 다음과 같이 MCP 검사기를 사용할 수 있습니다.

npm run inspector

이렇게 하면 클라이언트는 포트 5173 에 노출되고 서버는 포트 3000 에 노출됩니다.

해당 포트가 이미 다른 곳에서 사용되고 있는 경우 다음을 사용할 수 있습니다.

CLIENT_PORT=5009 SERVER_PORT=3009 npm run inspector

특허

이 MCP 서버는 MIT 라이선스에 따라 라이선스가 부여됩니다. 즉, MIT 라이선스의 조건에 따라 소프트웨어를 자유롭게 사용, 수정 및 배포할 수 있습니다. 자세한 내용은 프로젝트 저장소의 LICENSE 파일을 참조하세요.

Latest Blog Posts

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/roychri/mcp-server-asana'

If you have feedback or need assistance with the MCP directory API, please join our Discord server