mcp-server-asana

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.

Servidor MCP para Asana

Esta implementación del servidor de Protocolo de Contexto de Modelo de Asana le permite comunicarse con la API de Asana desde un cliente MCP, como la aplicación de escritorio Claude de Anthropic, y muchos más.

Más detalles sobre MCP aquí:

Uso

En la herramienta de IA que prefieras (p. ej., Claude Desktop), pregunta sobre las tareas, proyectos, espacios de trabajo o comentarios de Asana. Mencionar la palabra "asana" aumentará las posibilidades de que el LLM elija la herramienta adecuada.

Ejemplo:

¿Cuántas tareas de asana sin terminar tenemos en nuestro proyecto Sprint 30?

Otro ejemplo:

Herramientas

  1. asana_list_workspaces
    • Enumera todos los espacios de trabajo disponibles en Asana
    • Entrada opcional:
      • opt_fields (cadena): lista separada por comas de campos opcionales para incluir
    • Devuelve: Lista de espacios de trabajo
  2. asana_search_projects
    • Buscar proyectos en Asana usando la coincidencia de patrones de nombres
    • Entrada requerida:
      • espacio de trabajo (cadena): el espacio de trabajo en el que buscar
      • name_pattern (cadena): Patrón de expresión regular para que coincida con los nombres de los proyectos
    • Entrada opcional:
      • archivado (booleano): solo devuelve proyectos archivados (valor predeterminado: falso)
      • opt_fields (cadena): lista separada por comas de campos opcionales para incluir
    • Devoluciones: Lista de proyectos coincidentes
  3. asana_search_tasks
    • Buscar tareas en un espacio de trabajo con opciones de filtrado avanzadas
    • Entrada requerida:
      • espacio de trabajo (cadena): el espacio de trabajo en el que buscar
    • Entrada opcional:
      • texto (cadena): Texto a buscar en los nombres y descripciones de las tareas
      • resource_subtype (cadena): Filtrar por subtipo de tarea (por ejemplo, hito)
      • completado (booleano): filtro para tareas completadas
      • is_subtask (booleano): Filtro para subtareas
      • has_attachment (booleano): Filtro para tareas con archivos adjuntos
      • is_blocked (booleano): Filtro para tareas con dependencias incompletas
      • is_blocking (booleano): Filtro para tareas incompletas con dependientes
      • cesionario, proyectos, secciones, etiquetas, equipos y muchos otros filtros avanzados
      • sort_by (cadena): Ordenar por fecha de vencimiento, creado_en, completado_en, me gusta, modificado_en (predeterminado: modificado_en)
      • sort_ascending (booleano): Ordenar en orden ascendente (predeterminado: falso)
      • opt_fields (cadena): lista separada por comas de campos opcionales para incluir
      • custom_fields (objeto): Objeto que contiene filtros de campos personalizados
    • Devoluciones: Lista de tareas coincidentes
  4. asana_get_task
    • Obtenga información detallada sobre una tarea específica
    • Entrada requerida:
      • task_id (cadena): El ID de la tarea a recuperar
    • Entrada opcional:
      • opt_fields (cadena): lista separada por comas de campos opcionales para incluir
    • Devoluciones: Información detallada de la tarea
  5. asana_create_task
    • Crear una nueva tarea en un proyecto
    • Entrada requerida:
      • project_id (cadena): El proyecto en el que se creará la tarea
      • nombre (cadena): Nombre de la tarea
    • Entrada opcional:
      • notas (cadena): Descripción de la tarea
      • html_notes (cadena): descripción de la tarea con formato similar a HTML
      • due_on (cadena): Fecha de vencimiento en formato AAAA-MM-DD
      • cesionario (cadena): cesionario (puede ser 'yo' o un ID de usuario)
      • seguidores (matriz de cadenas): Matriz de ID de usuarios para agregar como seguidores
      • padre (cadena): el ID de la tarea principal bajo la cual se establecerá esta tarea
      • proyectos (matriz de cadenas): Matriz de ID de proyectos a los que agregar esta tarea
      • resource_subtype (cadena): el tipo de tarea (tarea predeterminada o hito)
      • custom_fields (objeto): Objeto que asigna cadenas GID de campos personalizados a sus valores
    • Devuelve: Información de la tarea creada
  6. asana_get_task_stories
    • Obtener comentarios e historias para una tarea específica
    • Entrada requerida:
      • task_id (cadena): El ID de la tarea para la que se obtendrán historias
    • Entrada opcional:
      • opt_fields (cadena): lista separada por comas de campos opcionales para incluir
    • Devoluciones: Lista de historias/comentarios de tareas
  7. asana_update_task
    • Actualizar los detalles de una tarea existente
    • Entrada requerida:
      • task_id (cadena): El ID de la tarea a actualizar
    • Entrada opcional:
      • nombre (cadena): Nuevo nombre para la tarea
      • notas (cadena): Nueva descripción de la tarea
      • due_on (cadena): Nueva fecha de vencimiento en formato AAAA-MM-DD
      • cesionario (cadena): Nuevo cesionario (puede ser "yo" o un ID de usuario)
      • Completado (booleano): Marcar la tarea como completada o no
      • resource_subtype (cadena): el tipo de tarea (tarea predeterminada o hito)
      • custom_fields (objeto): Objeto que asigna cadenas GID de campos personalizados a sus valores
    • Devoluciones: Información de la tarea actualizada
  8. asana_get_project
    • Obtenga información detallada sobre un proyecto específico
    • Entrada requerida:
      • project_id (cadena): El ID del proyecto a recuperar
    • Entrada opcional:
      • opt_fields (cadena): lista separada por comas de campos opcionales para incluir
    • Devoluciones: Información detallada del proyecto
  9. asana_get_project_task_counts
    • Obtener el número de tareas en un proyecto
    • Entrada requerida:
      • project_id (cadena): El ID del proyecto para el que se obtendrán los recuentos de tareas
    • Entrada opcional:
      • opt_fields (cadena): lista separada por comas de campos opcionales para incluir
    • Devuelve: Información del recuento de tareas
  10. asana_get_project_sections
  • Obtener secciones en un proyecto
  • Entrada requerida:
    • project_id (cadena): El ID del proyecto para el que se obtendrán las secciones
  • Entrada opcional:
    • opt_fields (cadena): lista separada por comas de campos opcionales para incluir
  • Devoluciones: Lista de secciones del proyecto
  1. asana_create_task_story
  • Crear un comentario o una historia sobre una tarea
  • Entrada requerida:
    • task_id (cadena): El ID de la tarea a la que se agregará la historia
    • texto (cadena): El contenido de texto de la historia/comentario
  • Entrada opcional:
    • opt_fields (cadena): lista separada por comas de campos opcionales para incluir
  • Devoluciones: Información de la historia creada
  1. asana_add_task_dependencies
  • Establecer dependencias para una tarea
  • Entrada requerida:
    • task_id (cadena): El ID de la tarea a la que se agregarán dependencias
    • dependencias (matriz de cadenas): Matriz de identificaciones de tareas de las que depende esta tarea
  • Devoluciones: Dependencias de tareas actualizadas
  1. asana_add_task_dependents
  • Establecer dependientes para una tarea (tareas que dependen de esta tarea)
  • Entrada requerida:
    • task_id (cadena): El ID de la tarea a la que se agregarán dependientes
    • dependientes (matriz de cadenas): Matriz de ID de tareas que dependen de esta tarea
  • Devoluciones: Dependientes de tareas actualizados
  1. asana_create_subtask
  • Crear una nueva subtarea para una tarea existente
  • Entrada requerida:
    • parent_task_id (cadena): El ID de la tarea principal bajo la cual se creará la subtarea
    • nombre (cadena): Nombre de la subtarea
  • Entrada opcional:
    • notas (cadena): Descripción de la subtarea
    • due_on (cadena): Fecha de vencimiento en formato AAAA-MM-DD
    • cesionario (cadena): cesionario (puede ser 'yo' o un ID de usuario)
    • opt_fields (cadena): lista separada por comas de campos opcionales para incluir
  • Devuelve: Información de la subtarea creada
  1. asana_get_multiple_tasks_by_gid
  • Obtenga información detallada sobre múltiples tareas por sus GID (máximo 25 tareas)
  • Entrada requerida:
    • task_ids (matriz de cadenas o cadena separada por comas): GID de tareas para recuperar (máximo 25)
  • Entrada opcional:
    • opt_fields (cadena): lista separada por comas de campos opcionales para incluir
  • Devoluciones: Lista de información detallada de la tarea
  1. asana_get_project_status
  • Obtenga una actualización del estado del proyecto
  • Entrada requerida:
    • project_status_gid (cadena): El GID del estado del proyecto a recuperar
  • Entrada opcional:
    • opt_fields (cadena): lista separada por comas de campos opcionales para incluir
  • Devoluciones: Información del estado del proyecto
  1. asana_get_project_statuses
  • Obtener todas las actualizaciones de estado de un proyecto
  • Entrada requerida:
    • project_gid (cadena): El GID del proyecto para el cual se obtendrán los estados
  • Entrada opcional:
    • límite (número): Resultados por página (1-100)
    • desplazamiento (cadena): Token de desplazamiento de paginación
    • opt_fields (cadena): lista separada por comas de campos opcionales para incluir
  • Devoluciones: Lista de actualizaciones del estado del proyecto
  1. asana_create_project_status
  • Crear una nueva actualización de estado para un proyecto
  • Entrada requerida:
    • project_gid (cadena): El GID del proyecto para el que se creará el estado
    • texto (cadena): El contenido de texto de la actualización de estado
  • Entrada opcional:
    • color (cadena): El color del estado (verde, amarillo, rojo)
    • título (cadena): el título de la actualización de estado
    • html_text (cadena): texto con formato HTML para la actualización de estado
    • opt_fields (cadena): lista separada por comas de campos opcionales para incluir
  • Devuelve: Información del estado del proyecto creado
  1. asana_delete_project_status
  • Eliminar una actualización del estado del proyecto
  • Entrada requerida:
    • project_status_gid (cadena): El GID del estado del proyecto que se eliminará
  • Devoluciones: Confirmación de eliminación
  1. asana_set_parent_for_task
  • Establezca el elemento principal de una tarea y posicione la subtarea dentro de las otras subtareas de ese elemento principal
  • Entrada requerida:
    • task_id (cadena): El ID de la tarea en la que se operará
    • datos (objeto):
      • padre (cadena): el nuevo padre de la tarea, o nulo si no hay padre
  • Entrada opcional:
    • insert_after (cadena): una subtarea del padre para insertar la tarea después, o null para insertar al principio de la lista
    • insert_before (cadena): una subtarea del padre para insertar la tarea antes, o null para insertar al final de la lista
    • opt_fields (cadena): lista separada por comas de campos opcionales para incluir
  • Devoluciones: Información de la tarea actualizada
  1. asana_get_tasks_for_tag
  • Obtener tareas para una etiqueta específica
  • Entrada requerida:
    • tag_gid (cadena): El GID de la etiqueta para recuperar tareas
  • Entrada opcional:
    • opt_fields (cadena): lista separada por comas de campos opcionales para incluir
    • opt_pretty (booleano): proporciona la respuesta en un formato 'bonito'
    • límite (entero): El número de objetos que se devolverán por página. El valor debe estar entre 1 y 100.
    • desplazamiento (cadena): un desplazamiento a la siguiente página devuelto por la API.
  • Devuelve: Lista de tareas para la etiqueta especificada
  1. asana_get_tags_for_workspace
  • Obtener etiquetas en un espacio de trabajo
  • Entrada requerida:
    • workspace_gid (cadena): identificador único global para el espacio de trabajo o la organización
  • Entrada opcional:
    • Límite (entero): Resultados por página. El número de objetos que se devolverán por página. El valor debe estar entre 1 y 100.
    • offset (cadena): Token de desplazamiento. Un desplazamiento a la siguiente página devuelto por la API.
    • opt_fields (cadena): lista separada por comas de campos opcionales para incluir
  • Devuelve: Lista de etiquetas en el espacio de trabajo

Indicaciones

  1. task-summary
    • Obtenga un resumen y una actualización del estado de una tarea en función de sus notas, campos personalizados y comentarios
    • Entrada requerida:
      • task_id (cadena): El ID de la tarea para la que se obtendrá el resumen
    • Devoluciones: Un mensaje detallado con instrucciones para generar un resumen de la tarea
  2. task-completeness
    • Analizar si una descripción de tarea contiene todos los detalles necesarios para su finalización.
    • Entrada requerida:
      • task_id (cadena): El ID de la tarea o URL a analizar
    • Devoluciones: Un mensaje detallado con instrucciones para analizar la completitud de la tarea.
  3. create-task
    • Crear una nueva tarea con detalles específicos
    • Entrada requerida:
      • project_name (cadena): El nombre del proyecto de Asana donde se debe crear la tarea
      • título (cadena): el título de la tarea
    • Entrada opcional:
      • notas (cadena): Notas o descripción de la tarea
      • due_date (cadena): Fecha de vencimiento de la tarea (formato AAAA-MM-DD)
    • Devoluciones: Un mensaje detallado con instrucciones para crear una tarea completa

Recursos

  1. Espacios de trabajo - asana://workspace/{workspace_gid}
    • Representación de los espacios de trabajo de Asana como recursos
    • Cada espacio de trabajo se expone como un recurso separado
    • Formato de URI: asana://workspace/{workspace_gid}
    • Devuelve: objeto JSON con detalles del espacio de trabajo que incluyen:
      • name : Nombre del espacio de trabajo (cadena)
      • id : ID global del espacio de trabajo (cadena)
      • type : Tipo de recurso (cadena)
      • is_organization : si el espacio de trabajo es una organización (booleano)
      • email_domains : Lista de dominios de correo electrónico asociados con el espacio de trabajo (string[])
    • Tipo MIME: application/json
  2. Proyectos - asana://project/{project_gid}
    • Recurso de plantilla para recuperar detalles del proyecto por GID
    • Formato URI: asana://project/{project_gid}
    • Devuelve: objeto JSON con detalles del proyecto que incluyen:
      • name : Nombre del proyecto (cadena)
      • id proyecto (cadena)
      • type : Tipo de recurso (cadena)
      • archived : si el proyecto está archivado (booleano)
      • public : si el proyecto es público (booleano)
      • notes : Descripción/notas del proyecto (cadena)
      • color : Color del proyecto (cadena)
      • default_view : Tipo de vista predeterminado (cadena)
      • due_date , due_on , start_on : Información de la fecha del proyecto (cadena)
      • workspace : objeto que contiene información del espacio de trabajo
      • team : Objeto que contiene información del equipo
      • sections : Matriz de objetos de sección en el proyecto
      • custom_fields : Matriz de definiciones de campos personalizados para el proyecto
    • Tipo MIME: application/json

Configuración

  1. Crear una cuenta de Asana :
    • Visita la Asana .
    • Haga clic en "Registrarse".
  2. Recuperar el token de acceso de Asana :
  3. Configurar Claude Desktop : agregue lo siguiente a su claude_desktop_config.json :
    { "mcpServers": { "asana": { "command": "npx", "args": ["-y", "@roychri/mcp-server-asana"], "env": { "ASANA_ACCESS_TOKEN": "your-asana-access-token" } } } }

Si deseas instalar la versión beta (aún no publicada), puedes usar:

  • @roychri/mcp-server-asana@beta

Puede encontrar la versión beta actual, si la hay, en:

  1. https://www.npmjs.com/package/@roychri/mcp-server-asana?activeTab=versions
  2. npm dist-tag ls @roychri/mcp-server-asana

Solución de problemas

Si encuentra errores de permisos:

  1. Asegúrate de que el plan de Asana que tienes permita el acceso a la API
  2. Confirme que el token de acceso y la configuración estén configurados correctamente en claude_desktop_config.json .

Contribuyendo

Clona este repositorio y comienza a hackear.

Pruébelo localmente con el Inspector MCP

Si desea probar sus cambios, puede utilizar el Inspector MCP de la siguiente manera:

npm run inspector

Esto expondrá al cliente al puerto 5173 y al servidor al puerto 3000 .

Si esos puertos ya están siendo utilizados por otra cosa, puedes utilizar:

CLIENT_PORT=5009 SERVER_PORT=3009 npm run inspector

Licencia

Este servidor MCP cuenta con la licencia MIT. Esto significa que puede usar, modificar y distribuir el software libremente, sujeto a los términos y condiciones de la licencia MIT. Para más detalles, consulte el archivo de LICENCIA en el repositorio del proyecto.

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Realice operaciones de Asana desde un cliente MCP como la aplicación de escritorio Claude de Anthropic y muchas más.

  1. Usage
    1. Tools
      1. Prompts
        1. Resources
          1. Setup
            1. Troubleshooting
              1. Contributing
                1. Test it locally with the MCP Inspector
              2. License
                ID: ln1qzdhwmc