Asana
Interaja com a API do Asana para gerenciar tarefas, projetos e espaços de trabalho.
Documentação
MCP Server for Asana
Esta implementação de servidor Model Context Protocol do Asana permite que você fale com a API do Asana a partir de um cliente MCP, como o Claude Desktop da Anthropic, e muitos outros.
Mais detalhes sobre MCP aqui:
- https://www.anthropic.com/news/model-context-protocol
- https://modelcontextprotocol.io/introduction
- https://github.com/modelcontextprotocol
Variáveis de Ambiente
ASANA_ACCESS_TOKEN: (Obrigatório) Seu token de acesso do AsanaREAD_ONLY_MODE: (Opcional) Defina como 'true' para desabilitar todas as operações de escrita. Neste modo:- As ferramentas que modificam dados do Asana (criar, atualizar, excluir) serão desabilitadas
- O prompt
create-taskserá desabilitado - Apenas operações de leitura estarão disponíveis Isso é útil para testes ou quando você deseja garantir que nenhuma alteração possa ser feita no seu espaço de trabalho do Asana.
Uso
Na ferramenta de IA de sua escolha (ex: Claude Desktop), pergunte algo sobre tarefas, projetos, espaços de trabalho e/ou comentários do Asana. Mencionar a palavra "asana" aumentará a chance de o LLM escolher a ferramenta certa.
Exemplo:
Quantas tarefas asana não concluídas temos em nosso projeto Sprint 30?
Outro exemplo:

Ferramentas
-
asana_list_workspaces- Listar todos os espaços de trabalho disponíveis no Asana
- Entrada opcional:
- opt_fields (string): Lista separada por vírgulas de campos opcionais a incluir
- Retorna: Lista de espaços de trabalho
-
asana_search_projects- Pesquisar projetos no Asana usando correspondência de padrão de nome
- Entrada obrigatória:
- workspace (string): O espaço de trabalho no qual pesquisar
- name_pattern (string): Padrão de expressão regular para corresponder aos nomes dos projetos
- Entrada opcional:
- archived (boolean): Retornar apenas projetos arquivados (padrão: false)
- opt_fields (string): Lista separada por vírgulas de campos opcionais a incluir
- Retorna: Lista de projetos correspondentes
-
asana_search_tasks- Pesquisar tarefas em um espaço de trabalho com opções avançadas de filtro
- Entrada obrigatória:
- workspace (string): O espaço de trabalho no qual pesquisar
- Entrada opcional:
- text (string): Texto para pesquisar em nomes e descrições de tarefas
- resource_subtype (string): Filtrar por subtipo de tarefa (por exemplo, marco)
- completed (boolean): Filtrar por tarefas concluídas
- is_subtask (boolean): Filtrar por subtarefas
- has_attachment (boolean): Filtrar por tarefas com anexos
- is_blocked (boolean): Filtrar por tarefas com dependências incompletas
- is_blocking (boolean): Filtrar por tarefas incompletas com dependentes
- assignee, projects, sections, tags, teams e muitos outros filtros avançados
- sort_by (string): Ordenar por due_date, created_at, completed_at, likes, modified_at (padrão: modified_at)
- sort_ascending (boolean): Ordenar em ordem crescente (padrão: false)
- opt_fields (string): Lista separada por vírgulas de campos opcionais a incluir
- custom_fields (object): Objeto contendo filtros de campos personalizados
- Retorna: Lista de tarefas correspondentes
-
asana_get_task- Obter informações detalhadas sobre uma tarefa específica
- Entrada obrigatória:
- task_id (string): O ID da tarefa a recuperar
- Entrada opcional:
- opt_fields (string): Lista separada por vírgulas de campos opcionais a incluir
- Retorna: Informações detalhadas da tarefa
-
asana_create_task- Criar uma nova tarefa em um projeto
- Entrada obrigatória:
- project_id (string): O projeto no qual criar a tarefa
- name (string): Nome da tarefa
- Entrada opcional:
- notes (string): Descrição da tarefa
- html_notes (string): Descrição da tarefa formatada como HTML
- due_on (string): Data de vencimento no formato AAAA-MM-DD
- assignee (string): Responsável (pode ser 'me' ou um ID de usuário)
- followers (array de strings): Matriz de IDs de usuários para adicionar como seguidores
- parent (string): O ID da tarefa pai sob a qual definir esta tarefa
- projects (array de strings): Matriz de IDs de projetos aos quais adicionar esta tarefa
- resource_subtype (string): O tipo da tarefa (default_task ou milestone)
- custom_fields (object): Objeto mapeando strings de GID de campos personalizados para seus valores
- Retorna: Informações da tarefa criada
-
asana_get_task_stories- Obter comentários e históricos de uma tarefa específica
- Entrada obrigatória:
- task_id (string): O ID da tarefa para obter os históricos
- Entrada opcional:
- opt_fields (string): Lista separada por vírgulas de campos opcionais a incluir
- Retorna: Lista de históricos/comentários da tarefa
-
asana_update_task- Atualizar os detalhes de uma tarefa existente
- Entrada obrigatória:
- task_id (string): O ID da tarefa a atualizar
- Entrada opcional:
- name (string): Novo nome para a tarefa
- notes (string): Nova descrição para a tarefa
- html_notes (string): Descrição da tarefa formatada como HTML (subconjunto de tags HTML suportado)
- due_on (string): Nova data de vencimento no formato AAAA-MM-DD
- assignee (string): Novo responsável (pode ser 'me' ou um ID de usuário)
- followers (array): Matriz de IDs de usuários para adicionar como seguidores
- parent (string): O ID da tarefa pai sob a qual mover esta tarefa
- completed (boolean): Marcar a tarefa como concluída ou não
- resource_subtype (string): O tipo da tarefa (default_task ou milestone)
- custom_fields (object): Objeto mapeando strings de GID de campos personalizados para seus valores
- Retorna: Informações da tarefa atualizada
-
asana_get_project- Obter informações detalhadas sobre um projeto específico
- Entrada obrigatória:
- project_id (string): O ID do projeto a recuperar
- Entrada opcional:
- opt_fields (string): Lista separada por vírgulas de campos opcionais a incluir
- Retorna: Informações detalhadas do projeto
-
asana_get_project_task_counts- Obter o número de tarefas em um projeto
- Entrada obrigatória:
- project_id (string): O ID do projeto para obter contagens de tarefas
- Entrada opcional:
- opt_fields (string): Lista separada por vírgulas de campos opcionais a incluir
- Retorna: Informações de contagem de tarefas
-
asana_get_project_sections- Obter seções em um projeto
- Entrada obrigatória:
- project_id (string): O ID do projeto para obter as seções
- Entrada opcional:
- opt_fields (string): Lista separada por vírgulas de campos opcionais a incluir
- Retorna: Lista de seções do projeto
-
asana_create_task_story- Criar um comentário ou histórico em uma tarefa
- Entrada obrigatória:
- task_id (string): O ID da tarefa à qual adicionar o histórico
- text (string): O conteúdo de texto do histórico/comentário
- Entrada opcional:
- opt_fields (string): Lista separada por vírgulas de campos opcionais a incluir
- Retorna: Informações do histórico criado
-
asana_add_task_dependencies- Definir dependências para uma tarefa
- Entrada obrigatória:
- task_id (string): O ID da tarefa à qual adicionar dependências
- dependencies (array de strings): Matriz de IDs de tarefas das quais esta tarefa depende
- Retorna: Dependências da tarefa atualizadas
-
asana_add_task_dependents- Definir dependentes para uma tarefa (tarefas que dependem desta tarefa)
- Entrada obrigatória:
- task_id (string): O ID da tarefa à qual adicionar dependentes
- dependents (array de strings): Matriz de IDs de tarefas que dependem desta tarefa
- Retorna: Dependentes da tarefa atualizados
-
asana_create_subtask- Criar uma nova subtarefa para uma tarefa existente
- Entrada obrigatória:
- parent_task_id (string): O ID da tarefa pai sob a qual criar a subtarefa
- name (string): Nome da subtarefa
- Entrada opcional:
- notes (string): Descrição da subtarefa
- due_on (string): Data de vencimento no formato AAAA-MM-DD
- assignee (string): Responsável (pode ser 'me' ou um ID de usuário)
- opt_fields (string): Lista separada por vírgulas de campos opcionais a incluir
- Retorna: Informações da subtarefa criada
-
asana_get_multiple_tasks_by_gid- Obter informações detalhadas sobre várias tarefas por seus GIDs (máximo de 25 tarefas)
- Entrada obrigatória:
- task_ids (array de strings ou string separada por vírgulas): GIDs de tarefas a recuperar (máx. 25)
- Entrada opcional:
- opt_fields (string): Lista separada por vírgulas de campos opcionais a incluir
- Retorna: Lista de informações detalhadas das tarefas
-
asana_get_project_status- Obter uma atualização de status do projeto
- Entrada obrigatória:
- project_status_gid (string): O GID do status do projeto a recuperar
- Entrada opcional:
- opt_fields (string): Lista separada por vírgulas de campos opcionais a incluir
- Retorna: Informações do status do projeto
-
asana_get_project_statuses- Obter todas as atualizações de status de um projeto
- Entrada obrigatória:
- project_gid (string): O GID do projeto para obter os status
- Entrada opcional:
- limit (number): Resultados por página (1-100)
- offset (string): Token de deslocamento de paginação
- opt_fields (string): Lista separada por vírgulas de campos opcionais a incluir
- Retorna: Lista de atualizações de status do projeto
-
asana_create_project_status- Criar uma nova atualização de status para um projeto
- Entrada obrigatória:
- project_gid (string): O GID do projeto para o qual criar o status
- text (string): O conteúdo de texto da atualização de status
- Entrada opcional:
- color (string): A cor do status (verde, amarelo, vermelho)
- title (string): O título da atualização de status
- html_text (string): Texto formatado em HTML para a atualização de status
- opt_fields (string): Lista separada por vírgulas de campos opcionais a incluir
- Retorna: Informações do status do projeto criado
-
asana_delete_project_status- Excluir uma atualização de status do projeto
- Entrada obrigatória:
- project_status_gid (string): O GID do status do projeto a excluir
- Retorna: Confirmação de exclusão
-
asana_set_parent_for_task- Definir o pai de uma tarefa e posicionar a subtarefa entre as outras subtarefas desse pai
- Entrada obrigatória:
- task_id (string): O ID da tarefa na qual operar
- data (object):
- parent (string): O novo pai da tarefa, ou null para nenhum pai
- Entrada opcional:
- insert_after (string): Uma subtarefa do pai após a qual inserir a tarefa, ou null para inserir no início da lista
- insert_before (string): Uma subtarefa do pai antes da qual inserir a tarefa, ou null para inserir no final da lista
- opt_fields (string): Lista separada por vírgulas de campos opcionais a incluir
- Retorna: Informações da tarefa atualizada
-
asana_get_tag- Obter informações detalhadas sobre uma etiqueta específica
- Entrada obrigatória:
- tag_gid (string): Identificador global exclusivo da etiqueta
- Entrada opcional:
- opt_fields (string): Lista separada por vírgulas de campos opcionais a incluir
- Retorna: Informações detalhadas da etiqueta
-
asana_get_tags_for_task- Obter as etiquetas de uma tarefa
- Entrada obrigatória:
- task_gid (string): A tarefa na qual operar
- Entrada opcional:
- limit (number): Resultados por página. O número de objetos a retornar por página. O valor deve estar entre 1 e 100.
- offset (string): Token de deslocamento. Um deslocamento para a próxima página retornada pela API.
- opt_fields (string): Lista separada por vírgulas de campos opcionais a incluir
- Retorna: Lista de etiquetas associadas à tarefa
-
asana_get_tasks_for_tag- Obter tarefas para uma etiqueta específica
- Entrada obrigatória:
- tag_gid (string): O GID da etiqueta para recuperar tarefas
- Entrada opcional:
- opt_fields (string): Lista separada por vírgulas de campos opcionais a incluir
- opt_pretty (boolean): Fornece a resposta em um formato 'pretty'
- limit (integer): O número de objetos a retornar por página. O valor deve estar entre 1 e 100.
- offset (string): Um deslocamento para a próxima página retornada pela API.
- Retorna: Lista de tarefas para a etiqueta especificada
-
asana_get_tags_for_workspace- Obter etiquetas em um espaço de trabalho
- Entrada obrigatória:
- workspace_gid (string): Identificador global exclusivo do espaço de trabalho ou organização
- Entrada opcional:
- limit (integer): Resultados por página. O número de objetos a retornar por página. O valor deve estar entre 1 e 100.
- offset (string): Token de deslocamento. Um deslocamento para a próxima página retornada pela API.
- opt_fields (string): Lista separada por vírgulas de campos opcionais a incluir
- Retorna: Lista de etiquetas no espaço de trabalho
-
asana_update_tag- Atualizar uma etiqueta existente
- Entrada obrigatória:
- tag_gid (string): Identificador global exclusivo da etiqueta
- Entrada opcional:
- name (string): Nome da etiqueta
- color (string): Cor da etiqueta. Pode ser uma das: dark-pink, dark-green, dark-blue, dark-red, dark-teal, dark-brown, dark-orange, dark-purple, dark-warm-gray, light-pink, light-green, light-blue, light-red, light-teal, light-brown, light-orange, light-purple, light-warm-gray
- notes (string): Notas sobre a etiqueta
- opt_fields (string): Lista separada por vírgulas de campos opcionais a incluir
- Retorna: Informações da etiqueta atualizada
-
asana_delete_tag- Excluir uma etiqueta
- Entrada obrigatória:
- tag_gid (string): Identificador global exclusivo da etiqueta
- Retorna: Confirmação de exclusão
-
asana_create_tag_for_workspace- Criar uma nova etiqueta em um espaço de trabalho
- Entrada obrigatória:
- workspace_gid (string): Identificador global exclusivo do espaço de trabalho ou organização* name (string): Nome da tag
- Entrada opcional:
- color (string): Cor da tag. Pode ser um dos: dark-pink, dark-green, dark-blue, dark-red, dark-teal, dark-brown, dark-orange, dark-purple, dark-warm-gray, light-pink, light-green, light-blue, light-red, light-teal, light-brown, light-orange, light-purple, light-warm-gray
- notes (string): Notas sobre a tag
- opt_fields (string): Lista separada por vírgulas de campos opcionais a incluir
- Retorna: Informações da tag criada
-
asana_add_tag_to_task- Adicionar uma tag a uma tarefa
- Entrada obrigatória:
- task_gid (string): O GID da tarefa para adicionar a tag
- tag_gid (string): O GID da tag para adicionar à tarefa
- Retorna: Resposta de sucesso
-
asana_remove_tag_from_task- Remover uma tag de uma tarefa
- Entrada obrigatória:
- task_gid (string): O GID da tarefa para remover a tag
- tag_gid (string): O GID da tag para remover da tarefa
- Retorna: Resposta de sucesso
-
asana_add_project_to_task- Adicionar uma tarefa existente a um projeto
- Entrada obrigatória:
- task_id (string): O ID da tarefa para adicionar ao projeto
- project_id (string): O ID do projeto para adicionar a tarefa
- Entrada opcional:
- section (string): O ID da seção para adicionar a tarefa dentro do projeto
- insert_after (string): Um ID de tarefa para inserir esta tarefa depois. No máximo um de insert_before, insert_after ou section deve ser especificado.
- insert_before (string): Um ID de tarefa para inserir esta tarefa antes. No máximo um de insert_before, insert_after ou section deve ser especificado.
- Retorna: Mensagem de sucesso confirmando que a tarefa foi adicionada ao projeto
- Notas: Se nenhum argumento de posicionamento for fornecido, a tarefa será adicionada ao final do projeto
-
asana_remove_project_from_task- Remover uma tarefa de um projeto
- Entrada obrigatória:
- task_id (string): O ID da tarefa para remover do projeto
- project_id (string): O ID do projeto para remover a tarefa
- Retorna: Mensagem de sucesso confirmando que a tarefa foi removida do projeto
- Notas: A tarefa ainda existirá no sistema, mas não estará mais no projeto
-
asana_delete_task- Excluir uma tarefa permanentemente
- Entrada obrigatória:
- task_id (string): O ID da tarefa para excluir
- Retorna: Mensagem de sucesso confirmando que a tarefa foi excluída
- Notas: Esta ação não pode ser desfeita. A tarefa será removida permanentemente.
-
asana_create_project- Criar um novo projeto em um workspace ou equipe
- Entrada obrigatória:
- workspace (string): O GID do workspace para criar o projeto
- name (string): Nome do projeto
- Entrada opcional:
- team (string): O GID da equipe (obrigatório para workspaces de organização)
- notes (string): Descrição ou notas para o projeto
- color (string): Cor do projeto (por exemplo, dark-pink, dark-green, light-blue)
- privacy_setting (string): Configuração de privacidade (public_to_workspace, private_to_team, private)
- default_view (string): Visualização padrão (list, board, calendar, timeline)
- opt_fields (string): Lista separada por vírgulas de campos opcionais a incluir
- Retorna: O objeto do projeto criado
-
asana_update_project- Atualizar os detalhes de um projeto (nome, descrição, etc.)
- Entrada obrigatória:
- project_id (string): O GID do projeto para atualizar
- Entrada opcional:
- name (string): Novo nome para o projeto
- notes (string): Nova descrição em texto simples para o projeto
- html_notes (string): Nova descrição formatada em HTML (deve ser XML Asana válido)
- color (string): Cor do projeto (por exemplo, dark-pink, dark-green, light-blue)
- privacy_setting (string): Configuração de privacidade (public_to_workspace, private_to_team, private)
- opt_fields (string): Lista separada por vírgulas de campos opcionais a incluir
- Retorna: Informações atualizadas do projeto
-
asana_create_section- Criar uma nova seção em um projeto
- Entrada obrigatória:
- project_id (string): O GID do projeto para criar a seção
- name (string): Nome da nova seção
- Entrada opcional:
- opt_fields (string): Lista separada por vírgulas de campos opcionais a incluir
- Retorna: Informações da seção criada
-
asana_update_section- Atualizar uma seção (renomeá-la)
- Entrada obrigatória:
- section_id (string): O GID da seção para atualizar
- name (string): Novo nome para a seção
- Entrada opcional:
- opt_fields (string): Lista separada por vírgulas de campos opcionais a incluir
- Retorna: Informações atualizadas da seção
-
asana_delete_section- Excluir uma seção de um projeto
- Entrada obrigatória:
- section_id (string): O GID da seção para excluir
- Retorna: Confirmação de exclusão
-
asana_add_task_to_section- Mover uma tarefa para uma seção dentro do seu projeto
- Entrada obrigatória:
- section_id (string): O GID da seção para adicionar a tarefa
- task_id (string): O GID da tarefa para mover
- Entrada opcional:
- insert_before (string): Um GID de tarefa para inserir a tarefa antes
- insert_after (string): Um GID de tarefa para inserir a tarefa depois
- Retorna: Confirmação de sucesso
-
asana_get_subtasks- Obter todas as subtarefas de uma determinada tarefa. Retorna uma representação compacta de cada subtarefa.
- Entrada obrigatória:
- task_gid (string): O GID da tarefa pai
- Entrada opcional:
- opt_fields (string): Lista separada por vírgulas de campos opcionais a incluir (por exemplo, 'name,completed,assignee,due_on')
- Retorna: Matriz de objetos de subtarefa
-
asana_get_tasks_for_project- Obter todas as tarefas em um projeto. Use isto em vez de search_tasks quando precisar listar tarefas em um projeto específico. Funciona em planos gratuitos do Asana (ao contrário de search_tasks, que requer premium). Suporta paginação e seleção opcional de campos.
- Entrada obrigatória:
- project_id (string): O GID do projeto para obter tarefas
- Entrada opcional:
- opt_fields (string): Lista separada por vírgulas de campos opcionais a incluir
- limit (number): Resultados por página (1-100)
- offset (string): Token de deslocamento de paginação de uma resposta anterior
- Retorna: Matriz de objetos de tarefa
-
asana_get_my_tasks- Obter tarefas da lista 'My Tasks' do usuário autenticado em um workspace
- Entrada obrigatória:
- workspace (string): O GID do workspace para obter My Tasks
- Entrada opcional:
- opt_fields (string): Lista separada por vírgulas de campos opcionais a incluir
- completed_since (string): Retornar apenas tarefas concluídas desde este horário (ISO 8601). Use 'now' para retornar apenas tarefas incompletas.
- Retorna: Lista de tarefas da lista My Tasks do usuário## Prompts
-
task-summary- Obtenha um resumo e atualização de status de uma tarefa com base em suas notas, campos personalizados e comentários
- Entrada necessária:
- task_id (string): O ID da tarefa para obter o resumo
- Retorna: Um prompt detalhado com instruções para gerar um resumo da tarefa
-
task-completeness- Analise se a descrição de uma tarefa contém todos os detalhes necessários para sua conclusão
- Entrada necessária:
- task_id (string): O ID ou URL da tarefa a ser analisada
- Retorna: Um prompt detalhado com instruções para analisar a completude da tarefa
-
create-task- Crie uma nova tarefa com detalhes especificados
- Entrada necessária:
- project_name (string): O nome do projeto Asana onde a tarefa deve ser criada
- title (string): O título da tarefa
- Entrada opcional:
- notes (string): Notas ou descrição da tarefa
- due_date (string): Data de vencimento da tarefa (formato AAAA-MM-DD)
- Retorna: Um prompt detalhado com instruções para criar uma tarefa abrangente
Recursos
-
Workspaces -
asana://workspace/{workspace_gid}- Representação dos workspaces do Asana como recursos
- Cada workspace é exposto como um recurso separado
- Formato do URI:
asana://workspace/{workspace_gid} - Retorna: Objeto JSON com detalhes do workspace, incluindo:
name: Nome do workspace (string)id: ID global do workspace (string)type: Tipo de recurso (string)is_organization: Se o workspace é uma organização (booleano)email_domains: Lista de domínios de e-mail associados ao workspace (string[])
- Tipo MIME:
application/json
-
Projetos -
asana://project/{project_gid}- Recurso de modelo para recuperar detalhes do projeto por GID
- Formato do URI:
asana://project/{project_gid} - Retorna: Objeto JSON com detalhes do projeto, incluindo:
name: Nome do projeto (string)id: ID global do projeto (string)type: Tipo de recurso (string)archived: Se o projeto está arquivado (booleano)public: Se o projeto é público (booleano)notes: Descrição/notas do projeto (string)color: Cor do projeto (string)default_view: Tipo de visualização padrão (string)due_date,due_on,start_on: Informações de data do projeto (string)workspace: Objeto contendo informações do workspaceteam: Objeto contendo informações da equipesections: Matriz de objetos de seção no projetocustom_fields: Matriz de definições de campos personalizados do projeto
- Tipo MIME:
application/json
Configuração
-
Crie uma conta no Asana:
- Visite o Asana.
- Clique em "Sign up".
-
Obtenha o token de acesso do Asana:
- Você pode gerar um token de acesso pessoal no console de desenvolvedor do Asana.
- Mais detalhes aqui: https://developers.asana.com/docs/personal-access-token
-
Opções de instalação:
Para Claude Desktop:
Adicione o seguinte ao seu
claude_desktop_config.json:{ "mcpServers": { "asana": { "command": "npx", "args": ["-y", "@roychri/mcp-server-asana"], "env": { "ASANA_ACCESS_TOKEN": "your-asana-access-token" } } } }Para Claude Code:
Use o seguinte comando para instalar e configurar o servidor MCP:
claude mcp add asana -e ASANA_ACCESS_TOKEN=<TOKEN> -- npx -y @roychri/mcp-server-asanaSubstitua
<TOKEN>pelo seu token de acesso do Asana.Para Codex CLI:
Adicione o seguinte ao seu
~/.codex/config.toml:[mcp_servers.asana] command = "npx" args = [ "-y", "@roychri/mcp-server-asana" ] env = {ASANA_ACCESS_TOKEN= "<TOKEN>"}Substitua
<TOKEN>pelo seu token de acesso do Asana.
Se você quiser instalar a versão beta (ainda não lançada), pode usar:
@roychri/mcp-server-asana@beta
Você pode encontrar a versão beta atual, se houver, com:
- https://www.npmjs.com/package/@roychri/mcp-server-asana?activeTab=versions
npm dist-tag ls @roychri/mcp-server-asana
Solução de problemas
Se você encontrar erros de permissão:
- Certifique-se de que o plano Asana que você possui permite acesso à API
- Confirme se o token de acesso e a configuração estão definidos corretamente em
claude_desktop_config.json.
Contribuindo
Clone este repositório e comece a codificar.
Teste localmente com o MCP Inspector
Se você quiser testar suas alterações, pode usar o MCP Inspector assim:
npm run inspector
Isso exporá o cliente na porta 5173 e o servidor na porta 3000.
Se essas portas já estiverem em uso por outra coisa, você pode usar:
CLIENT_PORT=5009 SERVER_PORT=3009 npm run inspector
Licença
Este servidor MCP é licenciado sob a Licença MIT. Isso significa que você é livre para usar, modificar e distribuir o software, sujeito aos termos e condições da Licença MIT. Para mais detalhes, consulte o arquivo LICENSE no repositório do projeto.