Linear

Interaja com a API do Linear para gerenciar issues, projetos e equipes.

Documentação

Servidor MCP Linear

Um servidor MCP para interagir com a API do Linear. Este servidor fornece um conjunto de ferramentas para gerenciar issues, projetos e equipes do Linear por meio do Cline.

Guia de Configuração

1. Configuração do Ambiente

  1. Clone o repositório
  2. Instale as dependências:
    npm install
    
  3. Copie .env.example para .env:
    cp .env.example .env
    

2. Autenticação

O servidor suporta dois métodos de autenticação:

Chave de API (Recomendado)

  1. Vá para as Configurações do Linear
  2. Navegue até a seção "Segurança e acesso"
  3. Encontre a seção "Chaves de API pessoais"
  4. Clique em "Nova chave de API"
  5. Dê um rótulo descritivo à chave (ex.: "Cline MCP")
  6. Copie o token gerado imediatamente
  7. Adicione o token ao seu arquivo .env:
    LINEAR_API_KEY=your_api_key
    

Fluxo OAuth (Alternativa) NÃO IMPLEMENTADO

  1. Crie um aplicativo OAuth em https://linear.app/settings/api/applications
  2. Configure as variáveis de ambiente OAuth em .env:
    LINEAR_CLIENT_ID=your_oauth_client_id
    LINEAR_CLIENT_SECRET=your_oauth_client_secret
    LINEAR_REDIRECT_URI=http://localhost:3000/callback
    

3. Executando o Servidor

  1. Compile o servidor:
    npm run build
    
  2. Inicie o servidor:
    npm start
    

4. Integração com o Cline

  1. Abra o arquivo de configurações MCP do Cline:

    • macOS: ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
    • Windows: %APPDATA%/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
    • Linux: ~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
  2. Adicione a configuração do servidor MCP Linear:

    {
      "mcpServers": {
        "linear": {
          "command": "node",
          "args": ["/path/to/linear-mcp/build/index.js"],
          "env": {
            "LINEAR_API_KEY": "your_personal_access_token"
          },
          "disabled": false,
          "autoApprove": []
        }
      }
    }
    

Ações Disponíveis

O servidor atualmente suporta as seguintes operações:

Gerenciamento de Issues

  • ✅ Criar issues com suporte completo a campos (título, descrição, equipe, projeto, etc.)
  • ✅ Atualizar issues existentes (prioridade, descrição, etc.)
  • ✅ Excluir issues (exclusão única ou em lote)
  • ✅ Pesquisar issues com filtros
  • ✅ Associar issues a projetos
  • ✅ Criar relacionamentos pai/filho entre issues

Gerenciamento de Projetos

  • ✅ Criar projetos com issues associadas
  • ✅ Obter informações do projeto
  • ✅ Associar issues a projetos

Gerenciamento de Equipes

  • ✅ Obter informações da equipe (com estados e detalhes do fluxo de trabalho)
  • ✅ Acessar estados e rótulos da equipe

Autenticação

  • ✅ Autenticação por chave de API
  • ✅ Armazenamento seguro de tokens

Operações em Lote

  • ✅ Criação em lote de issues
  • ✅ Exclusão em lote de issues

Atualizações em Lote (Em Teste)

  • 🚧 Atualizações em lote de issues (processamento paralelo implementado, precisa de testes)

Recursos em Desenvolvimento

Os seguintes recursos estão atualmente em andamento:

Gerenciamento de Issues

  • 🚧 Funcionalidade de comentários (adicionar/editar comentários, encadeamento)
  • 🚧 Filtros de pesquisa complexos
  • 🚧 Suporte a paginação para grandes conjuntos de resultados

Operações de Metadados

  • 🚧 Gerenciamento de rótulos (criar/atualizar/atribuir)
  • 🚧 Gerenciamento de ciclos/marcos

Gerenciamento de Projetos

  • 🚧 Suporte a modelos de projeto
  • 🚧 Operações avançadas de projeto

Autenticação

  • 🚧 Fluxo OAuth com atualização automática de token

Desempenho e Segurança

  • 🚧 Limitação de taxa (rate limiting)
  • 🚧 Registro detalhado (logging)
  • 🚧 Testes de carga e otimização

Desenvolvimento

# Install dependencies
npm install

# Run tests
npm test

# Run integration tests (requires LINEAR_API_KEY)
npm run test:integration

# Build the server
npm run build

# Start the server
npm start

Testes de Integração

Os testes de integração verificam se a autenticação e as chamadas de API funcionam corretamente:

  1. Configure a autenticação (chave de API recomendada para testes)
  2. Execute os testes de integração:
    npm run test:integration
    

Para testes com OAuth:

  1. Configure as credenciais OAuth em .env
  2. Remova .skip dos testes OAuth em src/__tests__/auth.integration.test.ts
  3. Execute os testes de integração